Distributed Geometry Processing Across Chiplets for Lower Rendering Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The serial processing of graphics primitives in graphics processing units (GPUs) increases latency and reduces performance, limiting the efficiency of graphics rendering.
Innovation Solution
Implementing a distributed geometry processing scheme where each chiplet in a GPU determines its own work portions from an index buffer independently and in parallel, eliminating the need for a central distributor, allowing for parallel processing of graphics tasks across multiple chiplets.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If serial processing is used in GPU graphics pipeline, then processing simplicity is maintained, but rendering latency increases and performance decreases
Solution Approach 1:
The patent divides the graphics processing workload into discrete primitives that can be independently processed. Each primitive (triangle, polygon, or patch) is treated as a separate processing unit that can be handled by different processing elements simultaneously, enabling parallel execution while maintaining organized processing flow
Solution Approach 2:
The patent transitions from traditional serial single-dimension processing to multi-dimensional parallel processing by introducing multiple processing elements (shader processors, geometry processors, raster processors) that operate simultaneously on different primitives or different stages of the same primitive, effectively adding processing dimensions
2Productivity
If parallel processing is implemented across multiple chiplets, then rendering efficiency improves, but synchronization complexity increases
Solution Approach 1:
The patent performs preliminary actions by pre-calculating and storing primitive data (vertices, indices, attributes) in memory before parallel processing begins. Each processing element fetches its assigned primitives independently from memory, eliminating the need for complex real-time synchronization during processing
Solution Approach 2:
Each processing element (chiplet) autonomously determines its own work portions and processes primitives independently without requiring centralized coordination. The system achieves parallelism through self-service processing where each unit manages its own execution flow, reducing synchronization overhead
3Ease of operation
If centralized work distribution is used, then processing coordination is simplified, but communication overhead increases and parallelism is limited
Solution Approach 1:
The patent extracts the work distribution function from a centralized controller and embeds it directly into each processing element. Each chiplet independently determines its own primitive assignments by calculating which primitives fall within its processing range, eliminating the need for centralized work distribution and reducing communication overhead
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Systems, apparatuses, and methods for performing geometry work in parallel on multiple chiplets are disclosed. A system includes a chiplet processor with multiple chiplets for performing graphics work in parallel. Instead of having a central distributor to distribute work to the individual chiplets, each chiplet determines on its own the work to be performed. For example, during a draw call, each chiplet calculates which portions to fetch and process of one or more index buffer(s) corresponding to one or more graphics object(s) of the draw call. Once the portions are calculated, each chiplet fetches the corresponding indices and processes the indices. The chiplets perform these tasks in parallel and independently of each other. When the index buffer(s) are processed, one or more subsequent step(s) in the graphics rendering process are performed in parallel by the chiplets.