Virtual GPU Manager for Multi-GPU Graphics Rendering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems for rendering graphics in desktop or virtual desktop environments inefficiently utilize multiple graphics processors, leading to sub-optimal performance due to the underutilization of integrated GPUs and serialization of rendering operations, especially during heavy-duty workloads.
Innovation Solution
A virtual GPU manager is created to query and classify available physical GPUs based on performance variables, generating a logical GPU that distributes rendering requests across multiple physical GPUs, optimizing the use of both integrated and discreet GPUs by creating logical groupings for heavy-load and light-load processing tasks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single highest-ranked GPU is used for rendering, then rendering operations can be simplified to use only one GPU, but the total graphics processing power available in the system is underutilized
Solution Approach 1:
The patent combines multiple physical GPUs into a single logical GPU entity, allowing the system to leverage the aggregate processing power of all available GPUs while presenting them as one unified resource to applications. This merging approach resolves the contradiction by enabling parallel processing across multiple GPUs without requiring complex management of individual GPU assignments.
Solution Approach 2:
The virtual GPU manager creates a universal interface that can dynamically allocate different physical GPUs to different rendering tasks based on their capabilities and the current workload. This multi-functional approach allows the system to optimize graphics processing throughput by selecting appropriate GPUs for specific tasks while maintaining simplified management through a unified virtual GPU layer.
2Loss of energy
If rendering operations are serialized to a single GPU, then GPU resource management is simplified, but CPU cycles are wasted handling data flow through the graphics processing pipeline
Solution Approach 1:
The patent segments rendering operations into different workloads that can be distributed across multiple physical GPUs. By dividing the rendering pipeline into separable tasks (e.g., geometry processing, rasterization, fragment processing), the system can parallelize these operations across different GPUs, reducing CPU overhead while maintaining high rendering performance.
Solution Approach 2:
The virtual GPU manager acts as an intermediary layer between the CPU and physical GPUs, handling data flow management and coordinating rendering tasks. This intermediary abstraction eliminates direct CPU-GPU data flow bottlenecks by managing memory transfers and command queues at the virtual level, improving both CPU efficiency and rendering performance simultaneously.
3Productivity
If the integrated GPU is ranked lower than the dedicated GPU, then the dedicated GPU can be used for high-performance rendering, but the integrated GPU remains underutilized despite available processing capacity
Solution Approach 1:
The patent implements dynamic GPU selection and workload distribution where the virtual GPU manager can dynamically assign rendering tasks to different physical GPUs based on real-time system conditions, task requirements, and GPU availability. This dynamic approach allows the system to adaptively utilize both integrated and dedicated GPUs, maximizing total processing capacity while maintaining flexibility in workload distribution.
Solution Approach 2:
The system changes the ranking and selection parameters of GPUs based on workload characteristics, task priorities, and system state. By adjusting these parameters dynamically, the virtual GPU manager can optimize which physical GPUs are assigned to specific rendering tasks, ensuring that both integrated and dedicated GPUs are utilized effectively according to their capabilities and current demands.
4Productivity
If multiple physical GPUs are used for rendering, then graphics processing throughput increases, but the system complexity for managing and coordinating multiple GPUs increases
Solution Approach 1:
The patent merges multiple physical GPUs into a unified virtual GPU representation, which simplifies the management interface while enabling parallel processing. This merging approach allows the system to achieve high rendering throughput through parallel GPU execution while avoiding the complexity of managing multiple independent GPU instances, as the virtual layer provides a single point of coordination.
Solution Approach 2:
The virtual GPU manager serves as an intermediary coordination layer that abstracts the complexity of multi-GPU communication and synchronization. By centralizing management functions in this virtual layer, the system can coordinate multiple physical GPUs for high-throughput rendering without requiring complex direct inter-GPU communication protocols or manual synchronization mechanisms.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Aspects described herein are directed to leveraging multiple graphics processors, by a virtual GPU manager, to optimize the rendering of graphics in either a desktop or virtual desktop environment. The virtual GPU manager may enumerate all available physical GPUs, query performance variables including processing capacity of each of the available physical GPUs, and classify each of the physical GPUs based on the queried performance variables. Further, the virtual GPU manager may generate a logical GPU corresponding to one or more of the available physical GPUs. The virtual GPU manager may distribute graphics rendering requests across each of the plurality of available physical GPUs by way of the logical GPU.