Persistent Thread Rescheduling for SIMD Wavefront Progress

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing parallel data processing systems using SIMD micro-architectures face issues such as deadlock due to serialized execution of separate branches and long latency stalls, which reduce memory-level parallelism and performance, limiting the types of applications that can be executed, especially when wavefronts exceed processor capacity.

Innovation Solution

Implementing per-wavefront context save and restore operations, allowing parallel data processing circuits to execute instructions at a finer granularity, enabling independent progress of wavefronts and avoiding deadlock by storing and loading context state information efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Volume of stationary object

If context state is saved at the granularity of an entire compute circuit, then data storage space is reduced, but performance is limited and application types are restricted

Engineering Contradiction:
Improvedata storage spaceVSAvoidperformance
Core Design Contradiction:
Volume of stationary objectVSProductivity

Solution Approach 1:

The patent segments the context save/restore granularity from the compute circuit level down to the wavefront level. Instead of saving context for entire compute circuits, the system now saves context for individual wavefronts (groups of threads), enabling finer-grained parallelism while reducing the storage burden compared to per-thread context saving.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimensional approach by implementing context saving at the wavefront level, which is a intermediate granularity between compute circuit and individual thread. This dimensional change in context management granularity enables both reduced storage requirements and improved performance by allowing more flexible wavefront scheduling and reducing serialization overhead.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Adaptability or versatility

If more wavefronts are launched than can simultaneously fit on the processor, then application flexibility is improved, but deadlock occurs

Engineering Contradiction:
Improveapplication flexibilityVSAvoiddeadlock avoidance
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements preliminary context saving for wavefronts before they are executed. By saving wavefront context state in advance at the wavefront level, the system enables efficient context switching when wavefronts need to be rescheduled or when more wavefronts are launched than can fit simultaneously on the processor, preventing deadlock while maintaining flexibility.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces wavefront-level context state as an intermediary mechanism between the compute circuits and individual threads. This intermediary layer enables the system to manage more wavefronts than can simultaneously execute by saving and restoring context at the wavefront level, allowing flexible launching of excess wavefronts without causing deadlock.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If separate branches are executed in parallel, then instruction throughput is improved, but serialization occurs reducing memory-level parallelism

Engineering Contradiction:
Improveinstruction throughputVSAvoidserialization time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements dynamic wavefront scheduling that can adaptively manage the execution of multiple wavefronts with different branch patterns. By saving and restoring context at the wavefront level, the system can dynamically switch between different wavefronts to hide memory latency and reduce serialization, maintaining high instruction throughput while minimizing the loss from branch serialization.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20250306942A1Rescheduling work onto persistent threads
Publication Date: 2025.10.02 ADVANCED MICRO DEVICES INC
  • US20250306942A1 patent drawing
  • US20250306942A1 patent drawing
  • US20250306942A1 patent drawing

AI summary

An apparatus and method for efficiently processing instructions in hardware parallel execution lanes within a processing circuit. In various implementations, a computing system includes a host processing circuit and a parallel data processing circuit that uses multiple single instruction multiple data (SIMD) circuits, each with multiple parallel lanes of execution. The host processing circuit generates an indication specifying a host trap event has occurred, which includes an asynchronous interruption. The host processing circuit stores the indication and information of a host trap handler in a predetermined memory location specifying subsequent tasks to execute. The parallel data processing circuit accesses this predetermined memory location to check for the indication of a trap event. The instructions of the trap handler directs the parallel data processing circuit to store context state information and initiate processing of other tasks.