Graphics and Compute API Memory Management for Explicit GPU Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphics processing unit (GPU) memory management APIs do not allow clients to explicitly participate in memory allocation and management for GPU objects, leading to inflexible and inefficient use of GPU memory.

Innovation Solution

Implementing an application programming interface (API) that enables clients to request and manage memory requirements and locations for GPU objects, allowing for explicit memory allocation and binding, thereby enhancing memory flexibility and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If GPU memory management is automated without client participation, then memory allocation is simplified, but memory flexibility and efficiency deteriorate

Engineering Contradiction:
Improvememory allocation simplicityVSAvoidmemory flexibility
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The API dynamically switches between automated and manual memory management modes. Clients can choose to either let the system automatically allocate memory or explicitly participate in the allocation process by providing memory locations and requirements, allowing the system to adapt to different operational needs.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system provides self-service memory management capabilities where clients can query memory requirements, specify memory locations, and manage their own GPU object memory allocation. This empowers clients to optimize memory usage while maintaining the ability to use automated management when convenient.

Inventive Principle:
Principle #25Self-service

2Productivity

If GPU memory is allocated automatically, then allocation speed is improved, but memory utilization efficiency deteriorates

Engineering Contradiction:
Improveallocation speedVSAvoidmemory utilization efficiency
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The API implements feedback mechanisms where clients can query memory requirements before allocation and provide information about available memory locations. This feedback loop enables the system to make informed allocation decisions that optimize memory utilization while maintaining efficient allocation processes.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Clients can perform preliminary actions by querying memory requirements and preparing memory locations before actual allocation occurs. This preliminary preparation enables more efficient memory utilization during the allocation process without sacrificing allocation speed.

Inventive Principle:
Principle #10Preliminary action

3Stability of the object's composition

If memory locations are fixed for GPU objects, then memory stability is improved, but memory reuse capability deteriorates

Engineering Contradiction:
Improvememory stabilityVSAvoidmemory reuse capability
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The system dynamically manages memory location assignments. While memory locations are assigned specifically to GPU objects for stability, the API enables clients to manage and reuse these memory locations for different objects at different times, providing both stability during object lifetime and reuse capability across different objects.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The API enables clients to recover and reuse memory locations after GPU objects are destroyed or no longer need the memory. This allows stable memory assignment during object lifetime while enabling efficient memory reuse across different objects, eliminating waste and improving overall memory utilization.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS12394011B2Memory management in graphics and compute application programming interfaces
Publication Date: 2025.08.19 ADVANCED MICRO DEVICES INC
  • US12394011B2 patent drawing
  • US12394011B2 patent drawing
  • US12394011B2 patent drawing

AI summary

Methods are provided for creating objects in a way that permits an API client to explicitly participate in memory management for an object created using the API. Methods for managing data object memory include requesting memory requirements for an object using an API and expressly allocating a memory location for the object based on the memory requirements. Methods are also provided for cloning objects such that a state of the object remains unchanged from the original object to the cloned object or can be explicitly specified.