Virtual Address Disassociation API for Dynamic GPU Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Performing computational operations consumes significant memory, time, or computing resources due to inefficient loading and unloading of array data in GPUs.
Innovation Solution
Implementing an application programming interface (API) to dynamically load and unload array data from a GPU using CUDA programs, optimizing memory usage and processing efficiency by creating and managing virtual addresses separately from physical backing memory.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If array data is loaded into GPU memory for computational operations, then computation performance is improved, but memory consumption increases
Solution Approach 1:
The patent implements dynamic loading and unloading of array data from host memory to GPU memory based on computational needs. The system can load data when computation is required and unload it when not needed, making the memory allocation dynamic rather than static. This resolves the contradiction by allowing high computation performance only when data is loaded, while reducing memory consumption when data is unloaded.
Solution Approach 2:
The patent enables discarding of array data from GPU memory after computational operations are completed, and recovering it back to host memory for potential future use. This cycle of loading, computing, unloading, and reloading allows the system to achieve computation performance when needed while minimizing persistent memory consumption.
2Quantity of substance
If array data is dynamically loaded and unloaded from GPU, then memory usage is optimized, but computational overhead increases
Solution Approach 1:
The patent performs preliminary actions by pre-loading array data into GPU memory before computational operations are initiated, and pre-unloading data after computations are completed. This preliminary action approach reduces the frequency of load/unload operations during computation, thereby minimizing the computational overhead while maintaining optimized memory usage.
3Speed
If virtual addresses are associated with physical backing memory, then data access efficiency is improved, but memory management complexity increases
Solution Approach 1:
The patent extracts the virtual address space management from the physical memory management by allowing virtual addresses to exist independently without mandatory association with physical backing memory. This separation allows the system to maintain fast data access when associations exist while reducing memory management complexity by allowing virtual addresses to be created, modified, and deleted independently of physical memory constraints.
Data Source
AI summary
Apparatuses, systems, and techniques to manage memory arrays. In at least one embodiment an application programming interface (API) is performed to disassociate a virtual address indicated by the API from a corresponding physical address.


