GPU Memory Bandwidth Reduction via Tessellation Patch Subdivision

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata storage capacityVSAvoidtessellation processing performance
Core Design Contradiction:
Quantity of substanceVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If bin rendering mode and tessellation are both enabled, then rendering functionality is enhanced, but memory bandwidth usage increases

Engineering Contradiction:
Improverendering mode flexibilityVSAvoidmemory bandwidth consumption
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Loss of energy

If shading data is stored in GMEM, then memory bandwidth is reduced, but GMEM capacity is limited

Engineering Contradiction:
Improvememory bandwidth usageVSAvoidavailable storage space
Core Design Contradiction:
Loss of energyVSQuantity of substance

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20210209827A1Methods and apparatus for reducing memory bandwidth in multi-pass tessellation
Publication Date: 2021.07.08 QUALCOMM INC
  • US20210209827A1 patent drawing
  • US20210209827A1 patent drawing
  • US20210209827A1 patent drawing

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.