GPU Object Memory Binding for Flexible Client Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphics processing unit (GPU) memory management methods do not allow for client participation, leading to inflexible and inefficient use of GPU memory, particularly in creating and managing GPU objects.

Innovation Solution

Implementing an application programming interface (API) that enables client participation in GPU memory management by allowing explicit control over memory allocation and binding, including methods for creating, copying, and cloning GPU objects, thereby enhancing memory flexibility and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional GPU memory management methods are used, then memory management is automated, but client participation is not allowed and memory flexibility is reduced

Engineering Contradiction:
Improvememory flexibilityVSAvoidmemory management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

An API layer is introduced as an intermediary between the client and GPU memory management system. This API enables client participation in memory allocation and binding decisions while maintaining a structured interface that manages the complexity of underlying memory operations. The API serves as a mediator that translates high-level client requests into detailed memory management actions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The memory management system transitions from a static, fully automated approach to a dynamic system that adapts to client needs. Clients can dynamically specify memory allocation preferences, binding options, and object state requirements through the API. The system responds to these dynamic inputs by adjusting memory allocation and binding behavior in real-time.

Inventive Principle:
Principle #15Dynamics

2Productivity

If explicit client control over memory allocation is implemented, then memory efficiency is improved, but the ease of operation is reduced

Engineering Contradiction:
Improvememory efficiencyVSAvoidoperation simplicity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The memory management process is segmented into distinct, manageable steps: object creation, memory allocation, binding, and state management. Each step can be controlled independently by the client through specific API calls. This segmentation allows clients to exert precise control over memory efficiency-critical operations without being overwhelmed by the entire memory management process at once.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Clients can perform preliminary actions during object creation by specifying memory allocation parameters, binding preferences, and initial object states before actual memory operations occur. This preliminary specification enables the system to pre-configure memory resources according to client requirements, improving efficiency while maintaining operational simplicity through a unified object creation interface.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If memory locations are reused and aliasing is facilitated, then memory flexibility is improved, but the reliability of memory management may be reduced

Engineering Contradiction:
Improvememory flexibilityVSAvoidmemory management reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The API provides feedback mechanisms that track memory allocation, binding, and object state information. When clients reuse memory locations or create aliases, the system maintains records of these operations and their effects on object states. This feedback enables the system to verify that aliasing and memory reuse operations maintain data consistency and reliability while achieving the desired flexibility.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system implements explicit copying and cloning operations that create accurate replicas of GPU objects with defined state relationships. When aliasing is required, the system creates controlled copies that maintain proper state synchronization. This copying mechanism ensures that memory reuse and aliasing operations preserve data integrity and reliability while enabling flexible memory management.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20250371648A1Memory management in graphics and compute application programming interfaces
Publication Date: 2025.12.04 ADVANCED MICRO DEVICES INC
  • US20250371648A1 patent drawing
  • US20250371648A1 patent drawing
  • US20250371648A1 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.