US2024045718A1PendingUtilityA1

Fine-grained conditional dispatching

Assignee: ADVANCED MICRO DEVICES INCPriority: Sep 24, 2020Filed: Oct 17, 2023Published: Feb 8, 2024
Est. expirySep 24, 2040(~14.2 yrs left)· nominal 20-yr term from priority
G06F 9/3851G06F 9/3888G06F 9/4881G06F 9/545G06F 9/3838G06F 9/3009G06F 9/522G06F 9/5038
66
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Techniques for executing workgroups are provided. The techniques include executing, for a first workgroup of a first kernel dispatch, a workgroup dependency instruction that includes an indication to prioritize execution of a second workgroup of a second kernel dispatch, and in response to the workgroup dependency instruction, dispatching the second workgroup of the second kernel dispatch prior to dispatching a third workgroup of the second kernel dispatch, wherein no workgroup dependency instruction including an indication to prioritize execution of the third workgroup has been executed.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method for executing workgroups, the method comprising:
 launching a first workgroup from a first ready-to-dispatch kernel instance;   in response to determining that dependencies for the first workgroup have been satisfied, avoiding executing a deschedule instruction for the first workgroup;   launching a second workgroup from a second ready-to-dispatch kernel instance; and   in response to determining that dependencies for the second workgroup have not been satisfied, executing a deschedule instruction for the second workgroup.   
     
     
         2 . The method of  claim 1 , further comprising:
 identifying the first ready-to-dispatch kernel instance as a kernel instance dependent on another kernel instance for which at least one workgroup has completed execution.   
     
     
         3 . The method of  claim 1 , wherein:
 determining that dependencies for the first workgroup have been satisfied is performed by instructions of the first workgroup.   
     
     
         4 . The method of  claim 1 , wherein:
 avoiding executing the deschedule instruction for the first workgroup causes a remainder of the first workgroup to execute without being descheduled.   
     
     
         5 . The method of  claim 1 , wherein:
 launching the first workgroup is performed in response to a different workgroup completing execution.   
     
     
         6 . The method of  claim 1 , wherein:
 determining that dependencies for the second workgroup have not been satisfied is performed by instructions of the second workgroup.   
     
     
         7 . The method of  claim 1 , wherein:
 executing the deschedule instruction for the second workgroup results in the second workgroup being descheduled.   
     
     
         8 . The method of  claim 7 , further comprising:
 in response to the second workgroup being descheduled, scheduling a third workgroup for a third ready-to-dispatch kernel instance.   
     
     
         9 . The method of  claim 1 , wherein the first kernel instance is the second kernel instance. 
     
     
         10 . A device, comprising:
 one or more compute units; and   a dispatcher,   wherein the dispatcher is configured to:
 launch a first workgroup from a first ready-to-dispatch kernel instance for execution on the one or more compute units, and 
 launch a second workgroup from a second ready-to-dispatch kernel instance for execution on the one or more compute units; and 
   wherein the one or more compute units are configured to:
 in response to determining that dependencies for the first workgroup have been satisfied, avoid executing a deschedule instruction for the first workgroup, and 
 in response to determining that dependencies for the second workgroup have not been satisfied, execute a deschedule instruction for the second workgroup. 
   
     
     
         11 . The device of  claim 10 , wherein the dispatcher is further configured to:
 identify the first ready-to-dispatch kernel instance as a kernel instance dependent on another kernel instance for which at least one workgroup has completed execution.   
     
     
         12 . The device of  claim 10 , wherein:
 determining that dependencies for the first workgroup have been satisfied is performed by instructions of the first workgroup.   
     
     
         13 . The device of  claim 10 , wherein:
 avoiding executing the deschedule instruction for the first workgroup causes a remainder of the first workgroup to execute without being descheduled.   
     
     
         14 . The device of  claim 10 , wherein:
 launching the first workgroup is performed in response to a different workgroup completing execution.   
     
     
         15 . The device of  claim 10 , wherein:
 determining that dependencies for the second workgroup have not been satisfied is performed by instructions of the second workgroup.   
     
     
         16 . The device of  claim 10 , wherein:
 executing the deschedule instruction for the second workgroup results in the second workgroup being descheduled.   
     
     
         17 . The device of  claim 16 , wherein the dispatcher is further configured to:
 in response to the second workgroup being descheduled, schedule a third workgroup for a third ready-to-dispatch kernel instance.   
     
     
         18 . The device of  claim 10 , wherein the first kernel instance is the second kernel instance. 
     
     
         19 . A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform operations comprising:
 launching a first workgroup from a first ready-to-dispatch kernel instance;   in response to determining that dependencies for the first workgroup have been satisfied, avoiding executing a deschedule instruction for the first workgroup;   launching a second workgroup from a second ready-to-dispatch kernel instance; and   in response to determining that dependencies for the second workgroup have not been satisfied, executing a deschedule instruction for the second workgroup.   
     
     
         20 . The non-transitory computer-readable medium of  claim 19 , wherein the operations further comprise:
 identifying the first ready-to-dispatch kernel instance as a kernel instance dependent on another kernel instance for which at least one workgroup has completed execution.

Join the waitlist — get patent alerts

Track US2024045718A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.