Multi-GPU Rendering State Control via Device Masking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiple graphical processor systems, redundant geometry rendering occurs, reducing efficiency and preventing full realization of benefits from parallel processing, as each processor may perform unnecessary rendering operations while not receiving necessary state updates.

Innovation Solution

Implementing a combination of 'SetSubDeviceMask' (SSDM) commands and 'stop' or 'start' geometry pulling commands to control geometry rendering on a per-GPU basis, allowing GPUs to ignore or execute commands and receive state updates without performing unnecessary geometry rendering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If multiple GPUs operate in parallel to increase rendering operations, then rendering speed is improved, but redundant geometry rendering occurs reducing efficiency

Engineering Contradiction:
Improverendering speedVSAvoidrendering efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent segments the rendering workload by dividing the image into different portions (e.g., top half, bottom half, or other regions) and assigning each GPU to render specific segments. This is achieved through commands that instruct each GPU to process only its designated portion, eliminating redundant rendering of the entire scene by all GPUs while maintaining parallel processing benefits.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by allowing different GPUs to have different rendering responsibilities and states. Each GPU can be in different modes (e.g., one rendering geometry while another processes pixels) based on its assigned workload, enabling optimized resource utilization and preventing redundant operations across the multi-GPU system.

Inventive Principle:
Principle #3Local quality

2Loss of information

If all GPUs receive all rendering commands including state updates, then each processor has complete information, but redundant rendering operations are performed

Engineering Contradiction:
Improvestate update informationVSAvoidrendering efficiency
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent implements local quality by allowing different GPUs to receive different subsets of rendering commands based on their specific rendering responsibilities. Each GPU receives only the state updates and commands necessary for its assigned portion of the rendering workload, preventing information overload while avoiding redundant rendering operations.

Inventive Principle:
Principle #3Local quality

3Reliability

If GPUs process all geometries through the rendering engine and pipeline, then complete rendering is achieved, but processing capacity is wasted on unnecessary geometries

Engineering Contradiction:
Improverendering completenessVSAvoidprocessing capacity utilization
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts and processes only the necessary geometries for each GPU's assigned rendering portion. By filtering the geometry pipeline to pass only relevant geometries to each GPU based on its responsibilities, the system avoids wasting processing capacity on geometries that will not be rendered by that particular GPU, while ensuring all necessary geometries are processed for complete rendering.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9324174B2Multi-chip rendering with state control
Publication Date: 2016.04.26 NVIDIA CORP
  • US9324174B2 patent drawing
  • US9324174B2 patent drawing
  • US9324174B2 patent drawing

AI summary

Circuits, methods, and apparatus that provide multiple graphics processor systems where specific graphics processors can be instructed to not perform certain rendering operations while continuing to receive state updates, where the state updates are included in the rendering commands for these rendering operations. One embodiment provides commands instructing a graphics processor to start or stop rendering geometries. These commands can be directed to one or more specific processors by use of a set-subsystem device mask.