IP Library › Granted Patent US 11,921,667
Granted Patent B2
US 11,921,667 · App. 18/077,362 · Granted Mar 5, 2024

Reconfigurable computing chip

Inventor: Yang Huang (Beijing, CN)
Assignee: BEIJING ESWIN COMPUTING TECHNOLOGY CO., LTD.
G06F15/7892G06F12/0842
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,921,667
App. No.
18/077,362
Granted
Mar 5, 2024
Kind
B2
Abstract

A reconfigurable computing chip, a method for configuring the reconfigurable computing chip, a method for convolution process, a device for convolution process, a computer readable storage medium and a computer program product are provided. The reconfigurable computing chip comprises a processing module including multiple processing cores sharing a first cache, wherein each of the plurality of processing cores includes multiple processing elements sharing a second cache, each of the plurality of processing elements monopolizes a third cache corresponding to said processing element, wherein the reconfigurable computing chip is dynamically configured to perform convolution process on an input feature map and a convolution kernel to obtain an output feature map, and each of the multiple processing elements is dynamically configured to perform a multiplication-plus-addition process on a part of the input feature map and a part of the convolution kernel to obtain a part of the output feature map.

Claims (57)

1. A reconfigurable computing chip, comprising:

a processing module comprising a plurality of processing cores sharing a first cache, wherein each of the plurality of processing cores includes a plurality of processing elements sharing a second cache, and each of the plurality of processing elements monopolizes a third cache corresponding to said processing element,

wherein the reconfigurable computing chip is dynamically configured to perform a convolution process on an input feature map and a convolution kernel to obtain an output feature map, and each of the plurality of processing elements is dynamically configured to perform a multiplication-plus-addition process on a part of the input feature map and a part of the convolution kernel to obtain a part of the output feature map.

2. The reconfigurable computing chip of claim 1 , wherein the first cache includes L2 cache and/or L3 cache, the second cache includes L1 cache, and the third cache includes L0 cache.

3. The reconfigurable computing chip of claim 1 , wherein computation paths and/or data paths of the reconfigurable computing chip are reconfigured to perform the convolution process, based at least in part on individual dimensions of the input feature map, the convolution kernel, and the output feature map.

4. The reconfigurable computing chip of claim 1 , wherein each of the plurality of processing elements is dynamically configured to perform the multiplication-plus-addition process on a corresponding part of the input feature map and a corresponding part of the convolution kernel, based at least in part on a mapping relationship from the convolution process to the data paths and/or the computation paths of the reconfigurable computing chip.

5. A method for configuring a reconfigurable computing chip, comprising:

determining search spaces corresponding to individual dimensions, based on multiple dimensions of an input feature map, multiple dimensions of a convolution kernel, and multiple dimensions of an output feature map, wherein the output feature map is a convolution result of performing a convolution process on the input feature map and the convolution kernel;

determining a mapping relationship from the convolution process to data paths and/or computation paths of the reconfigurable computing chip, based on hardware parameters of the reconfigurable computing chip and the search spaces corresponding to individual dimensions; and

configuring the reconfigurable computing chip based on the mapping relationship.

6. The method of claim 5 , wherein the reconfigurable computing chip comprises a processing module including a plurality of processing cores sharing a first cache, wherein each of the plurality of processing cores includes a plurality of processing elements sharing a second cache, and each of the plurality of processing elements monopolizes a third cache corresponding to said processing element.

7. The method of claim 5 , wherein the determining search spaces corresponding to individual dimensions, based on multiple dimensions of an input feature map, multiple dimensions of a convolution kernel, and multiple dimensions of an output feature map further comprises:

determining a number of dimension factors corresponding to individual dimensions of the input feature map, the convolution kernel, and the output feature map, based on storage architecture and processing architecture of the reconfigurable computing chip; and

determining search spaces corresponding to individual dimensions, based on the individual dimensions and the number of dimension factors corresponding to the individual dimensions.

8. The method of claim 5 , wherein the determining a mapping relationship from the convolution process to data paths and/or computation paths of the reconfigurable computing chip, based on hardware parameters of the reconfigurable computing chip and the search spaces corresponding to individual dimensions further comprises:

determining sets of private constraints corresponding to individual dimensions, based on the hardware parameters of the reconfigurable computing chip;

determining private search spaces corresponding to individual dimensions, based on the sets of private constraints and the search spaces corresponding to the individual dimensions; and

determining the mapping relationship from the convolution process to the data paths and/or the computation paths of the reconfigurable computing chip, based on the private search spaces corresponding to the individual dimensions.

9. The method of claim 8 , wherein the determining the mapping relationship from the convolution process to the data paths and/or the computation paths of the reconfigurable computing chip, based on the private search spaces corresponding to the individual dimensions further comprises:

determining a set of joint constraints corresponding to at least two of the individual dimensions, based on the hardware parameters of the reconfigurable computing chip;

determining a global search space, based on the set of joint constraints and the private search spaces corresponding to individual dimensions, the global search space corresponding to all operable data paths and/or computation paths on which the convolution process is performed by the reconfigurable computing chip; and

determining the mapping relationship from the convolution process to the data paths and/or the computation paths of the reconfigurable computation chip, based on the global search space.

10. The method of claim 9 , wherein the determining the mapping relationship from the convolution process to the data paths and/or the computation paths of the reconfigurable computation chip, based on the global search space further comprises:

determining a score corresponding to all operable data paths and/or computation paths, based on the global search space, the score being a weighted sum of utilization rate, power consumption, and computing speed of individual processing elements of the reconfigurable computing chip in a case that the reconfigurable computing chip performs convolution process according to the operable data paths and/or computation paths; and

