Dynamic GPU Context Segmentation for Concurrent Multi-Application Workloads
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Graphics processing units (GPUs) are underutilized due to their inability to handle multiple applications simultaneously, as they must clear context data from one application before processing another, even if spare capacity is available, leading to inefficiencies in workload execution.
Innovation Solution
Implementing a dynamic workload mapping and distribution scheme that allows multiple contexts from different applications to be executed concurrently on a shared GPU resource, using a workload mapping table to allocate compute assets efficiently and manage transitions between active and inactive contexts without software intervention.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single application and context use the GPU at a time with time-sliced allocation, then context switching and data clearing are simplified, but the GPU becomes underutilized when spare capacity is available and multiple applications need processing
Solution Approach 1:
The patent segments the GPU context management into multiple independent context slots (first context, second context, third context, etc.) that can be independently allocated and managed. Each context slot maintains its own state and data, allowing the GPU to switch between multiple contexts without complete data clearing, thereby improving utilization while maintaining manageable complexity through structured segmentation
Solution Approach 2:
The patent implements a nested structure where multiple application contexts are nested within the GPU's processing framework. The GPU can host multiple nested context layers simultaneously, with each context containing its own execution state and data. This nesting allows efficient resource sharing and reduces the need for complete context clearing, addressing the utilization-complexity contradiction
2Quantity of substance
If the GPU clears context data from one application before processing another, then memory is freed for the next application, but processing time is lost even when spare capacity exists
Solution Approach 1:
The patent performs preliminary actions by pre-allocating multiple context slots and their associated memory spaces before applications need them. Context data is prepared and staged in advance within designated slots, allowing the GPU to switch between contexts without performing time-consuming clearing operations. The memory is already allocated and ready, eliminating both clearing time and allocation delays
Solution Approach 2:
The patent enables continuous useful action by maintaining multiple active context slots simultaneously rather than clearing and re-allocating memory sequentially. The GPU can switch between pre-loaded contexts without interruption to the useful work being performed, as each context retains its data and state. This continuity eliminates the time loss associated with context clearing while maintaining memory availability through persistent allocation
3Productivity
If multiple contexts from different applications execute concurrently on a shared GPU, then GPU utilization improves, but software synchronization and coordination become more complex
Solution Approach 1:
The patent implements self-service mechanisms where the GPU automatically manages context switching, memory allocation, and resource coordination between multiple concurrent applications without requiring software intervention. The context management system autonomously handles synchronization, allocation, and state maintenance, freeing applications from complex coordination requirements while maintaining efficient multi-context execution
Solution Approach 2:
The patent introduces an intermediary context management layer between the GPU hardware and the applications. This intermediary automatically handles the complex synchronization and coordination tasks, translating high-level application requests into low-level GPU operations. The intermediary shields applications from complexity while enabling efficient concurrent execution through automated resource management
4Productivity
If a workload mapping table is used to allocate compute assets dynamically, then resource allocation efficiency improves, but the system complexity increases
Solution Approach 1:
The patent uses parameter changes by dynamically adjusting workload mapping table entries based on real-time GPU state and application requirements. The system monitors utilization metrics and automatically modifies allocation parameters, context slot assignments, and resource distribution without fundamental system redesign. These parameter adjustments improve allocation efficiency while maintaining the existing system architecture, minimizing complexity increases
Data Source
AI summary
Examples are described here that can be used to allocate commands from multiple sources to performance by one or more segments of a processing device. For example, a processing device can be segmented into multiple portions and each portion is allocated to process commands from a particular source. In the event a single source provides commands, the entire processing device (all segments) can be allocated to process commands from the single source. When a second source provides commands, some segments can be allocated to perform commands from the first source and other segments can be allocated to perform commands from the second source. Accordingly, commands from multiple applications can be executed by a processing unit at the same time.


