Spatial locality transform of matrices
US-2020160226-A1 · May 21, 2020 · US
US11734007B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11734007-B2 |
| Application number | US-202217730058-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 26, 2022 |
| Priority date | Jul 1, 2020 |
| Publication date | Aug 22, 2023 |
| Grant date | Aug 22, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A system parses a very long instruction word (VLIW) to obtain an execution parameter. The system obtains a first sliding window width count, a first sliding window height count, a first feature map width count, and a first feature map height count that correspond to first target data. In accordance with a determination that the first sliding window width count falls within the sliding window width range, the first sliding window height count falls within the sliding window height range, (the first feature map width count falls within the feature map width range, and the first feature map height count falls within the feature map height range, the system determines an offset of the first target data. The system also obtains a starting address of the first target data, and adds the starting address to the offset to obtain a first target address of the first target data.
Opening claim text (preview).
What is claimed is: 1. A method for generating an address for a deep learning processor, comprising: parsing a very long instruction word (VLIW) to obtain an execution parameter: determining a sliding window width range, a sliding window width stride, a sliding window height range, a sliding window height stride, a feature map width range, and a feature map height range from the execution parameter; in accordance with a determination that a depth count corresponding to a first target data does not fall within a depth count range, obtaining a first sliding window width count, a first sliding window height count, a first feature map width count, and a first feature map height count corresponding to the first target data; in accordance with a determination that: (i) the first sliding window width count falls within the sliding window width range, (ii) the first sliding window height count falls within the sliding window height range, (iii) the first feature map width count falls within the feature map width range, and (iv) the first feature map height count falls within the feature map height range, determining an offset of the first target data according to the first sliding window width count, the sliding window width stride, the first sliding window height count, the sliding window height stride, the first feature map width count, and the first feature map height count; obtaining a starting address of the first target data; and adding the starting address to the offset, to obtain a first target address of the first target data. 2. The method according to claim 1 , wherein determining the offset of the first target data includes: adding the first sliding window width count and the sliding window width stride to obtain a second sliding window width count; adding the first sliding window height count and the sliding window height stride to obtain a second sliding window height count; adding the second sliding window width count and the first feature map width count to obtain a width count; adding the second sliding window height count and the first feature map height count to obtain a height count; and adding (i) a product result of the height count and a row gap coefficient and (ii) a product result of the width count and a column gap coefficient, to obtain the offset of the first target data. 3. The method according to claim 1 , wherein the obtaining the starting address of the first target data comprises: obtaining a base address corresponding to the first target data, wherein the base address is a configuration parameter obtained by parsing the VLIW; obtaining a slice count and a batch count that correspond to the first target data; adding a product result of the slice count and a slice address increment to a product result of the batch count and a batch address increment, to obtain a total address increment, wherein both the slice address increment and the batch address increment are configuration parameters obtained by parsing the VLIW; and adding the total address increment to the base address, to obtain the start address of the first target data. 4. The method according to claim 1 , further comprising: in accordance with a determination that the depth count corresponding to the first target data does not fall within the depth count range, performing a carry operation on the first sliding window width count and performing reset processing on the depth count. 5. The method according to claim 1 , further comprising: determining a feature map width stride from the execution parameter; and in accordance with a determination that the first sliding window width count does not fall within the sliding window width range and the first sliding window height count falls within the sliding window height range, performing a carry operation on the first sliding window height count and performing reset processing on the first sliding window width count; or in accordance with a determination that the first sliding window width count does not fall within the sliding window width range and the first sliding window height count does not fall within the sliding window height range, performing a carry operation on the first feature map width count and performing reset processing on the first sliding window width count, the first sliding window height count, and the depth count, wherein performing the carry operation on the first feature map width count comprises adding the first feature map width count and the feature map width stride to obtain a second feature map width count. 6. The method according to claim 1 , further comprising: determining a feature map height stride from the execution parameter; and in accordance with a determination that the first feature map width count does not fall within the feature map width range, performing reset processing on the first feature map width count; in accordance with a determination that the first feature map height count does not fall within the feature map height range, performing a carry operation on the first feature map height count and performing reset processing on the first feature map height count, wherein performing the carry operation on the first feature map height count comprises adding the first feature map height count and the feature map height stride to obtain a second feature map height count; or in accordance with a determination that the first feature map height count does not fall within the feature map height range, performing a carry operation on a slice count and performing reset processing on the first sliding window width count, the first sliding window height count, the first feature map width count, the first feature map height count, and the depth count. 7. The method according to claim 1 , further comprising: in accordance with a determination that the slice count does not fall within a maximum slice value range: performing a carry operation on a batch count; and performing reset processing on a slice count, the first sliding window width count, the first sliding window height count, the first feature map width count, the first feature map height count, and the depth count, wherein the maximum slice value range is determined according to a tensor depth value and vector parallelism that correspond to the first target data; or in accordance with a determination that the batch count is greater than or equal to a maximum batch value, performing reset processing on the batch count, the slice count, the first sliding window width count, the first sliding window height count, the first feature map width count, the first feature map height count, and the depth count, wherein the maximum batch value is a configuration parameter obtained by parsing the VLIW. 8. The method according to claim 1 , further comprising: after the adding the start address and the offset to obtain a first target address of the first target data: reading the first target data through a first data channel based on the first target address; and sending the first target data to an arithmetic logical unit through a second data channel. 9. The method according to claim 8 , further comprising: obtaining a second target address corresponding to second target data, wherein the second target address is a physical address adjacent to the first target address, and the obtaining includes reading the second target data through a third data channel based on the second target address; and sending the second target data to the arithmetic logical unit through a fourth data channel. 10. The method according to claim 8 , further comprising: obtaining a second target address corresponding to second target data, wherein the second target address is a physical address adjacent t
Decoding the operand specifier, e.g. specifier format · CPC title
Condition code generation, e.g. Carry, Zero flag · CPC title
of variable length instructions · CPC title
Indexed addressing · CPC title
with multidimensional access, e.g. row/column, matrix · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.