GPU Last-Active Thread Selection for Parallel Sub-Wave Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphics processing technologies face inefficiencies in performing sub-wave operations, leading to increased time and power consumption at graphics processing units (GPUs), particularly in handling wave and sub-wave operations in a serial manner.

Innovation Solution

A mechanism is introduced to identify and select a representative thread from each sub-wave, allowing parallel execution of wave and sub-wave operations, thereby reducing the load on GPUs by activating only the last active thread and performing atomic operations efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If sub-wave operations are performed in a serial manner, then thread activation is simple, but time consumption and power consumption increase

Engineering Contradiction:
Improveoperation execution speedVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The wave is divided into multiple sub-waves, each containing a subset of threads. By segmenting the wave into smaller units, the system can activate threads in parallel across different sub-waves rather than sequentially, reducing total execution time and power consumption while maintaining simplified thread activation logic within each segment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically activates only the last active thread from each sub-wave after performing operations, rather than activating all threads. This dynamic approach optimizes power consumption by keeping fewer threads active while maintaining the ability to process all sub-wave operations efficiently through parallel execution.

Inventive Principle:
Principle #15Dynamics

2Productivity

If all threads in a sub-wave are activated, then operations can be performed, but time consumption increases due to serial execution

Engineering Contradiction:
Improveoperation throughputVSAvoidexecution time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

By dividing the wave into multiple sub-waves, the system enables parallel execution of operations across different sub-waves. Each sub-wave can be processed independently, allowing simultaneous operation execution that reduces total execution time while maintaining comprehensive thread activation where needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of activating all threads in a wave, the system activates only the necessary last active thread from each sub-wave. This partial activation approach reduces execution time by avoiding redundant thread activation while ensuring all required operations are performed through the coordinated action of activated threads.

Inventive Principle:
Principle #16Partial or excessive action

3Use of energy by stationary object

If threads are inactivated after operations, then power consumption reduces, but complexity of thread management increases

Engineering Contradiction:
Improvepower consumptionVSAvoidthread management complexity
Core Design Contradiction:
Use of energy by stationary objectVSDevice complexity

Solution Approach 1:

The system automatically identifies and activates only the last active thread from each sub-wave without requiring manual thread management. The threading mechanism self-manages activation and inactivation based on operation requirements, reducing power consumption while minimizing management complexity through automated last-thread selection and activation logic.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20250315291A1Activation of last fiber for parallel sub-wave operations
Publication Date: 2025.10.09 QUALCOMM INC
  • US20250315291A1 patent drawing
  • US20250315291A1 patent drawing
  • US20250315291A1 patent drawing

AI summary

Aspects presented herein relate to methods and devices for graphics processing including an apparatus, e.g., a GPU. The apparatus may allocate a wave into a set of sub-waves, where each sub-wave in the set of sub-waves comprises a set of threads. The apparatus may also perform a set of wave operations for each sub-wave in the set of sub-waves. Further, the apparatus may identify, based on the set of wave operations, a last active thread from amongst the set of threads for each sub-wave in the set of sub-waves.