GPU Resource APIs for Hierarchical Memory Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer programs face challenges in optimizing memory and resource usage, leading to inefficiencies in performance.

Innovation Solution

Implementing application programming interfaces (APIs) to manage resources by creating, destroying, and subdividing contexts and sub-contexts, as well as obtaining and generating resource descriptors, which allows for more efficient use of GPU resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If computer programs are executed using traditional memory management methods, then programs can run, but memory and resource usage is inefficient

Engineering Contradiction:
Improveprogram execution efficiencyVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent divides memory resources into hierarchical contexts (root context, child contexts, and sub-contexts). Each context manages its own memory space and resources independently, allowing fine-grained control over memory allocation. This segmentation enables programs to access only the memory portions they need at each hierarchical level, reducing overall memory consumption while maintaining execution efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to memory management by creating multiple levels of contexts (root → child → sub-context). This dimensional approach allows memory to be organized and accessed in a tree-like structure, enabling programs to navigate and allocate memory resources across different hierarchical levels, thereby optimizing both access speed and memory utilization.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Power

If resources are allocated to execute computer programs, then programs can perform computations, but computational overhead increases

Engineering Contradiction:
Improvecomputational capabilityVSAvoidcomputational overhead
Core Design Contradiction:
PowerVSLoss of energy

Solution Approach 1:

The patent pre-allocates and organizes memory resources into hierarchical contexts before program execution begins. By establishing the context hierarchy and allocating memory spaces in advance, the system eliminates the need for dynamic resource negotiation during program runtime, thereby reducing computational overhead while maintaining full computational capability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces contexts as intermediary layers between the program and physical memory resources. These contexts act as mediators that manage memory allocation and access, reducing the computational burden on programs by handling resource management tasks automatically through the hierarchical context structure.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250245066A1Application programming interface to read from a data structure
Publication Date: 2025.07.31 NVIDIA CORP
  • US20250245066A1 patent drawing
  • US20250245066A1 patent drawing
  • US20250245066A1 patent drawing

AI summary

Apparatuses, systems, and techniques to perform computing operations. In at least one embodiment, a processor performs an application programming interface to cause one or more indicators of one or more numbers of one or more streaming multiprocessors of one or more processors to be read from one or more data structures storing the one or more indicators.