GPU Packet Aggregation for Small Wavefront Bandwidth Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Communication of data packets in graphics processing units (GPUs) is inefficient, consuming a large portion of the communication fabric's bandwidth and reducing overall processing efficiency, especially when small wavefronts are generated, and software systems struggle to detect output conditions timely.

Innovation Solution

A packet management component in the GPU hardware automatically aggregates data from incoming packets based on output conditions, such as send conditions and timeouts, to form larger wavefronts, optimizing communication infrastructure use without requiring software intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data packets are sent individually to compute units via communication fabric, then data transfer is simple and direct, but communication bandwidth is consumed excessively and processing efficiency is reduced

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidcommunication bandwidth consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent merges multiple small data packets into a single aggregated packet for transmission over the communication fabric. The packet aggregation component combines packets destined for the same compute unit, reducing the total number of transmissions and optimizing bandwidth utilization while maintaining processing efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system performs preliminary aggregation of packets before they are transmitted to compute units. By pre-processing and combining packets in advance, the system reduces communication overhead and bandwidth consumption before the actual computation begins.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If software systems detect output conditions to trigger packet aggregation, then aggregation can be performed, but detection is delayed due to software processing time

Engineering Contradiction:
Improvepacket aggregation efficiencyVSAvoiddetection time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent replaces software-based detection with hardware-level detection. The packet aggregation component uses hardware logic to monitor packet arrivals and detect output conditions, eliminating software processing delays and enabling real-time aggregation decisions.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The packet aggregation component autonomously detects output conditions and triggers aggregation without external software intervention. The hardware component self-manages the aggregation process by monitoring packet streams and automatically combining packets when conditions are met.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If small wavefronts are generated due to individual packet processing, then packet handling is straightforward, but communication infrastructure utilization is inefficient

Engineering Contradiction:
Improvepacket handling simplicityVSAvoidcommunication infrastructure utilization
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system combines multiple small packets into larger aggregated packets, transforming small wavefronts into more efficient larger wavefronts. This merging process maintains operational simplicity while significantly improving communication infrastructure utilization by reducing the number of separate transmissions required.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP4073639B1GPU packet aggregation system
Publication Date: 2026.03.04 ADVANCED MICRO DEVICES INC
  • EP4073639B1 patent drawingFigure 1
  • EP4073639B1 patent drawingFigure 2
  • EP4073639B1 patent drawingFigure 3

AI summary

A graphics processing unit (GPU) [100] includes a packet management component [104] that automatically aggregates data from input packets [130]. In response to determining that a received first input packet does not indicate a send condition, and in response to determining that a generated output packet [132] would be smaller than an output size threshold, the packet management component aggregates data corresponding to the first input packet with data corresponding to a second input packet stored at a packet buffer. In response to determining that a received third input packet indicates a send condition, the packet management component sends the aggregated data to a compute unit in an output packet and performs an operation indicated by the send condition.