Hardware accelerator architecture for processing very-sparse and hyper-sparse matrix data

US10146738B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10146738-B2
Application numberUS-201615396511-A
CountryUS
Kind codeB2
Filing dateDec 31, 2016
Priority dateDec 31, 2016
Publication dateDec 4, 2018
Grant dateDec 4, 2018

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.

An accelerator architecture for processing very-sparse and hyper-sparse matrix data is disclosed. A hardware accelerator comprises one or more tiles, each including a plurality of processing elements (PEs) and a data management unit (DMU). The PEs are to perform matrix operations involving very- or hyper-sparse matrices that are stored by a memory. The DMU is to provide the plurality of PEs access to the memory via an interface that is optimized to provide low-latency, parallel, random accesses to the memory. The PEs, via the DMU, perform the matrix operations by, issuing random access read requests for values of the one or more matrices, issuing random access read requests for values of one or more vectors serving as a second operand, and issuing random access write requests for values of one or more vectors serving as a result.

First claim

Opening claim text (preview).

What is claimed is: 1. A hardware accelerator comprising: one or more tiles, wherein each tile includes: a plurality of processing elements (PEs) to perform matrix operations involving, as a first operand, one or more very- or hyper-sparse matrices that are stored by a memory; and a data management unit (DMU) to provide the plurality of PEs access to the memory, the memory to be coupled with the hardware accelerator via an interface that is optimized to provide low-latency, parallel, random accesses to data; wherein the plurality of PEs, via the DMU, perform the matrix operations by, issuing a first set of random access read requests for values of the one or more matrices after identifying locations of the values by issuing random access read requests for pointer values; issuing a second set of random access read requests for values of a first set of one or more vectors serving as a second operand; and issuing a third set of random access write requests for values of a second set of one or more vectors serving as a result. 2. The hardware accelerator of claim 1 , wherein the DMU comprises a cache to store data returned responsive to the issued first set of random access read requests for values of the one or more matrices. 3. The hardware accelerator of claim 1 , wherein the memory is a system memory also utilized by a hardware processor. 4. The hardware accelerator of claim 1 , wherein the hardware accelerator is to perform the matrix operations responsive to an offload of one or more tasks issued by hardware processor. 5. The hardware accelerator of claim 1 , wherein the one or more matrices are stored in a compressed format. 6. The hardware accelerator of claim 1 , wherein the matrix operations include multiplication operations. 7. The hardware accelerator of claim 1 , wherein the matrix operations include scale and update operations, multiplication operations, and dot product operations. 8. A method in a hardware accelerator for performing matrix operations with very-sparse or hyper-sparse matrices comprising: issuing, by one or more processing elements (PEs) of a plurality of PEs of one or more tiles, a first set of random access read requests via one or more data management units (DMUs) to a memory for values of one or more very-sparse or hyper-sparse matrices after identifying locations of the values by issuing random access read requests for pointer values, wherein the one or more DMUs access the memory via an interface that is optimized to provide low-latency, parallel, random accesses to data; issuing, by the one or more PEs via the one or more DMUs, a second set of random access read requests for values of a first set of one or more vectors serving as an operand; and issuing, by the one or more PEs via the one or more DMUs, a third set of random access write requests for values of a second set of one or more vectors serving as a result. 9. The method of claim 8 , wherein the DMU comprises a cache to store data returned responsive to the issued first set of random access read requests for values of the one or more matrices. 10. The method of claim 8 , wherein the memory is a system memory also utilized by a hardware processor. 11. The method of claim 8 , wherein the issuing the first set of requests, second set of requests, and third set of requests occurs responsive to an offload of one or more tasks by a hardware processor to the hardware accelerator. 12. The method of claim 8 , wherein the one or more matrices are stored in a compressed format. 13. The method of claim 8 , wherein the matrix operations include multiplication operations. 14. The method of claim 8 , wherein the matrix operations include scale and update operations, multiplication operations, and dot product operations. 15. A system comprising: a memory; one or more tiles, wherein each tile includes: a plurality of processing elements (PEs) to perform matrix operations involving, as a first operand, one or more very- or hyper-sparse matrices that are stored by the memory; and a data management unit (DMU) to provide the plurality of PEs access to the memory, the memory coupled with the hardware accelerator via an interface that is optimized to provide low-latency, parallel, random accesses to data; wherein the plurality of PEs, via the DMU, perform the matrix operations by, issuing a first set of random access read requests for values of the one or more matrices after identifying locations of the values by issuing random access read requests for pointer values; issuing a second set of random access read requests for values of a first set of one or more vectors serving as a second operand; and issuing a third set of random access write requests for values of a second set of one or more vectors serving as a result. 16. The system of claim 15 , wherein the DMU comprises a cache to store data returned responsive to the issued first set of random access read requests for values of the one or more matrices. 17. The system of claim 15 , wherein the memory is a system memory also utilized by a hardware processor. 18. The system of claim 15 , wherein the system is to perform the matrix operations responsive to an offload of one or more tasks issued by a hardware processor. 19. The system of claim 15 , wherein the one or more matrices are stored in a compressed format. 20. The system of claim 15 , wherein the matrix operations include scale and update operations, multiplication operations, and dot product operations.

Assignees

Inventors

Classifications

  • for multiport memories each having random access ports and serial ports, e.g. video RAM · CPC title

  • G06F9/3001Primary

    Arithmetic instructions · CPC title

  • G06F17/16Primary

    Matrix or vector computation {, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization (matrix transposition G06F7/78)} · CPC title

  • using a cache · CPC title

  • for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories · 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 US10146738B2 cover?
An accelerator architecture for processing very-sparse and hyper-sparse matrix data is disclosed. A hardware accelerator comprises one or more tiles, each including a plurality of processing elements (PEs) and a data management unit (DMU). The PEs are to perform matrix operations involving very- or hyper-sparse matrices that are stored by a memory. The DMU is to provide the plurality of PEs acc…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F9/3001. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 04 2018 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).