Thread-Level Barrier Synchronization for GPU Forward Progress

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional copy engines in graphics processors are not scalable for partitioned graphics environments and fail to provide dynamic scaling based on varying bandwidth and quality of service (QoS) requirements, leading to inefficient utilization of underlying resources.

Innovation Solution

Implementing single-level synchronization at individual thread granularity within a graphics processing unit (GPU) to ensure forward progress guarantee, allowing dynamic scaling and efficient resource allocation across partitions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional copy engines are used in partitioned graphics environments, then the system can maintain fixed configuration and simple architecture, but the system cannot provide dynamic scaling or guaranteed quality of service across partitions

Engineering Contradiction:
Improvedynamic scaling capabilityVSAvoidcopy engine configuration
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The copy engine is transformed from a fixed configuration to a dynamically scalable architecture where the number of copy engines can be adjusted based on partition requirements. Each partition can be configured with an appropriate number of copy engines to meet its specific bandwidth and QoS requirements, enabling the system to adapt to varying workload demands while maintaining manageable complexity through standardized configuration options.

Inventive Principle:
Principle #15Dynamics

2Productivity

If a high-performance copy engine is time-shared between multiple partitions, then resource utilization is improved, but isolation between partitions cannot be guaranteed

Engineering Contradiction:
Improveresource utilizationVSAvoidpartition isolation
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The copy engine resource is segmented into multiple independent instances, with each partition allocated its dedicated copy engines. This segmentation ensures that each partition has guaranteed access to copy resources without interference from other partitions, maintaining strict isolation while achieving high overall resource utilization through efficient allocation of the segmented resources across multiple partitions.

Inventive Principle:
Principle #1Segmentation

3Productivity

If conventional copy engines are used, then the architecture remains simple and fixed, but the area of the underlying graphics processor is not utilized efficiently

Engineering Contradiction:
Improveprocessor area utilizationVSAvoidcopy engine architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The copy engine architecture is designed with universal, standardized building blocks that can be replicated and configured in different quantities to serve multiple partitions. This multi-functional design allows the same basic copy engine unit to be instantiated multiple times across the graphics processor, efficiently utilizing available area while maintaining architectural simplicity through reuse of proven designs rather than creating custom complex solutions.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS12579012B2Forward progress guarantee using single-level synchronization at individual thread granularity
Publication Date: 2026.03.17 INTEL CORP
  • US12579012B2 patent drawing
  • US12579012B2 patent drawing
  • US12579012B2 patent drawing

AI summary

An apparatus to facilitate facilitating forward progress guarantee using single-level synchronization at individual thread granularity is disclosed. The apparatus includes a processor comprising a barrier synchronization hardware circuitry to assign a set of global named barrier identifiers (IDs) to individual execution threads of a plurality of execution threads and synchronize execution of the individual execution threads on a single level via the set of global named barrier IDs; and a plurality of processing resources to execute the plurality of execution threads and comprising divergent barrier scheduling hardware circuitry to facilitate execution flow switching from a first divergent branch executed by a first thread to a second divergent branch executed by a second thread, the execution flow switching performed responsive to the first thread stalling to wait on a named barrier of the set of global named barrier IDs.