Virtual GPU Manager for Multi-GPU Graphics Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvegraphics processing throughputVSAvoidGPU management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
ImproveCPU cycle efficiencyVSAvoidrendering performance
Core Design Contradiction:
Loss of energyVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvetotal graphics processing capacityVSAvoidGPU workload distribution flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improverendering throughputVSAvoidmulti-GPU coordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3652645B1Graphical rendering using multiple graphics processors
Publication Date: 2023.08.30 CITRIX SYSTEMS INC
  • EP3652645B1 patent drawingFigure 1
  • EP3652645B1 patent drawingFigure 2
  • EP3652645B1 patent drawingFigure 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.