Virtual Graphics Driver for Seamless GPU Resource Switching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Users of electronic devices with multiple GPUs face disruptions when switching GPU resources, requiring power cycling or logging out, and existing solutions are not applicable to all software or provide seamless switching.
Innovation Solution
A virtual graphics driver that routes function calls between multiple GPUs, allowing seamless switching without user intervention by abstracting the device driver layer into a single virtual driver, enabling seamless rendering between GPUs and managing frame buffer access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If GPU resources are switched between multiple GPUs, then power consumption is reduced and rendering efficiency is improved, but user operation continuity is disrupted requiring power cycling or logout
Solution Approach 1:
A virtual graphics driver is introduced as an intermediary layer between applications and physical GPUs. This virtual driver abstracts the complexity of multiple GPU resources and enables seamless switching between them without requiring user intervention, power cycling, or logout. The virtual driver maintains a consistent interface while routing graphics calls to appropriate physical GPUs dynamically.
Solution Approach 2:
The graphics driver functionality is segmented into a virtual graphics driver that manages multiple physical GPUs independently. Each physical GPU can be controlled and switched individually through the virtual driver, allowing granular resource management while maintaining overall system continuity and user operation seamless experience.
2Adaptability or versatility
If individual applications are modified to enable GPU resource switching, then application-specific GPU switching is achieved, but system-wide compatibility and complexity are reduced
Solution Approach 1:
The virtual graphics driver provides a universal interface that works with all applications without requiring individual application modifications. It enables multi-functionality by supporting both application-specific GPU switching requirements and system-wide compatibility through a standardized abstraction layer that handles diverse graphics workloads across different software.
Data Source
AI summary
Systems and methods are disclosed to enable switching of graphics processing unit (GPU) resources based on different factors. Embodiments include a virtual graphics driver as an interface between GPU drivers and the applications or graphics framework executing on an electronic device. The virtual graphics driver may switch GPU resources from a first GPU to a second GPU by routing function calls to the first GPU or the second GPU. The switching of GPU resources may be based on power management, system events such as hot-plug events, load management, user requests, any other factor, or any combination thereof. In some embodiments, a virtual frame buffer driver is provided that interfaces with the frame buffer of the GPU and provides a virtual view of the frame buffer to manage additional system application programming interfaces (APIs) during the switch.


