GPU Virtual Address Disassociation for Dynamic Array Memory Loading
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 computational performance is improved, but memory consumption increases
Solution Approach 1:
The patent implements dynamic memory management by allowing arrays to be selectively loaded into and unloaded from GPU memory based on computational needs. The system transitions from static memory allocation to dynamic allocation, where memory resources are allocated when needed and released when no longer required, resolving the contradiction between maintaining high computational performance and reducing memory consumption.
Solution Approach 2:
The patent enables discarding of array data from GPU memory after computational operations complete, and recovering that memory for subsequent operations. This principle allows the system to release memory resources that are no longer needed while maintaining the capability to reload them when required, thus balancing computational performance with memory efficiency.
2Quantity of substance
If array data is unloaded from GPU memory to reduce memory usage, then memory consumption decreases, but access time increases
Solution Approach 1:
The patent implements preliminary loading of array data into GPU memory before computational operations are initiated. By pre-loading data that will be needed for upcoming computations, the system minimizes access delays while maintaining low memory consumption for currently active operations. This resolves the contradiction by preparing data in advance rather than loading it on-demand during computation.
3Speed
If virtual addresses are permanently associated with physical memory, then memory access efficiency is improved, but memory flexibility decreases
Solution Approach 1:
The patent implements dynamic association between virtual addresses and physical memory locations in the page table. Instead of permanent mappings, the system allows virtual address mappings to be created, modified, and removed based on computational requirements. This dynamic approach maintains fast access efficiency for active data while providing the flexibility to reconfigure memory mappings as needed.
Solution Approach 2:
The patent applies different memory mapping qualities to different virtual addresses based on their usage state. Active arrays maintain permanent virtual-to-physical mappings for efficient access, while inactive arrays have their mappings removed or marked as invalid. This local differentiation resolves the contradiction by optimizing each memory region according to its specific needs rather than applying a uniform approach.
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.


