Seamless GPU Switching via Buffer Sharing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for switching between integrated graphics processing units (IGPUs) and discrete graphics processing units (DGPUs) in computing systems are either manually intensive, time-consuming, or require rebooting, disrupting running applications and not allowing seamless transitions without changing the display device connection.

Innovation Solution

A method that involves capturing a screenshot of the current display and storing it in a DGPU display buffer within the IGPU's local memory, using the IGPU digital-to-analog converter (DAC) to drive the display, and enabling the DGPU while inserting rendered data from the DGPU into the IGPU's local memory for display, allowing switching between GPUs without terminating applications or rebooting, and without changing the display device connection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If manual unplugging and plugging of display device is used to switch between DGPU and IGPU, then GPU switching can be achieved, but the process becomes manually intensive and time consuming

Engineering Contradiction:
ImproveGPU switching capabilityVSAvoidManual operation complexity
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent replaces the mechanical connection switching (plugging/unplugging display cables) with a software-based virtual switching mechanism. The system uses display buffer sharing and virtual connection management to switch between DGPU and IGPU without physical intervention, thereby resolving the contradiction between achieving GPU switching capability and maintaining ease of operation.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent introduces an intermediary software layer that manages the virtual connection between GPUs and display devices. This intermediary layer coordinates buffer sharing, signal routing, and GPU enablement/disabling operations, allowing seamless switching without direct manual manipulation of physical connections.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If manual switch and reboot are used to switch between DGPU and IGPU, then manual effort is reduced, but time required to switch increases and running applications terminate

Engineering Contradiction:
ImproveManual effort reductionVSAvoidSwitching time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent enables continuous operation of applications during GPU switching by maintaining active display buffers and avoiding system reboot. The system keeps the display device connected and operational while dynamically switching the active GPU, ensuring that useful actions (application execution) continue without interruption throughout the switching process.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent performs preliminary actions by pre-loading display buffers and preparing the alternative GPU before the actual switching event. This ensures that when switching occurs, the target GPU is already ready to take over immediately, minimizing switching time and preventing application termination.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If display device connection is changed to switch between DGPU and IGPU, then GPU switching is achieved, but the display goes blank during transition

Engineering Contradiction:
ImproveGPU switching capabilityVSAvoidDisplay brightness
Core Design Contradiction:
Adaptability or versatilityVSIllumination intensity

Solution Approach 1:

The patent uses display buffer copying to transfer the active display image from one GPU's buffer to another GPU's buffer during switching. This copying operation ensures that the display device continues to receive valid image data throughout the transition, preventing display blanking while achieving GPU switching.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs preliminary buffer copying and display content preparation before the actual GPU switching event. By pre-loading the alternative GPU's display buffer with the current display image, the system ensures continuous display output during the transition, avoiding any blank periods.

Inventive Principle:
Principle #10Preliminary action

4Power

If DGPU is used for graphics-intensive applications, then graphics performance is improved, but power consumption increases

Engineering Contradiction:
ImproveGraphics performanceVSAvoidPower consumption
Core Design Contradiction:
PowerVSUse of energy by moving object

Solution Approach 1:

The patent implements dynamic GPU selection based on application requirements and power availability. The system can switch between DGPU and IGPU depending on whether graphics-intensive tasks are being executed, thereby dynamically adjusting the balance between graphics performance and power consumption rather than being locked into a fixed configuration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the operational parameters of the graphics system by switching between different GPU devices. This parameter change allows the system to adapt its graphics performance level and power consumption profile based on workload requirements, enabling optimized operation for both high-performance and power-saving scenarios.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8233000B1System and method for switching between graphical processing units
Publication Date: 2012.07.31 NVIDIA CORP
  • US8233000B1 patent drawing
  • US8233000B1 patent drawing
  • US8233000B1 patent drawing

AI summary

One embodiment of the present invention sets forth a technique for dynamically switching between a power-saving integrated graphics processing unit (IGPU) and a higher-performance discrete graphics processing unit (DGPU). This technique uses a single graphics driver and a single digital-to-analog converter (DAC) and leverages the GPU switching capability of the operating system to ensure a seamless transition. When additional graphics performance is desired, the system enters a hybrid graphics mode. In this mode, the DGPU is powered-up, and the graphics driver maintains the current display, while the operating system switches applications running on the IGPU to the DGPU. While in the hybrid graphics mode, the DGPU performs the graphics processing, and the graphics driver transmits the rendered images from the DGPU to the IGPU local memory and, then, to the IGPU DAC. This image transmission allows applications to fully exploit the processing capabilities of the DGPU, while using the display device connected to the IGPU.