Compute Unit Sorting for Reduced SIMD Control Flow Divergence

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Single-instruction multiple-data (SIMD) processors experience a slowdown due to divergent control flow, where different execution paths are serialized, leading to inefficiencies in parallel processing.

Innovation Solution

Reorganize execution items across wavefronts or within a wavefront by identifying control flow targets and sorting execution items based on these targets, reducing divergence through techniques such as inter-wavefront and intra-wavefront reorganization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If execution items are processed in parallel using SIMD architecture, then processing throughput is improved, but control flow divergence causes serialization and reduces efficiency

Engineering Contradiction:
Improveprocessing throughputVSAvoidserialization overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by sorting execution items before they reach the divergent control flow point. The sorting operation is performed in advance based on control flow targets, so that when execution items encounter the branch, they are already grouped by their destination. This preliminary organization prevents the need for runtime serialization, allowing all execution items to proceed through the divergent path simultaneously without losing parallelism.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments execution items into different groups based on their control flow targets. By dividing the execution items into segments that correspond to different branch destinations, the system can process each segment independently through the appropriate control flow path. This segmentation allows the SIMD processor to maintain parallel execution within each segment while handling multiple control flow paths, thereby reducing the serialization overhead that would occur if all items were processed sequentially through the divergence point.

Inventive Principle:
Principle #1Segmentation

2Productivity

If execution items with different control flow targets are grouped together in a wavefront, then wavefront utilization is improved, but control flow divergence increases and reduces parallel processing efficiency

Engineering Contradiction:
Improvewavefront utilizationVSAvoidcontrol flow management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies local quality by creating heterogeneous wavefronts where execution items are selectively grouped based on their control flow targets rather than using uniform grouping. Each wavefront is tailored with a specific composition of execution items that share common control flow characteristics, allowing the system to optimize for both wavefront utilization and reduced divergence. This local customization of wavefront composition enables better parallel processing efficiency while managing control flow complexity through targeted grouping strategies.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12405790B2Compute unit sorting for reduced divergence
Publication Date: 2025.09.02 ADVANCED MICRO DEVICES INC
  • US12405790B2 patent drawing
  • US12405790B2 patent drawing
  • US12405790B2 patent drawing

AI summary

Described herein are techniques for reducing divergence of control flow in a single-instruction-multiple-data processor. The method includes, at a point of divergent control flow, identifying control flow targets for different execution items, sorting the execution items based on the control flow targets, reorganizing the execution items based on the sorting, and executing after the point of divergent control flow, with the reorganized execution items.