GPU Asynchronous DMA for Reducing Duplicate Memory Loads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Legacy graphics processors experience duplicative memory loads from multiple thread groups accessing the same data, leading to unnecessary bandwidth pressure on the L2 cache and interconnect.

Innovation Solution

Implementing asynchronous Direct Memory Access (DMA) operations across graphics cores to optimize data transfer and reduce redundant memory loads, enabling efficient parallel processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple thread groups load the same tile from memory using separate L2 cache loads, then each thread group can access the data independently, but duplicative loads create unnecessary bandwidth pressure on the L2 cache and interconnect

Engineering Contradiction:
Improvedata access efficiencyVSAvoidbandwidth consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs preliminary actions by having thread groups load data into shared L1 cache memory before individual thread execution. The L1 cache is configured to perform duplicate load operations automatically, so that when multiple thread groups need the same data, it is already loaded into the shared cache space, eliminating the need for separate L2 cache loads for each thread group.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Multiple separate L2 cache load operations are merged into a single shared L1 cache load operation. The L1 cache acts as a common data space that can be accessed by multiple thread groups, consolidating what would otherwise be duplicate memory transactions into one unified data transfer operation, thereby reducing bandwidth pressure on the L2 cache and interconnect.

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If separate L2 cache loads are performed for each thread group, then data can be loaded into individual caches, but this creates resource contention and bandwidth pressure on the L2 cache interconnect

Engineering Contradiction:
Improvedata availabilityVSAvoidmemory access complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The shared L1 cache memory acts as an intermediary between the L2 cache and the thread groups. Instead of thread groups directly accessing L2 cache individually (creating contention and complexity), the L1 cache serves as a mediator that pre-loads data into a shared space, allowing multiple thread groups to access data without direct L2 cache contention, thereby simplifying the memory access architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If asynchronous DMA operations are implemented across graphics cores, then data transfer efficiency is optimized and redundant memory loads are reduced, but this requires coordination mechanisms to manage parallel access

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidcoordination mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The L1 cache is configured to automatically perform duplicate load operations without requiring explicit coordination instructions from the CPU or memory controller. When multiple thread groups access the same data, the L1 cache self-manages the loading process, using its own bandwidth to pre-load data into shared space, thereby achieving efficient asynchronous data transfer without adding complex coordination mechanisms.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20250291755A1GPU Asynchronous Direct Memory Access Applications
Publication Date: 2025.09.18 INTEL CORP
  • US20250291755A1 patent drawing
  • US20250291755A1 patent drawing
  • US20250291755A1 patent drawing

AI summary

One embodiment provides a graphics processor comprising a base die including a plurality of chiplet sockets and a plurality of chiplets coupled with the plurality of chiplet sockets. A chiplet of the plurality of chiplets including a graphics core cluster including a plurality of graphics cores, a distributed shared local memory including shared local memory within each of the plurality of graphics cores, and a direct memory access engine within each of the plurality of graphics cores, the direct memory access engine configured to asynchronously copy data from a memory device to the distributed shared local memory.