GPU Tile Arbitration for Dynamic Parallel Geometry Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing graphics processing units (GPUs) face challenges in reducing latency, power consumption, and size, particularly due to bottlenecks in the geometry processing phase when implementing tile-based rendering techniques.
Innovation Solution
A graphics processing unit (GPU) is configured with a tiling module that includes a plurality of tile pipelines and a tile arbiter, utilizing a dynamic allocation scheme to distribute tile-primitive indications, a tail pointer cache for efficient control stream management, and parallel operation of tile pipelines to enhance geometry processing efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a fixed mapping between tiles and tile pipelines is used, then device complexity is reduced, but productivity decreases due to idle pipelines
Solution Approach 1:
The patent implements dynamic allocation of tiles to tile pipelines, where the mapping is not fixed but changes based on current workload conditions. The tile arbiter dynamically determines which tile pipeline processes which tile-primitive indications, allowing the system to adapt to varying geometric complexity and primitive distribution patterns, thereby maximizing utilization of all tile pipelines without requiring complex static configuration
2Productivity
If more tile pipelines are added to increase processing capacity, then productivity improves, but device complexity and size increase
Solution Approach 1:
The tiling module is segmented into multiple independent tile pipelines, each capable of processing tile-primitive indications autonomously. This segmentation allows the system to scale processing capacity by adding more pipelines while maintaining manageable complexity through modular design, where each pipeline operates as an independent processing unit with standardized interfaces
3Productivity
If tile pipelines operate in parallel on all tiles, then productivity increases, but use of energy increases due to simultaneous activation
Solution Approach 1:
The system dynamically activates only the necessary number of tile pipelines based on the current geometric workload and primitive distribution. The tile arbiter determines which tile pipelines should be active at any given time, allowing parallel processing when needed while reducing active pipeline count during simpler scenes, thereby optimizing the balance between processing speed and power consumption
Data Source
AI summary
A graphics processing unit (GPU) using a rendering space which is sub-divided into a plurality of tiles comprises a plurality of tile pipelines and a tile arbiter. The tile arbiter receives tile-primitive indications, each of which indicates an association between a tile and a set of primitives. The tile arbiter determines which of the tile pipelines to send each of the tile-primitive indications to in accordance with a dynamic allocation scheme. The tile arbiter sends each of the tile-primitive indications to the tile pipeline determined for that tile-primitive indication. Each of the tile pipelines is configured to: receive the tile-primitive indications that are sent to that tile pipeline by the tile arbiter; and use the received tile-primitive indications to, for each of the tiles for which a tile-primitive indication is received at the tile pipeline, include in a control stream for that tile, indications of primitives that are present within that tile.


