IP Library Granted Patent US 11,275,586
Granted Patent B2
US 11,275,586 · App. 16/888,521 · Granted Mar 15, 2022

Task graph generation for workload processing

Inventors: Steven J. Tovey (Milton Keynes, GB); Zhuo Chen (Markham, CA); David Ronald Oldcorn (Milton Keynes, GB)
Assignees: Advanced Micro Devices, Inc.; ATI Technologies ULC
G06F9/30076G06F9/3005G06F9/3836G06F9/4881
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,275,586
App. No.
16/888,521
Granted
Mar 15, 2022
Kind
B2
Abstract

Techniques for generating a task graph for workload scheduling based on a task graph specification program are provided. The techniques include executing control flow instructions of the task graph specification program to traverse the task graph specification program; generating pass nodes of the task graph based on pass instructions of the task graph specification program; generating resource nodes and directed edges based on resource declarations of the task graph specification program; and outputting the task graph specification program to a command scheduler for scheduling.

Claims (33)

1. A method for generating a task graph for workload scheduling based on a task graph specification program, the method comprising:

executing control flow instructions of the task graph specification program to traverse the task graph specification program;

generating pass nodes of the task graph based on pass instructions of the task graph specification program;

generating resource nodes and directed edges based on resource declarations of the task graph specification program; and

outputting the task graph specification program to a command scheduler for scheduling.

2. The method of claim 1 , wherein the pass instructions include a pass definition.

3. The method of claim 2 , wherein the pass definition is compiled from a programming language that is different from a second programming language from which the control flow instructions are compiled.

4. The method of claim 1 , wherein the pass instructions include pass commands.

5. The method of claim 4 , wherein the pass commands and the control flow instructions are compiled from the same programming language.

6. The method of claim 1 , wherein the resource declarations comprise indications in the task graph specification program of resources written to or read by the pass nodes.

7. The method of claim 6 , wherein generating the resource nodes comprises generating a resource node for each independent resource indicated by the resource declarations.

8. The method of claim 6 , wherein the directed edges indicate which resources are ready by the pass nodes and which resources are written to by the pass nodes.

9. The method of claim 1 , wherein the pass instructions include pass instructions include graphics processing unit commands selected from a list including a draw command and a compute dispatch command.

10. A system for generating a task graph for workload scheduling based on a task graph specification program, the system comprising:

a task graph specification processor configured to:

execute control flow instructions of the task graph specification program to traverse the task graph specification program;

generate pass nodes of the task graph based on pass instructions of the task graph specification program;

generate resource nodes and directed edges based on resource declarations of the task graph specification program; and

output the task graph specification program to a command scheduler for scheduling.

11. The system of claim 10 , wherein the pass instructions include a pass definition.

12. The system of claim 11 , wherein the pass definition is compiled from a programming language that is different from a second programming language from which the control flow instructions are compiled.

13. The system of claim 10 , wherein the pass instructions include pass commands.

14. The system of claim 13 , wherein the pass commands and the control flow instructions are compiled from the same programming language.

15. The system of claim 10 , wherein the resource declarations comprise indications in the task graph specification program of resources written to or read by the pass nodes.

16. The system of claim 15 , wherein generating the resource nodes comprises generating a resource node for each independent resource indicated by the resource declarations.

17. The system of claim 15 , wherein the directed edges indicate which resources are ready by the pass nodes and which resources are written to by the pass nodes.

18. The system of claim 10 , wherein the pass instructions include pass instructions include graphics processing unit commands selected from a list including a draw command and a compute dispatch command.

19. A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to generate a task graph for workload scheduling based on a task graph specification program, by:

executing control flow instructions of the task graph specification program to traverse the task graph specification program;

generating pass nodes of the task graph based on pass instructions of the task graph specification program;

generating resource nodes and directed edges based on resource declarations of the task graph specification program; and

outputting the task graph specification program to a command scheduler for scheduling.

20. The non-transitory computer-readable medium of claim 19 , wherein the pass instructions include a pass definition.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2021
From: TOVEY, STEVEN J.; OLDCORN, DAVID RONALD
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 056252/0552 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2021
From: CHEN, ZHUO
To: ATI TECHNOLOGIES ULC
Reel/Frame 056252/0557 →
Continuity (1)
Related Publication 20210373892A1 · Dec 2, 2021