Accelerated Processor Message Passing via Barrier Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computer architectures face challenges in efficiently managing message passing between groups of work items on accelerated parallel processors like GPUs, particularly in synchronizing operations and optimizing cross-node or cross-CPU/GPU data communications.

Innovation Solution

The method involves executing groups of work items on accelerated processing units, receiving and storing messages in allocated memory segments, using barriers to synchronize operations, and updating memory ends based on message sizes, allowing for efficient message passing between wavefronts on the same GPU core or across multiple GPU cores.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If message passing is implemented between groups of work items on accelerated parallel processors, then communication capability between work items is improved, but synchronization complexity and difficulty of managing data transfer increases

Engineering Contradiction:
Improvecommunication capabilityVSAvoidsynchronization complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces intermediary structures including message buffers, send queues, and receive queues that mediate communication between work item groups. These intermediaries handle the complexity of synchronization internally, allowing work items to communicate through simple enqueue/dequeue operations while the system manages the complex coordination in the background.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The communication system is segmented into distinct functional components: message buffers for storage, send queues for outgoing messages, receive queues for incoming messages, and barrier synchronization mechanisms. This segmentation allows each component to be optimized independently and reduces overall synchronization complexity by distributing coordination tasks across multiple specialized structures.

Inventive Principle:
Principle #1Segmentation

2Productivity

If memory is allocated to each group of work items for message storage, then message passing efficiency is improved, but memory management complexity increases

Engineering Contradiction:
Improvemessage passing efficiencyVSAvoidmemory management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory structures allocated to work item groups serve multiple functions: they act as private storage for work items, as message buffers for receiving messages from other groups, and as send queues for outgoing messages. This multi-functionality improves efficiency by utilizing the same memory resources for multiple purposes while the system manages the complexity of coordinating these uses.

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

Solution Approach 2:

The patent organizes memory allocation in multiple dimensions: each work item group has privately allocated memory segments, and within each group, memory is further organized into distinct queues and buffers. This multi-dimensional organization allows efficient local access within groups while enabling coordinated communication across groups through the structured memory hierarchy.

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

3Reliability

If barriers are used to synchronize message receipt, then data accuracy is improved, but processing time increases

Engineering Contradiction:
Improvedata accuracyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Barrier synchronization is implemented as a preliminary action that ensures all message buffers are properly populated and ready before work items attempt to consume messages. By establishing this synchronization point in advance, the system guarantees data accuracy without requiring repeated synchronization checks during message consumption, thereby minimizing time loss.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The barrier mechanism serves itself by automatically managing the synchronization state without requiring explicit intervention from each work item. Once the barrier is established, individual work items can independently consume messages from their allocated buffers knowing that synchronization has been handled, reducing the time overhead compared to continuous synchronization requirements.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10681125B2Systems and methods of supporting parallel processor message-based communications
Publication Date: 2020.06.09 ADVANCED MICRO DEVICES INC
  • US10681125B2 patent drawing
  • US10681125B2 patent drawing
  • US10681125B2 patent drawing

AI summary

A method of message-based communication is provided which includes executing, on one or more accelerated processing units, a plurality of groups of work items, receiving a first message from a first group of work items of the plurality of groups of work items executing on the one or more accelerated processing units and storing the first message at a first segment of memory allocated to a second group of work items of the plurality of groups of work items executing on the accelerated processing unit.