determining the mapping relationship from the convolution process to the computation paths of the reconfigurable computing chip, based on the score corresponding to all of the operable data paths and/or computation paths.

11. The method of claim 6 , wherein the configuring the reconfigurable computing chip based on the mapping relationship further comprises:

adjusting dimension factors corresponding to a first sub-computation path and a second sub-computation path, based on the mapping relationship,

wherein the first sub-computation path corresponds to a sub-computation path associated with the processing element of the reconfigurable computing chip acquiring data from the third cache, and the second sub-computation path corresponds to a sub-computation path corresponding to the processing element of the reconfigurable computing chip acquiring data from the second cache.

12. The method of claim 6 , wherein the configuring the reconfigurable computing chip based on the mapping relationship further comprises:

determining data reuse rates corresponding to individual ones in a set of parallel subtask allocation schemes, based on the set of parallel subtask allocation schemes corresponding to the mapping relationship;

determining a parallel subtask allocation scheme corresponding to the mapping relationship, based on the data reuse rates; and

allocating data to be computed by the processing element of the reconfigurable computing chip, based on the parallel subtask allocation scheme corresponding to the mapping relationship.

13. A convolution processing device, comprises:

one or more processors; and

one or more memories, in which computer readable codes are stored, which when executed by the one or more processors, cause the one or more processors to perform the method of claim 5 .

14. The device of claim 13 , wherein the reconfigurable computing chip comprises a processing module including a plurality of processing cores sharing a first cache, wherein each of the plurality of processing cores includes a plurality of processing elements sharing a second cache, and each of the plurality of processing elements monopolizes a third cache corresponding to said processing element.

15. The device of claim 13 , wherein the determining search spaces corresponding to individual dimensions, based on multiple dimensions of an input feature map, multiple dimensions of a convolution kernel, and multiple dimensions of an output feature map further comprises:

determining a number of dimension factors corresponding to individual dimensions of the input feature map, the convolution kernel, and the output feature map, based on storage architecture and processing architecture of the reconfigurable computing chip; and

determining search spaces corresponding to individual dimensions, based on the individual dimensions and the number of dimension factors corresponding to the individual dimensions.

16. The device of claim 13 , wherein the determining a mapping relationship from the convolution process to data paths and/or computation paths of the reconfigurable computing chip, based on hardware parameters of the reconfigurable computing chip and the search spaces corresponding to individual dimensions further comprises:

determining sets of private constraints corresponding to individual dimensions, based on the hardware parameters of the reconfigurable computing chip;

determining private search spaces corresponding to individual dimensions, based on the sets of private constraints and the search spaces corresponding to the individual dimensions; and

determining the mapping relationship from the convolution process to the data paths and/or the computation paths of the reconfigurable computing chip, based on the private search spaces corresponding to the individual dimensions.

17. The device of claim 16 , wherein the determining the mapping relationship from the convolution process to the data paths and/or the computation paths of the reconfigurable computing chip, based on the private search spaces corresponding to the individual dimensions further comprises:

determining a set of joint constraints corresponding to at least two of the individual dimensions, based on the hardware parameters of the reconfigurable computing chip;

determining a global search space, based on the set of joint constraints and the private search spaces corresponding to individual dimensions, the global search space corresponding to all operable data paths and/or computation paths on which the convolution process is performed by the reconfigurable computing chip; and

determining the mapping relationship from the convolution process to the data paths and/or the computation paths of the reconfigurable computation chip, based on the global search space.

18. The device of claim 17 , wherein the determining the mapping relationship from the convolution process to the data paths and/or the computation paths of the reconfigurable computation chip, based on the global search space further comprises:

determining a score corresponding to all operable data paths and/or computation paths, based on the global search space, the score being a weighted sum of utilization rate, power consumption, and computing speed of individual processing elements of the reconfigurable computing chip in a case that the reconfigurable computing chip performs convolution process according to the operable data paths and/or computation paths; and

determining the mapping relationship from the convolution process to the computation paths of the reconfigurable computing chip, based on the score corresponding to all of the operable data paths and/or computation paths.

19. The device of claim 15 , wherein the configuring the reconfigurable computing chip based on the mapping relationship further comprises:

adjusting dimension factors corresponding to a first sub-computation path and a second sub-computation path, based on the mapping relationship,

wherein the first sub-computation path corresponds to a sub-computation path associated with the processing element of the reconfigurable computing chip acquiring data from the third cache, and the second sub-computation path corresponds to a sub-computation path corresponding to the processing element of the reconfigurable computing chip acquiring data from the second cache.

20. The device of claim 15 , wherein the configuring the reconfigurable computing chip based on the mapping relationship further comprises:

determining data reuse rates corresponding to individual ones in a set of parallel subtask allocation schemes, based on the set of parallel subtask allocation schemes corresponding to the mapping relationship;

determining a parallel subtask allocation scheme corresponding to the mapping relationship, based on the data reuse rates; and

allocating data to be computed by the processing element of the reconfigurable computing chip, based on the parallel subtask allocation scheme corresponding to the mapping relationship.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2022
From: HUANG, YANG
To: BEIJING ESWIN COMPUTING TECHNOLOGY CO., LTD.
Reel/Frame 062026/0066 →
Priority Claims (1)
CN 202111497267.2 · Dec 9, 2021 · national
Continuity (1)
Related Publication 20230185761A1 · Jun 15, 2023