IP Library › Granted Patent US 11,226,914
Granted Patent B2
US 11,226,914 · App. 16/595,452 · Granted Jan 18, 2022

Heterogeneous accelerator for highly efficient learning systems

Inventors: Krishna T. Malladi (San Jose, CA); Hongzhong Zheng (Los Gatos, CA)
G06F13/28G06F9/445G06F9/4806G06F2015/768
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,226,914
App. No.
16/595,452
Granted
Jan 18, 2022
Kind
B2
Abstract

An apparatus may include a heterogeneous computing environment that may be controlled, at least in part, by a task scheduler in which the heterogeneous computing environment may include a processing unit having fixed logical circuits configured to execute instructions; a reprogrammable processing unit having reprogrammable logical circuits configured to execute instructions that include instructions to control processing-in-memory functionality; and a stack of high-bandwidth memory dies in which each may be configured to store data and to provide processing-in-memory functionality controllable by the reprogrammable processing unit such that the reprogrammable processing unit is at least partially stacked with the high-bandwidth memory dies. The task scheduler may be configured to schedule computational tasks between the processing unit, and the reprogrammable processing unit.

Claims (44)

1. An apparatus, comprising:

a computing environment controlled, at least in part, by a task scheduler, the computing environment comprising:

the task scheduler;

a processing unit having logical circuits configured to execute instructions;

a reprogrammable processing unit having reprogrammable logical circuits configured to execute instructions that include instructions to control processing-in-memory functionality; and

at least one high-bandwidth memory die, configured to provide processing-in-memory functionality controllable by the reprogrammable processing unit;

wherein the task scheduler is configured to schedule a first portion of a computational task for the processing unit and a second portion of the computational task for the reprogrammable processing unit, and

wherein the reprogrammable processing unit is further configured to determine the occurrence of a triggering event and copy data for the second portion of the computational task, based on the triggering event, from central memory to the high-bandwidth memory die, wherein the triggering event is based on the first portion of the computational task.

2. The apparatus of claim 1 , wherein the processing unit comprises a graphical processing unit.

3. The apparatus of claim 1 , wherein the processing unit comprises a register memory configured to stage data accesses from the high-bandwidth memory die.

4. The apparatus of claim 1 , wherein the task scheduler is configured to cause the processing unit to execute a first portion of a task, and the reprogrammable processing unit to execute a second portion of the task, wherein the processing unit is configured to pause execution of the task, and wait to offload execution of the task to the reprogrammable processing unit based, at least in part, upon a flag based synchronization protocol.

5. The apparatus of claim 4 , wherein the processing unit is configured to poll the reprogrammable processing unit to determine if the reprogrammable processing unit is ready to execute the task.

6. The apparatus of claim 4 , wherein the task scheduler is further configured to inform the processing unit that the reprogrammable processing unit is ready to execute the task.

7. An apparatus, comprising:

a computing environment controlled, at least in part, by a central processing unit, the computing environment comprising:

the central processing unit configured to assign a first portion of a computational task to a fixed processing unit, and a second portion of the computational task to a reprogrammable processing unit;

the fixed processing unit having logical circuits configured to execute instructions;

the reprogrammable processing unit having reprogrammable logical circuits configured to execute instructions that include instructions to control processing-in-memory functionality;

at least one high-bandwidth memory die configured to provide processing-in-memory functionality controllable by the reprogrammable processing unit; and

a central memory comprising a buffer portion reserved for the fixed processing unit, and a buffer portion reserved for the reprogrammable processing unit;

wherein the reprogrammable processing unit is configured to copy data from the central memory to the high-bandwidth memory die to execute the second portion of the computational task upon the data, and

wherein the reprogrammable processing unit is further configured to determine the occurrence of a triggering event and copy data for the second portion of the computational task, based on the triggering event, from central memory to the high-bandwidth memory die, wherein the triggering event is based on the first portion of the computational task.

8. The apparatus of claim 7 , wherein the central processing unit is further configured to assign a first task to the fixed processing unit for execution;

wherein the fixed processing unit is configured to, based on the execution of the first task being at least partially complete, copy data to the central processing unit;

wherein the central processing unit is further configured to assign a second task to the reprogrammable processing unit for execution and make the data available to the reprogrammable processing unit.

9. The apparatus of claim 8 , wherein the central processing unit is further configured to copy the data from the buffer portion reserved for the fixed processing unit to the buffer portion reserved for the reprogrammable processing unit.

10. The apparatus of claim 7 , wherein the central processing unit is further configured to control, at least in part, the timing of any data transferred between the fixed processing unit and reprogrammable processing unit.

11. The apparatus of claim 7 , wherein the computing environment is configured such that the fixed processing unit does not directly access the high-bandwidth memory die.

12. A system, comprising:

a central processing unit being configured to assign computational tasks to processing units of a computing environment; and

a system memory being configured to store data;

the computing environment comprising:

a fixed processing unit having logical circuits configured to execute instructions,

a reprogrammable processing unit having reprogrammable logical circuits configured to execute instructions that include instructions to control processing-in-memory functionality, and

at least one high-bandwidth memory die configured to provide processing-in-memory functionality controllable by the reprogrammable processing unit,

wherein the central processing unit is further configured to assign a first portion of a computational task to the fixed processing unit and a second portion of the computational task to the reprogrammable processing unit, and

wherein the reprogrammable processing unit is configured to determine the occurrence of a triggering event and copy data for the second portion of the computational task, based on the triggering event, from system memory to the high-bandwidth memory die, wherein the triggering event is based on the first portion of the computational task.

13. The system of claim 12 , wherein the fixed processing unit is configured to, based on the execution of a task assigned to the fixed processing unit being at least partially complete, copy data to the system memory; and

wherein the reprogrammable processing unit is configured to copy the data from the system memory to the high-bandwidth memory die to execute a task assigned to the reprogrammable processing unit that requires the data.

14. The system of claim 13 , wherein the fixed processing unit is configured to copy the data to the system memory via a remote direct memory access.

15. The system of claim 12 , wherein the fixed processing unit includes a graphical processing unit; and

the reprogrammable processing unit includes a field programmable gate array.

16. The system of claim 12 , wherein the central processing unit is configured to assign a first portion of a task to the fixed processing unit for execution, and a second portion of the task to the reprogrammable processing unit for execution; and

wherein the fixed processing unit is configured to halt execution of tasks between the time the first portion of the task is complete and the time the second portion of the task is complete.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2023
From: MALLADI, KRISHNA T.; ZHENG, HONGZHONG
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 063794/0959 →
Continuity (3)
Continuation 15825047 · Nov 28, 2017
Provisional Application 62558745 · Sep 14, 2017
Related Publication 20200042477A1 · Feb 6, 2020
Cited By (1)
US 12,675,424