IP Library Granted Patent US 10,146,738
Granted Patent B2
US 10,146,738 · App. 15/396,511 · Granted Dec 4, 2018

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

Inventors: Eriko Nurvitadhi (Hillsboro, OR); Deborah Marr (Portland, OR)
Assignee: Intel Corporation
G06F15/8069G06F9/3001G06F9/30036G06F17/16G11C7/1072G11C7/1075
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 10,146,738
App. No.
15/396,511
Granted
Dec 4, 2018
Kind
B2
Abstract

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.

Claims (38)

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.

Assignments (3)
SECURITY INTEREST Recorded Sep 12, 2025
From: ALTERA CORPORATION
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 073431/0309 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2025
From: INTEL CORPORATION
To: ALTERA CORPORATION
Reel/Frame 072704/0307 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2017
From: NURVITADHI, ERIKO; MARR, DEBORAH
To: INTEL CORPORATION
Reel/Frame 041513/0019 →
Continuity (1)
Related Publication 20180189234A1 · Jul 5, 2018
Cited By (20)
US 12,204,487 US 12,210,477 US 12,217,053 US 12,242,414 US 12,293,431 US 12,314,259 US 12,321,310 US 12,361,600 US 12,386,779 US 12,406,175 US 12,411,695 US 12,493,922 US 12,554,674 US 12,561,276 US 12,561,277 US 12,572,997 US 12,670,121 US 12,675,434 US 12,688,146 US 12,711,536