Supplemental Cache for GPU Vertex Value Reuse

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

VSEngineering 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

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidbandwidth requirements
Core Design Contradiction:
ProductivityVSLoss of energy

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #26Copying

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

Engineering Contradiction:
Improvedata transferVSAvoidcache management
Core Design Contradiction:
Loss of energyVSDevice complexity

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.

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

Data Source

PatentUS8384728B2Supplemental cache in a graphics processing unit, and apparatus and method thereof
Publication Date: 2013.02.26 QUALCOMM INC
  • US8384728B2 patent drawing
  • US8384728B2 patent drawing
  • US8384728B2 patent drawing

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.