Named Barrier System for GPU Thread Group Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional GPU barriers are limited to one barrier per thread group, restricting synchronization among subgroups and lacking support for cross-thread group synchronization, which hampers efficient memory access and data processing in graphics processing units (GPUs).

Innovation Solution

Implementing a named barrier system that allows for cross-workgroup synchronization through asynchronous multicast loads and re-usable barriers, enabling multiple thread groups to synchronize and exchange data efficiently across a graphics core cluster without redundant cache accesses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional GPU barrier hardware is used with one barrier per thread group, then barrier synchronization is supported within a thread group, but concurrent synchronization among different subgroups and cross-thread group synchronization are not supported

Engineering Contradiction:
Improvesynchronization capabilityVSAvoidbarrier hardware structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent divides the thread group into multiple subgroups (e.g., subgroup 0, subgroup 1, etc.) and assigns a dedicated barrier instance to each subgroup. This segmentation allows each subgroup to synchronize independently and concurrently, resolving the limitation of traditional single-barrier designs while maintaining manageable hardware complexity through structured organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a universal barrier mechanism that serves multiple functions: intra-subgroup synchronization, inter-subgroup synchronization, and cross-thread group synchronization. By making the barrier system multi-functional, it eliminates the need for separate hardware structures for each synchronization type, thus improving versatility without proportionally increasing complexity.

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

2Productivity

If multiple barriers are implemented per thread group for subgroup synchronization, then concurrent subgroup synchronization is enabled, but hardware complexity and resource consumption increase

Engineering Contradiction:
Improveconcurrent synchronization efficiencyVSAvoidbarrier hardware resources
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple barrier instances into a unified barrier management structure where subgroups share common hardware resources. Instead of completely independent barrier hardware for each subgroup, the design combines resource management at the thread group level with logical separation at the subgroup level, enabling concurrent synchronization while reducing overall hardware footprint.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces a hierarchical dimension to barrier management, organizing barriers at multiple levels: individual subgroup level for fine-grained synchronization and thread group level for coordinated management. This dimensional organization allows concurrent operations without requiring linear increases in hardware resources, as the hierarchy enables resource sharing and coordination.

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

3Adaptability or versatility

If cross-thread group synchronization is added to traditional barriers, then synchronization across thread groups is supported, but the barrier mechanism becomes more complex and less efficient

Engineering Contradiction:
Improvecross-thread group synchronizationVSAvoidsynchronization performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent introduces an intermediary barrier management structure that mediates between different thread groups. This intermediary layer handles the complexity of cross-thread group synchronization by providing a standardized interface and coordination mechanism, allowing thread groups to synchronize efficiently without each group needing direct complex interactions with every other group.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20240231957A9Named and cluster barriers
Publication Date: 2024.07.11 INTEL CORP
  • US20240231957A9 patent drawing
  • US20240231957A9 patent drawing
  • US20240231957A9 patent drawing

AI summary

Embodiments described herein provide a technique to facilitate the synchronization of workgroups executed on multiple graphics cores of a graphics core cluster. One embodiment provides a graphics core including a cache memory and a graphics core coupled with the cache memory. The graphics core includes execution resources to execute an instruction via a plurality of hardware threads and barrier circuitry to synchronize execution of the plurality of hardware threads, wherein the barrier circuitry is configured to provide a plurality of re-usable named barriers.