Multi-Core Barrier Synchronization for GPU Data Multicast

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveprocessing throughputVSAvoidmemory and cache bandwidth
Core Design Contradiction:
ProductivityVSQuantity of substance

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If synchronization is implemented between threads in multiple compute cores, then processing correctness is improved, but processing time is increased

Engineering Contradiction:
Improveprocessing correctnessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If data broadcasting is performed between threads in multiple compute cores, then work allocation efficiency is improved, but memory bandwidth consumption is increased

Engineering Contradiction:
Improvework allocation efficiencyVSAvoidmemory bandwidth consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

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.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20240220335A1Synchronization for data multicast in compute core clusters
Publication Date: 2024.07.04 INTEL CORP
  • US20240220335A1 patent drawing
  • US20240220335A1 patent drawing
  • US20240220335A1 patent drawing

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.