Multi-GPU Kernel Dependency Tracking for Local-Memory Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing technologies face challenges in evenly distributing workload across multiple GPUs, leading to inefficiencies such as idle time and increased latency due to unbalanced processing and memory copy bottlenecks, especially when using GPUs connected via lower speed buses.

Innovation Solution

The method involves dividing kernel responsibility into portions assigned to individual GPUs, generating dependency data, and delaying execution of subsequent kernel portions until dependencies are met, thereby enabling balanced workload distribution and minimizing synchronization overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple GPUs are used to process data, then processing capacity is improved, but workload distribution becomes unbalanced causing idle time and increased latency

Engineering Contradiction:
Improveprocessing capacityVSAvoididle time and latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides the kernel execution into multiple portions that can be independently assigned to different GPUs. Each GPU executes specific portions of the kernel, allowing fine-grained control over workload distribution and eliminating idle time by ensuring each GPU has appropriate work to do.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic dependency tracking where the system monitors which portions of the kernel have completed and uses this information to dynamically determine which portions can be executed next. This dynamic approach allows the system to adapt to varying execution times and balance the workload in real-time.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If data is copied between GPUs, then data availability is improved, but copy size increases creating a bottleneck

Engineering Contradiction:
Improvedata availabilityVSAvoidcopy speed
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent enables each GPU to access data from the local memory of other GPUs through the dependency mechanism. Instead of requiring large data copies, GPUs can access specific dependency data locally, reducing the amount of data that needs to be transferred across the bus.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent extracts only the necessary dependency information from the full dataset and makes it available through the dependency tracking mechanism. This allows GPUs to access only the specific data they need without copying the entire dataset, reducing bandwidth requirements.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If GPUs wait for synchronization, then data consistency is improved, but processing speed is reduced

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent performs preliminary dependency tracking during kernel execution, recording which portions need to wait for which other portions. This preliminary action allows the system to optimize synchronization by only waiting for actual dependencies rather than requiring full synchronization, enabling faster processing while maintaining data consistency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback through dependency tracking, where the system continuously monitors which kernel portions have completed and uses this feedback to determine when it is safe to execute dependent portions. This feedback mechanism ensures data consistency is maintained only where necessary, allowing parallel execution to proceed at full speed.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12406324B2Accessing local memory of a GPU executing a first kernel when executing a second kernel of another GPU
Publication Date: 2025.09.02 SONY INTERACTIVE ENTERTAINMENT LLC
  • US12406324B2 patent drawing
  • US12406324B2 patent drawing
  • US12406324B2 patent drawing

AI summary

Methods for graphics processing are provided. One example method includes executing a plurality of kernels using a plurality of graphics processing units (GPUs), wherein responsibility for executing a corresponding kernel is divided into one or more portions each of which being assigned to a corresponding GPU. The method includes generating a plurality of dependency data at a first kernel as each of a first plurality of portions of the first kernel completes processing. The method includes checking dependency data from one or more portions of the first kernel prior to execution of a portion of a second kernel. The method includes delaying execution of the portion of the second kernel as long as the corresponding dependency data of the first kernel has not been met.