GPU Signal Barrier Scheduling for Hierarchical Thread Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing hierarchical parallelism models for central processing units (CPUs) face challenges in efficiently managing thread synchronization and memory sharing, particularly in systems with multiple processor cores, leading to suboptimal performance and resource utilization.

Innovation Solution

Implementing a signal barrier mechanism with identifiers to manage thread synchronization and memory sharing, using hardware gateways to determine when signal barriers are cleared, allowing for more efficient execution of threads and improved resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional hierarchical parallelism models are used for thread management, then implementation simplicity is maintained, but thread synchronization efficiency and resource utilization deteriorate

Engineering Contradiction:
Improvethread synchronization efficiencyVSAvoidsynchronization mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the hierarchical parallelism model into multiple levels with distinct barrier types. Level 0 barriers handle fine-grained synchronization within a level, while level 1 barriers handle coarse-grained synchronization between levels. This segmentation allows threads to synchronize efficiently at appropriate granularities without requiring a single complex synchronization mechanism, thereby improving thread synchronization efficiency while managing complexity through structured division.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to traditional barrier synchronization by organizing threads and barriers into multiple levels (level 0 and level 1). This dimensional change allows the system to handle synchronization at different scales simultaneously, enabling efficient resource utilization and thread coordination without the bottlenecks of flat-barrier models, thus improving productivity without proportionally increasing complexity.

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

2Measurement precision

If fine-grained barrier synchronization is implemented across all threads, then synchronization precision is improved, but system performance and resource utilization deteriorate due to overhead

Engineering Contradiction:
Improvesynchronization precisionVSAvoidsystem performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent applies local quality by implementing fine-grained synchronization (level 0 barriers) only where and when it is necessary, rather than uniformly across all threads. Threads can choose to use level 0 barriers for precise synchronization when needed, while relying on level 1 barriers for broader coordination. This localized application of fine-grained synchronization maintains precision where required while avoiding the performance overhead of universal fine-grained barriers, thus balancing synchronization precision with system performance.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP3920029B1Hierarchical thread scheduling
Publication Date: 2026.04.15 INTEL CORP
  • EP3920029B1 patent drawingFigure 1
  • EP3920029B1 patent drawingFigure 2A
  • EP3920029B1 patent drawingFigure 2B

AI summary

Examples described herein relate to a graphics processing apparatus that includes a memory device and a graphics processing unit (GPU) coupled to the memory device, the GPU can be configured to: execute an instruction thread; determine if a signal barrier is associated with the instruction thread; for a signal barrier associated with the instruction thread, determine if the signal barrier is cleared; and based on the signal barrier being cleared, permit any waiting instruction thread associated with the signal barrier identifier to commence with execution but not permit any waiting thread that is not associated with the signal barrier identifier to commence with execution. In some examples, the signal barrier includes a signal barrier identifier. In some examples, the signal barrier identifier is one of a plurality of values. In some examples, a gateway is used to receive indications of a signal barrier identifier and to selectively clear a signal barrier for a waiting instruction thread associated with the signal barrier identifier based on clearance conditions associated with the signal barrier being met.