Supplemental Cache for GPU Vertex Value Reuse
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Graphics processing units (GPUs) face inefficiencies in processing images due to the repetitive processing and data transfer of vertex coordinates and attributes, particularly when dealing with shared vertices between primitives, which increases computational load and bandwidth requirements.
Innovation Solution
A supplemental cache is introduced to store vertex values generated during primitive setup, allowing for the reuse of values for shared vertices, thereby reducing the need for repetitive computations and data transfer between the vertex cache and the GPU pipeline.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If vertex coordinates and attributes are processed and transferred repeatedly for shared vertices between primitives, then complete processing of all primitives is achieved, but computational load and bandwidth requirements increase
Solution Approach 1:
The patent applies preliminary action by pre-processing and storing vertex coordinates and attributes in a vertex cache before they are needed for primitive processing. This allows shared vertices to be retrieved from the cache rather than being processed repeatedly, reducing computational load and bandwidth requirements while maintaining complete processing coverage.
Solution Approach 2:
The patent uses copying by creating a vertex cache that stores copies of vertex data. Instead of transferring and processing the same vertex coordinates and attributes multiple times for shared vertices, the system retrieves pre-stored copies from the cache, thereby reducing redundant operations and energy consumption.
2Loss of energy
If vertex values are stored in a vertex cache, then data transfer between vertex cache and GPU pipeline is reduced, but cache management complexity increases
Solution Approach 1:
The patent applies universality by designing the vertex cache to serve multiple functions: storing vertex coordinates, storing vertex attributes, and providing fast retrieval for shared vertices. This multi-functional cache structure reduces data transfer requirements while managing complexity through a unified approach rather than separate caching mechanisms.
Data Source
AI summary
Disclosed herein is a supplemental cache for use with a graphics processing unit. The supplemental cache can be used to supplement a vertex cache used with a graphics processing unit. The supplemental cache stores vertex values generated in assembling primitives from vertices provided to the graphics processing unit as part of an image geometry. Generated vertex values associated with a vertex determined to be shared by two or more primitives can be retrieved from the supplemental cache, so as to reduce the need to perform duplicative operations to generate vertex values for shared vertices.


