Heterogeneous GPU Shared Buffer via Wrapper Driver

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computing systems do not support co-processing between heterogeneous discrete and integral graphics processing units (GPUs), limiting the ability to render graphics on a discrete GPU and present them on a display attached to an integral GPU.

Innovation Solution

A device kernel mode driver agent, such as a wrapper driver, is used to transition rendering from one GPU to another, creating a shared surface in a frame buffer and making it DMA accessible, allowing data transfer between GPUs and presenting rendered images on the integral GPU's display.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a discrete GPU is used for rendering, then graphics processing performance is improved, but the system cannot present rendered graphics on a display attached to an integral GPU

Engineering Contradiction:
Improvegraphics processing performanceVSAvoiddisplay compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a wrapper driver as an intermediary layer between the discrete GPU and the display system. This wrapper driver intercepts and translates display-related commands, enabling the discrete GPU to render graphics that can be presented on displays attached to the integral GPU. The wrapper driver acts as a mediator that bridges the incompatibility between heterogeneous GPUs and the display adapter enumeration system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The wrapper driver provides multi-functionality by handling both discrete GPU rendering operations and integral GPU display presentation operations. It enables the system to universally support heterogeneous GPU configurations where rendering and display functions can be separated across different GPU types, making the system adaptable to various display adapter configurations.

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

2Adaptability or versatility

If the operating system enumerates only the integral GPU attached to the primary display, then display compatibility is maintained, but co-processing between heterogeneous GPUs is not supported

Engineering Contradiction:
Improvedisplay adapter compatibilityVSAvoidco-processing capability
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The wrapper driver serves as an intermediary that allows the operating system to maintain its conventional enumeration approach while enabling co-processing. It translates co-processing requests into operations that the integral GPU can handle for display presentation, while allowing the discrete GPU to perform rendering tasks, thus supporting heterogeneous co-processing without changing the OS enumeration behavior.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the graphics processing workflow into distinct rendering and presentation functions. The discrete GPU handles rendering tasks while the integral GPU handles display presentation, with the wrapper driver coordinating between them. This segmentation enables each GPU to operate in its optimal role while supporting co-processing capabilities.

Inventive Principle:
Principle #1Segmentation

3Productivity

If a wrapper driver is introduced to enable heterogeneous GPU co-processing, then co-processing capability is improved, but device driver complexity increases

Engineering Contradiction:
Improveco-processing capabilityVSAvoiddriver structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The wrapper driver merges the functionality of handling both discrete GPU rendering and integral GPU display presentation into a single driver layer. By combining these functions in one intermediary driver rather than requiring separate drivers for each GPU type, the overall system complexity is reduced while maintaining co-processing capabilities.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9111325B2Shared buffer techniques for heterogeneous hybrid graphics
Publication Date: 2015.08.18 NVIDIA CORP
  • US9111325B2 patent drawing
  • US9111325B2 patent drawing
  • US9111325B2 patent drawing

AI summary

The graphics processing technique includes detecting a transition from rendering graphics on a first graphics processing unit to a second graphics processing, by a hybrid driver. The hybrid driver, in response to detecting the transition, configures the first graphics processing unit to create a frame buffer. Thereafter, an image rendered on the second graphics processing unit may be copied to the frame buffer of the first graphics processing unit. The rendered image in the frame buffer may then be scanned out on the display.