GPU Task Switching via Clock Rate Acceleration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Graphics Processing Units (GPUs) lack a mechanism to quickly switch between tasks, leading to significant task switch times, especially in mobile devices with limited computational power, as they typically execute one task at a time and must complete their current computation before switching to a higher priority task.
Innovation Solution
The method involves increasing the GPU clock rate and, optionally, operating voltage when a higher priority task is detected, allowing the current lower priority task to reach a task switch boundary more quickly, thereby enabling efficient switching between tasks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the GPU completes its current computation before switching tasks, then task execution reliability is maintained, but task switch time increases significantly
Solution Approach 1:
The system performs preliminary actions by pre-computing task switch boundaries and pre-loading task data into on-GPU memory before the actual task switch is needed. This allows the GPU to quickly transition between tasks by simply switching to pre-prepared task segments rather than computing everything from scratch during the switch.
Solution Approach 2:
The patent divides tasks into discrete task segments with defined task switch boundaries. Each task is segmented into manageable units that can be independently loaded and executed, allowing the GPU to switch between segments efficiently without having to complete entire tasks atomically.
2Device complexity
If the GPU executes one task at a time, then task execution simplicity is maintained, but system productivity decreases
Solution Approach 1:
The system maintains continuous useful action by overlapping task execution with task switch preparation. While one task is executing, the system continuously prepares the next task by loading its data and computing its switch boundary into on-GPU memory, ensuring that the GPU is never idle during task transitions.
Solution Approach 2:
Task preparation activities are performed in advance during the execution of the current task. The host system pre-computes task switch boundaries and pre-loads task data into on-GPU memory before the GPU needs to switch tasks, eliminating idle time and maintaining continuous productive operation.
3Reliability
If the GPU pipeline is flushed during task switching, then task switch correctness is ensured, but computational time is lost
Solution Approach 1:
The patent extracts and removes the pipeline flush operation from the task switching process. By using pre-computed task switch boundaries and pre-loaded task data, the system eliminates the need to flush the GPU pipeline during task switches, as the boundaries are carefully chosen to align with task segment completions.
Solution Approach 2:
Task switch boundaries are pre-computed and task data is pre-loaded into on-GPU memory before the actual task switch occurs. This preliminary preparation ensures that when the GPU reaches a task switch boundary, it can immediately begin executing the next pre-loaded task without pipeline flushing or data transfer delays.
Data Source
AI summary
Systems, methods, and computer readable media to improve task switching operations in a graphics processing unit (GPU) are described. As disclosed herein, the clock rate (and voltages) of a GPU's operating environment may be altered so that a low priority task may be rapidly run to a task switch boundary (or completion) so that a higher priority task may begin execution. In some embodiments, only the GPU's operating clock (and voltage) is increased during the task switch operation. In other embodiments, the clock rate (voltages) of supporting components may also be increased. For example, the operating clock for the GPU's supporting memory, memory controller or memory fabric may also be increased. Once the lower priority task has been swapped out, one or more of the clocks (and voltages) increased during the switch operation could be subsequently decreased, though not necessarily to their pre-switch rates.


