GPU Memory Bandwidth Reduction via Tessellation Patch Subdivision
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern GPUs face performance and bandwidth issues when both bin rendering mode and tessellation are enabled, leading to increased memory bandwidth usage and reduced performance, particularly during tessellation processes where main memory is heavily utilized for data storage and retrieval.
Innovation Solution
Re-purposing the Graphics Processing Unit (GPU) memory (GMEM) as an intermediate buffer for tessellation data storage, reducing the need for main memory usage and optimizing bandwidth by configuring the GMEM to store shading data for patches, dividing them into sub-patches when maximum capacity is reached, and processing the data within the GMEM.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If main memory is used for tessellation data storage and retrieval, then data capacity is sufficient, but memory bandwidth usage increases and performance decreases
Solution Approach 1:
The patent segments tessellation data storage into two parts: frequently accessed shading data is stored in GMEM (fast memory), while less frequently accessed data remains in main memory. This segmentation allows the system to optimize for speed on hot data while maintaining sufficient total capacity in main memory, thereby resolving the contradiction between storage capacity and processing performance.
Solution Approach 2:
The patent introduces GMEM as an intermediary buffer between main memory and the tessellation processing pipeline. This intermediary layer caches shading data, reducing the frequency of main memory accesses and thereby decreasing memory bandwidth usage while maintaining data availability for high-speed processing.
2Adaptability or versatility
If bin rendering mode and tessellation are both enabled, then rendering functionality is enhanced, but memory bandwidth usage increases
Solution Approach 1:
The patent makes GMEM serve multiple functions: it acts as both the standard graphics memory for bin rendering operations and as a tessellation data cache. This multi-functionality allows the system to maintain both bin rendering mode and tessellation enabled simultaneously without proportionally increasing memory bandwidth usage, as GMEM handles tessellation data requests without involving main memory.
3Loss of energy
If shading data is stored in GMEM, then memory bandwidth is reduced, but GMEM capacity is limited
Solution Approach 1:
The patent employs preliminary action by pre-loading and caching frequently accessed shading data into GMEM before it is needed for tessellation processing. This advance preparation ensures that hot data is already in fast memory, reducing the need for main memory accesses and thereby reducing memory bandwidth usage while working within GMEM's capacity constraints.
Data Source
AI summary
The present disclosure relates to methods and apparatus for graphics processing. Aspects of the present disclosure can determine at least some shading data for each of a plurality of patches. Further, aspects of the present disclosure can store the at least some shading data for each of the plurality of patches in a GMEM. Additionally, aspects of the present disclosure can communicate the at least some shading data for each of the plurality of patches. In some aspects, the present disclosure can configure the GMEM for storing the at least some shading data for each of a plurality of patches. Aspects of the present disclosure can also calculate when the GMEM has stored a maximum amount of shading data. Moreover, aspects of the present disclosure can divide each of the plurality of patches into one or more sub-patches when the GMEM has stored the maximum amount of shading data.


