Asynchronous Execution Mechanism for GPU Parallel Pass Scheduling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional GPUs execute independent passes in a graphics pipeline serially, leading to inefficient use of hardware resources as some clusters are underutilized while others are fully utilized, resulting in suboptimal performance.
Innovation Solution
An asynchronous execution mechanism that detects independent passes and schedules work to be executed simultaneously on different sets of processing elements, allowing for parallel execution across multiple clusters within the GPU.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If independent passes are executed serially in conventional GPUs, then the execution order is simple to manage, but hardware resource utilization becomes inefficient with some clusters underutilized
Solution Approach 1:
The patent implements dynamic execution ordering where independent passes can be executed out of program order based on resource availability. The system dynamically determines execution timing for each pass, allowing compute passes and geometry/raster/depth passes to be executed in parallel when their respective resources are available, rather than following a fixed serial order.
Solution Approach 2:
The patent segments the graphics pipeline into independent passes that can be executed separately and in parallel. By identifying passes that do not depend on each other (such as compute passes independent of geometry/raster/depth passes), the system divides the workload into separable units that can be distributed to different processing clusters for simultaneous execution.
2Productivity
If independent passes are executed in parallel on different clusters, then hardware resource utilization improves, but scheduling complexity increases
Solution Approach 1:
The patent applies different execution strategies to different types of passes based on their resource requirements. Compute passes that utilize compute clusters and memory bandwidth are scheduled independently from geometry/raster/depth passes that utilize the geometry/raster/depth pipe, allowing each type to be optimized for its specific hardware resources without complex cross-dependency management.
Solution Approach 2:
The system enables self-service scheduling where passes are automatically identified as independent and scheduled for parallel execution without requiring complex external coordination. The graphics processing unit autonomously determines which passes can execute in parallel based on their resource requirements, reducing the need for complex external scheduling mechanisms.
Data Source
AI summary
An apparatus to facilitate asynchronous execution at a processing unit. The apparatus includes one or more processors to detect independent task passes that may be executed out of order in a pipeline of the processing unit, schedule a first set of processing tasks to be executed at a first set of processing elements at the processing unit and schedule a second set of tasks to be executed at a second set of processing elements, wherein execution of the first set of tasks at the first set of processing elements is to be performed simultaneous and in parallel to execution of the second set of tasks at the second set of processing elements.


