US2023039853A1PendingUtilityA1

Workload scheduling and distribution on a distributed graphics device

73
Assignee: INTEL CORPPriority: Jan 9, 2019Filed: Oct 18, 2022Published: Feb 9, 2023
Est. expiryJan 9, 2039(~12.5 yrs left)· nominal 20-yr term from priority
G06T 1/20G06T 1/60G06F 9/5066G06F 9/5083G06F 9/52G06F 9/5061G06F 9/5027G06F 9/4881G06T 2200/28G06T 15/00
73
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Embodiments described herein provide a graphics, media, and compute device having a tiled architecture composed of a number of tiles of smaller graphics devices. The work distribution infrastructure for such device enables the distribution of workloads across multiple tiles of the device. Work items can be submitted to any one or more of the multiple tiles, with workloads able to span multiple tiles. Additionally, upon completion of a work item, graphics, media, and/or compute engines within the device can readily acquire new work items for execution with minimal latency.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A non-transitory machine-readable medium storing instructions which cause one or more processors to perform operations comprising:
 generating a set of commands of a workload to be executed by a graphics processor having multiple tiles of graphics processing engines;   partitioning the set of commands into a first partition and a second partition;   associating a first partition identifier with a first render context, the first partition identifier to identify the first partition;   associating a second partition identifier with a second render context, the second partition identifier to identify the second partition; and   submitting the first partition and the second partition to each of a first graphics processing engine tile and a second graphics processing engine tile of the multiple tiles of graphics processing engines, the first partition to be executed via the first graphics processing engine tile and the second partition to be executed via the second graphics processing engine tile.   
     
     
         2 . The non-transitory machine-readable medium as in  claim 1 , the operations additionally comprising, before executing the first partition and the second partition:
 assigning the first partition identifier to the first partition; and   assigning the second partition identifier to the second partition.   
     
     
         3 . The non-transitory machine-readable medium as in  claim 1 , the operations additionally comprising:
 initializing the first render context and defining execution state used to execute the first partition; and   initializing the second render context and defining execution state used to execute the second partition.   
     
     
         4 . The non-transitory machine-readable medium as in  claim 3 , wherein submitting the first partition and the second partition to each of the first graphics processing engine tile and the second graphics processing engine tile includes submitting a memory buffer including commands of the first partition and the second partition. 
     
     
         5 . The non-transitory machine-readable medium as in  claim 4 , the operations additionally comprising, before executing the first partition and the second partition, assigning the first render context to the first graphics processing engine tile and assigning the second render context to the second graphics processing engine tile. 
     
     
         6 . The non-transitory machine-readable medium as in  claim 5 , wherein the first render context includes a first offset in the memory buffer to a start of the first partition and the second render context includes a second offset in the memory buffer to a start of the second partition. 
     
     
         7 . The non-transitory machine-readable medium as in  claim 6 , wherein the memory buffer includes a synchronization command at an end of first partition and the second partition. 
     
     
         8 . A data processing system comprising:
 one or more processors including a graphics processor, the graphics processor including a first tile of graphics processing engines and a second tile of graphics processing engines, wherein the one or more processors are configured to perform operations comprising:
 generating a set of commands of a workload to be executed by a graphics processor having multiple tiles of graphics processing engines; 
 partitioning the set of commands into a first partition and a second partition; 
 associating a first partition identifier with a first render context, the first partition identifier to identify the first partition; 
 associating a second partition identifier with a second render context, the second partition identifier to identify the second partition; 
 submitting the first partition and the second partition to each of a first graphics processing engine tile and a second graphics processing engine tile of the multiple tiles of graphics processing engines; 
 executing the first partition via the first graphics processing engine tile; and 
 executing the second partition via the second graphics processing engine tile. 
   
     
     
         9 . The data processing system as in  claim 8 , the operations additionally comprising, before executing the first partition and the second partition:
 assigning the first partition identifier to the first partition; and   assigning the second partition identifier to the second partition.   
     
     
         10 . The data processing system as in  claim 8 , the operations additionally comprising:
 initializing the first render context and defining execution state used to execute the first partition; and   initializing the second render context and defining execution state used to execute the second partition.   
     
     
         11 . The data processing system as in  claim 10 , wherein submitting the first partition and the second partition to each of the first graphics processing engine tile and the second graphics processing engine tile includes submitting a memory buffer including commands of the first partition and the second partition. 
     
     
         12 . The data processing system as in  claim 11 , the operations additionally comprising, before executing the first partition and the second partition, assigning the first render context to the first graphics processing engine tile and assigning the second render context to the second graphics processing engine tile. 
     
     
         13 . The data processing system as in  claim 12 , wherein the first render context includes a first offset in the memory buffer to a start of the first partition and the second render context includes a second offset in the memory buffer to a start of the second partition. 
     
     
         14 . The data processing system as in  claim 13 , wherein the memory buffer includes a synchronization command at an end of first partition and the second partition. 
     
     
         15 . A method comprising:
 generating a set of commands of a workload to be executed by a graphics processor having multiple tiles of graphics processing engines;   partitioning the set of commands into a first partition and a second partition;   associating a first partition identifier with a first render context, the first partition identifier to identify the first partition;   associating a second partition identifier with a second render context, the second partition identifier to identify the second partition;   submitting the first partition and the second partition to each of a first graphics processing engine tile and a second graphics processing engine tile of the multiple tiles of graphics processing engines;   executing the first partition via the first graphics processing engine tile; and   executing the second partition via the second graphics processing engine tile.   
     
     
         16 . The method as in  claim 15 , additionally comprising, before executing the first partition and the second partition:
 assigning the first partition identifier to the first partition; and   assigning the second partition identifier to the second partition.   
     
     
         17 . The method as in  claim 15 , additionally comprising:
 initializing the first render context and defining execution state used to execute the first partition; and   initializing the second render context and defining execution state used to execute the second partition.   
     
     
         18 . The method as in  claim 17 , wherein submitting the first partition and the second partition to each of the first graphics processing engine tile and the second graphics processing engine tile includes submitting a memory buffer including commands of the first partition and the second partition. 
     
     
         19 . The method as in  claim 18 , additionally comprising, before executing the first partition and the second partition, assigning the first render context to the first graphics processing engine tile, and assigning the second render context to the second graphics processing engine tile. 
     
     
         20 . The method as in  claim 19 , wherein the first render context includes a first offset in the memory buffer to a start of the first partition, the second render context includes a second offset in the memory buffer to a start of the second partition, and the memory buffer includes a synchronization command at an end of first partition and the second partition.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.