Techniques for reducing serialization in divergent control flow
AssigneeAdvanced Micro Devices, Inc.
InventorsSkyler Jonathon Saleh, Maxim V. Kazakov
Life of this patent
Estimating the term…
Loading patent…
AssigneeAdvanced Micro Devices, Inc.
InventorsSkyler Jonathon Saleh, Maxim V. Kazakov
Estimating the term…
Techniques for executing shader programs with divergent control flow on a single instruction multiple data (“SIMD”) processor are disclosed. These techniques includes detecting entry into a divergent section of a shader program and, for the work-items that enter the divergent section, placing a task entry into a task queue associated with the target of each work-item. The target is the destination, in code, of any particular work-item, and is also referred to as a code segment herein. The task queues store task entries for code segments generated by different (or the same) wavefronts. A command processor examines task lists and schedules wavefronts for execution by grouping together tasks in the same task list into wavefronts and launching those wavefronts. By grouping tasks from different wavefronts together for execution in the same front, serialization of execution is greatly reduced or eliminated.
A method for executing a shader program in a single-instruction-multiple-data manner, the shader program having divergent control flow, the method comprising:
A compute unit comprising:
An accelerated processing device comprising:
Dependencies are inferred from the claim text.