Multi-GPU Rendering State Control via Device Masking
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
Data Source
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.


