Multi-GPU Geometry Pretesting for Rendering Workload Distribution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current multi-GPU rendering technologies struggle to efficiently handle increased screen pixel counts and geometry density, as multiple GPUs cannot simultaneously process and render more complex scenes or images effectively due to uneven workload distribution and inefficiencies in rendering geometry across multiple GPUs.
Innovation Solution
The method involves dividing the responsibility for rendering geometry across multiple GPUs based on interleaved screen regions, where each GPU performs geometry testing to determine its workload and skips rendering if geometry does not overlap its assigned regions, optimizing the rendering process by utilizing information generated during pretesting to efficiently allocate and process geometry.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple GPUs are used to render complex scenes with increased pixel counts and geometry density, then rendering capability and throughput are improved, but workload distribution becomes uneven and rendering efficiency deteriorates
Solution Approach 1:
The screen is divided into multiple screen regions that are interleaved and assigned to different GPUs. Each GPU is responsible for rendering specific screen regions, creating a segmented division of labor. This segmentation allows complex rendering tasks to be distributed across multiple GPUs, improving throughput while maintaining manageable workload distribution through systematic region assignment.
Solution Approach 2:
Geometry pretesting is performed before actual rendering to determine which geometry pieces overlap with which screen regions. This preliminary action identifies the workload distribution in advance, allowing each GPU to be assigned only the geometry relevant to its assigned screen regions. This prevents uneven workload distribution during the actual rendering phase by establishing efficient task allocation beforehand.
2Quantity of substance
If traditional multi-GPU rendering is used, then more geometry can be processed, but rendering efficiency decreases due to inability to skip unnecessary geometry processing
Solution Approach 1:
Geometry pretesting is performed before rendering to determine overlap between geometry pieces and screen regions. This preliminary action identifies which geometry needs to be rendered and which can be skipped, allowing GPUs to process only relevant geometry during the actual rendering phase, thereby maintaining high geometry processing capacity while improving rendering efficiency.
Solution Approach 2:
The patent extracts and separates the geometry testing function from the rendering function. By performing geometry pretesting independently before rendering, the system can identify and exclude geometry that does not overlap with assigned screen regions. This extraction allows the rendering process to focus only on relevant geometry, improving efficiency without reducing overall geometry processing capacity.
3Speed
If geometry is assigned to multiple GPUs without pretesting, then rendering can proceed in parallel, but unnecessary geometry is processed leading to wasted computational resources
Solution Approach 1:
Geometry pretesting is performed before parallel rendering to determine which geometry pieces are relevant to which screen regions. This preliminary action prevents unnecessary geometry from being assigned to GPUs, ensuring that parallel rendering processes only relevant geometry. This maintains high rendering speed while eliminating computational resource waste that would occur from processing irrelevant geometry.
Solution Approach 2:
The pretesting phase provides feedback information about geometry-screen region overlaps, which is used to optimize geometry assignment to GPUs. This feedback mechanism ensures that each GPU receives only the geometry relevant to its assigned screen regions, preventing waste of computational resources while maintaining parallel processing speed for efficient rendering.
Data Source
AI summary
A method including rendering graphics for an application using graphics processing units (GPUs). Responsibility for rendering of geometry is divided between GPUs based on screen regions, each GPU having a corresponding division of the responsibility which is known. First pieces of geometry are rendered at the GPUs during a rendering phase of a previous image frame. Statistics are generated for the rendering of the previous image frame. Second pieces of geometry of a current image frame are assigned based on the statistics to the GPUs for geometry testing. Geometry testing at a current image frame on the second pieces of geometry is performed to generate information regarding each piece of geometry and its relation to each screen region, the geometry testing performed at each of the GPUs based on the assigning. The information generated for the second pieces of geometry is used when rendering the geometry at the GPUs.


