GPU API for Asynchronous Data Movement and Tensor Transformations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data movement operations in parallel computing platforms are inefficient in terms of time and resource utilization, particularly when performing asynchronous reduction and copy operations across memory spaces within GPUs.

Innovation Solution

The implementation of an Application Programming Interface (API) that utilizes asynchronous data movement hardware and manual transaction accounting to manage data movement operations, including tensor map generation and in-place transformations, allowing for efficient data movement and processing across different memory locations within GPUs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional data movement operations are used in parallel computing platforms, then data can be moved between memory spaces, but the operations consume significant time and computing resources

Engineering Contradiction:
Improvedata movement efficiencyVSAvoidtime consumption for data movement
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-fetching data into caches before it is actually needed for processing. The API enables asynchronous data movement operations that can be initiated in advance, allowing data to be transferred between memory spaces (e.g., from global memory to cache memory) while the computing device continues executing other computational tasks. This preliminary data positioning reduces waiting time and improves overall productivity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements continuous useful action through asynchronous data movement operations that do not block computational workflows. While data is being moved between memory spaces, the computing device continues to perform computations without interruption. The API enables overlapping of data movement and computation operations, ensuring that useful actions (both data transfer and computation) continue simultaneously rather than sequentially, thereby reducing total time consumption.

Inventive Principle:
Principle #20Continuity of useful action

2Productivity

If traditional data movement operations are used in parallel computing platforms, then data can be moved between memory spaces, but significant computing resources are consumed

Engineering Contradiction:
Improvedata movement efficiencyVSAvoidpower consumption for data movement
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system maintains continuous computational work while data movement operations are performed in the background through asynchronous mechanisms. This allows the computing resources to remain productively engaged in computations rather than being idle during data transfers, or being over-utilized in sequential data movement operations. The API enables efficient resource utilization by allowing computations and data transfers to proceed concurrently.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent introduces cache memory as an intermediary between source and destination memory spaces. Data can be moved through this intermediate storage layer, which reduces the burden on direct memory-to-memory transfer operations. The API leverages this intermediary structure to perform data movement in a way that consumes fewer computing resources, as the cache acts as a buffer that can be accessed more efficiently than direct transfers between large memory spaces.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If asynchronous data movement operations are implemented, then time and resource efficiency is improved, but system complexity increases

Engineering Contradiction:
Improvetime consumption for data movementVSAvoidsystem complexity for managing asynchronous operations
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system implements self-service mechanisms through automatic synchronization and completion tracking provided by the API. Asynchronous data movement operations are initiated and then managed automatically by the system without requiring continuous manual intervention. The API handles the complexity of tracking operation completion, managing data dependencies, and coordinating between different memory spaces, allowing the user to simply initiate operations without managing the underlying complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20240169469A1Application programming interface to transform information corresponding to a memory transaction
Publication Date: 2024.05.23 NVIDIA CORP
  • US20240169469A1 patent drawing
  • US20240169469A1 patent drawing
  • US20240169469A1 patent drawing

AI summary

Apparatuses, systems, and techniques to transform information corresponding to one or more memory transactions. In at least one embodiment, one or more circuits are to perform an application programming interface (API) to cause information corresponding to one or more memory transactions resulting from performance of the API to be transformed.