Asynchronous Execution Mechanism for GPU Parallel Pass Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveexecution order managementVSAvoidhardware resource utilization
Core Design Contradiction:
Ease of operationVSProductivity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #1Segmentation

2Productivity

If independent passes are executed in parallel on different clusters, then hardware resource utilization improves, but scheduling complexity increases

Engineering Contradiction:
Improvehardware resource utilizationVSAvoidscheduling mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11494867B2Asynchronous execution mechanism
Publication Date: 2022.11.08 INTEL CORP
  • US11494867B2 patent drawing
  • US11494867B2 patent drawing
  • US11494867B2 patent drawing

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.