Processor cluster address generation

US11934308B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11934308-B2
Application numberUS-202017035869-A
CountryUS
Kind codeB2
Filing dateSep 29, 2020
Priority dateApr 1, 2019
Publication dateMar 19, 2024
Grant dateMar 19, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques for data manipulation using processor cluster address generation are disclosed. One or more processor clusters capable of executing software-initiated work requests are accessed. A plurality of dimensions from a tensor is flattened into a single dimension. A work request address field is parsed, where the address field contains unique address space descriptors for each of the plurality of dimensions, along with a common address space descriptor. A direct memory access (DMA) engine coupled to the one or more processor clusters is configured. Addresses are generated based on the unique address space descriptors and the common address space descriptor. The plurality of dimensions can be summed to generate a single address. Memory is accessed using two or more of the addresses that were generated. The addresses are used to enable DMA access.

First claim

Opening claim text (preview).

What is claimed is: 1. A processor-implemented method for data manipulation comprising: accessing one or more processor clusters capable of executing software-initiated work requests; flattening a tensor having a plurality of dimensions into a single dimension; parsing a work request address field, wherein the address field contains unique address space descriptors for each of the plurality of dimensions of the tensor along with a common address space descriptor; generating addresses, based on the unique address space descriptors and the common address space descriptor; accessing memory, using two or more of the addresses that were generated, at the respective locations in memory specified by the two or more addresses; and performing, by the one or more processor clusters, one or more computer operations on data at the accessed respective locations in memory specified by the two or more addresses. 2. The method of claim 1 further comprising configuring a direct memory access (DMA) engine coupled to the one or more processor clusters. 3. The method of claim 2 further comprising jumping an address offset within a flattened dimensional space based on the flattening. 4. The method of claim 3 wherein the address offset is based on a DMA dimension. 5. The method of claim 3 further comprising jumping a second address offset within the flattened dimensional space. 6. The method of claim 5 wherein the second address offset is based on a second DMA dimension. 7. The method of claim 2 wherein the addresses are used to enable DMA access. 8. The method of claim 1 further comprising summing across the plurality of dimensions to generate a single address. 9. The method of claim 1 wherein the plurality of dimensions includes four dimensions. 10. The method of claim 9 wherein the plurality of dimensions does not include channels. 11. The method of claim 10 further comprising summing across channels as part of a convolution operation. 12. The method of claim 1 further comprising using five dimensions to read results of the flattening. 13. The method of claim 12 wherein the results of the flattening comprise a two-dimensional object. 14. The method of claim 12 wherein the five dimensions include height×width within a first dimension. 15. The method of claim 14 wherein channels comprise a second dimension. 16. The method of claim 15 wherein the channels comprise RGB information. 17. The method of claim 15 wherein batch size comprises a third dimension. 18. The method of claim 1 wherein the generating comprises establishing five programming loops to accomplish five-dimensional (5-D) address generation. 19. The method of claim 18 wherein the 5-D address generation enables a convolution to be performed on a matrix multiply engine. 20. The method of claim 18 wherein the 5-D address is a portion of a larger dimensional address. 21. The method of claim 18 wherein an innermost dimension is defined by hardware. 22. A computer program product embodied in a non-transitory computer readable medium for data manipulation, the computer program product comprising code which causes one or more processors to perform operations of: accessing one or more processor clusters capable of executing software-initiated work requests; flattening a tensor having a plurality of dimensions into a single dimension; parsing a work request address field, wherein the address field contains unique address space descriptors for each of the plurality of dimensions of the tensor along with a common address space descriptor; generating addresses, based on the unique address space descriptors and the common address space descriptor; accessing memory, using two or more of the addresses that were generated, at the respective locations in memory specified by the two or more addresses; and providing, to the one or more processor clusters, data at the accessed respective locations in memory specified by the two or more addresses. 23. A computer system for data manipulation comprising: a memory which stores instructions; one or more processors coupled to the memory wherein the one or more processors, when executing the instructions which are stored, are configured to: access one or more processor clusters capable of executing software-initiated work requests; flatten a tensor having a plurality of dimensions into a single dimension; parse a work request address field, wherein the address field contains unique address space descriptors for each of the plurality of dimensions of the tensor along with a common address space descriptor; generate addresses, based on the unique address space descriptors and the common address space descriptor; access memory, using two or more of the addresses that were generated, at the respective locations in memory specified by the two or more addresses; and provide, to the one or more processor clusters, data at the accessed respective locations in memory specified by the two or more addresses.

Assignees

Inventors

Classifications

  • Learning methods · CPC title

  • Combinations of networks · CPC title

  • Convolutional networks [CNN, ConvNet] · CPC title

  • Configuration or reconfiguration · CPC title

  • G06F13/28Primary

    using burst mode transfer, e.g. direct memory access {DMA}, cycle steal (G06F13/32 takes precedence) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11934308B2 cover?
Techniques for data manipulation using processor cluster address generation are disclosed. One or more processor clusters capable of executing software-initiated work requests are accessed. A plurality of dimensions from a tensor is flattened into a single dimension. A work request address field is parsed, where the address field contains unique address space descriptors for each of the plurali…
Who is the assignee on this patent?
Wave Computing Inc
What technology area does this patent fall under?
Primary CPC classification G06F12/0646. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 19 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).