Unified Virtual Memory for CPU-GPU Transfer Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory management in heterogeneous computing systems, such as those involving CPUs and GPUs, is inefficient due to the need for manual management of memory transfers and the risk of out-of-memory exceptions, which can be exacerbated by limited GPU memory capacity and unnecessary data migrations.

Innovation Solution

Implementing a Unified Virtual Memory (UVM) system that manages physical memory transparently across processors, including a UVM driver to handle GPU memory pressure and avoid redundant data transfers by marking data as discardable and delaying remapping until necessary.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If manual memory management is implemented for each processor, then memory transfer control is precise, but programming complexity increases quadratically with the number of processors

Engineering Contradiction:
Improveprogramming easeVSAvoidmemory management complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

A UVM driver acts as an intermediary layer between applications and multiple processors (CPU, GPU, etc.), providing unified virtual memory management. The driver handles memory allocation, mapping, and transfer operations centrally, eliminating the need for programmers to manually manage memory for each processor. This intermediary abstracts the complexity of heterogeneous memory systems while maintaining precise control over memory transfers.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If data is migrated to different devices for memory coherency, then memory consistency is maintained, but processing time is wasted when data is immediately overwritten

Engineering Contradiction:
Improvememory coherencyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by tracking data validity and migration status before actual memory operations. The UVM driver monitors which data has been migrated and maintains metadata about data location and validity. This preliminary tracking prevents unnecessary migration operations by checking data status beforehand, avoiding the waste of migrating data that will be immediately overwritten.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If GPU memory capacity is increased to handle larger computations, then out-of-memory exceptions are reduced, but system cost and resource requirements increase

Engineering Contradiction:
Improveout-of-memory exception rateVSAvoidGPU memory capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The unified virtual memory system enables memory to serve multiple functions across different processors. GPU memory can be used for GPU computations, while the same physical memory can be accessed by the CPU when needed. This multi-functionality allows the system to handle larger computational workloads without proportionally increasing GPU memory capacity, as memory can be dynamically shared and allocated based on current computational needs.

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

Data Source

PatentUS12450159B1Unified virtual memory management in heterogeneous computing systems
Publication Date: 2025.10.21 NVIDIA CORP
  • US12450159B1 patent drawing
  • US12450159B1 patent drawing
  • US12450159B1 patent drawing

AI summary

Apparatuses, systems, and techniques for memory management are disclosed. In at least one embodiment, memory management is provided for a heterogenous system, for example, a system including a CPU and a GPU, in which redundant or unnecessary memory transfers are reduced.