Multi-Core Barrier Synchronization for GPU Data Multicast
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current graphics processing units (GPUs) face challenges in maximizing parallel processing efficiency and memory bandwidth due to the increasing number of compute cores, which affects performance in graphics and general-purpose computations.
Innovation Solution
Implementing a multi-core barrier for synchronization of data broadcasting between threads in multiple compute cores, enabling efficient data processing and allocation of work through sequences of commands/instructions, and utilizing a programmable architecture to support various operations beyond traditional graphics processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the number of compute cores is increased to support advanced parallel processing, then processing throughput is improved, but memory and cache bandwidth are overwhelmed
Solution Approach 1:
The patent divides the compute core cluster into groups with associated barrier units, segmenting the memory access control functionality. This allows different groups of compute cores to be managed independently, reducing the memory bandwidth burden on any single barrier unit while maintaining overall system throughput.
Solution Approach 2:
The barrier units perform preliminary synchronization actions before data processing operations. By establishing synchronization barriers in advance, the system prepares memory access patterns that optimize bandwidth utilization, preventing memory bottlenecks before they occur during actual data processing.
2Reliability
If synchronization is implemented between threads in multiple compute cores, then processing correctness is improved, but processing time is increased
Solution Approach 1:
The patent merges synchronization operations into the data processing pipeline by having barrier units integrated with compute core clusters. This combination allows synchronization to occur in parallel with data processing rather than sequentially, maintaining processing correctness while minimizing time loss.
Solution Approach 2:
The barrier units act as intermediary components between compute cores and memory systems. They mediate synchronization requests by coordinating memory access patterns across multiple compute cores, ensuring correctness while reducing the overall synchronization overhead through centralized control.
3Productivity
If data broadcasting is performed between threads in multiple compute cores, then work allocation efficiency is improved, but memory bandwidth consumption is increased
Solution Approach 1:
The barrier units create local copies of data in on-chip memory or registers before distributing it to compute cores. This copying approach allows efficient work allocation to multiple cores without requiring continuous high-bandwidth memory access, reducing overall memory bandwidth consumption while maintaining allocation efficiency.
Data Source
AI summary
Synchronization for data multicast in compute core clusters is described. An example of an apparatus includes one or more processors including at least a graphics processing unit (GPU), the GPU including one or more clusters of cores and a memory, wherein each cluster of cores includes a plurality of cores, each core including one or more processing resources, shared local memory, and gateway circuitry, wherein the GPU is to initiate broadcast of a data element from a producer core to one or more consumer cores, and synchronize the broadcast of the data element utilizing the gateway circuitry of the producer core and the one or more consumer cores, and wherein synchronizing the broadcast of the data element includes establishing a multi-core barrier for broadcast of the data element.


