Named Barrier System for GPU Thread Group Synchronization
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


