GPU Demand Paging for Large Random Access Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Graphics processing unit (GPU) applications face challenges when dealing with large input data that exceeds GPU device memory, particularly in scenarios requiring random access, such as recursive ray tracing, where existing solutions like splitting computations into multiple kernel runs are inadequate.

Innovation Solution

Implementing GPU demand paging by organizing input data into pages, managing them in a virtual address space, and temporarily storing them in a physical cache, with mechanisms for accessing and updating pages based on usage, including time stamps and page table lookups to facilitate efficient access and eviction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If input data is split into multiple kernel runs to process large datasets, then memory capacity limitation is addressed, but processing efficiency deteriorates for random access operations

Engineering Contradiction:
Improvedata processing capacityVSAvoidprocessing efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent divides the large input data into fixed-size pages that can be independently managed and loaded into GPU memory. This segmentation allows the system to handle datasets larger than available memory by loading only the required pages, thus resolving the contradiction between processing large quantities of data and maintaining processing efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a page management system with virtual address space and page tables as an intermediary between the application and physical GPU memory. This intermediary layer handles page loading, eviction, and address translation, enabling efficient random access to large datasets without requiring all data to be simultaneously present in GPU memory.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If all input data is loaded into GPU device memory, then random access efficiency is improved, but memory capacity is exceeded

Engineering Contradiction:
Improveaccess speedVSAvoiddata volume
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent implements dynamic page management where pages are loaded into and evicted from GPU memory based on actual access patterns during computation. The page replacement policy dynamically decides which pages to evict when memory is full, allowing the system to adapt to varying data access requirements while maintaining fast access speeds for actively used data.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the state of data from requiring complete presence in memory to being accessible through virtual addresses with on-demand loading. By introducing page presence/absence states and virtual-to-physical address translation, the system enables random access efficiency without loading all data simultaneously into GPU memory.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If sequential processing is used to fit data in memory, then memory usage is reduced, but processing capability for random access algorithms deteriorates

Engineering Contradiction:
Improvememory usageVSAvoidalgorithm compatibility
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal memory management system that supports both sequential and random access patterns through page-based virtual memory. The page management mechanism provides a unified interface that works with various algorithms regardless of their access patterns, making the GPU capable of handling diverse workloads including ray tracing, finite element analysis, and other random-access-intensive applications.

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

Data Source

PatentUS9235512B2System, method, and computer program product for graphics processing unit (GPU) demand paging
Publication Date: 2016.01.12 NVIDIA CORP
  • US9235512B2 patent drawing
  • US9235512B2 patent drawing
  • US9235512B2 patent drawing

AI summary

A system, method, and computer program product are provided for GPU demand paging. In operation, input data is addressed in terms of a virtual address space. Additionally, the input data is organized into one or more pages of data. Further, the input data organized as the one or more pages of data is at least temporarily stored in a physical cache. In addition, access to the input data in the physical cache is facilitated.