Vertex Attribute Buffer for Graphics Pipeline Interconnect Scaling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional graphics processing units require additional hardware and wider/speedier bus interconnects to handle increasing vertex attributes for complex image production, leading to inefficiencies in hardware usage and wiring.

Innovation Solution

A system and method where a primitive distribution unit constructs batches of primitives and writes inline attributes and constants to a vertex attribute buffer, allowing multiple parallel processing engines to read from the buffer as needed, enabling flexible scaling of processing engines without changing the interconnect width or speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the number of vertex attributes increases to produce more complex and realistic images, then the image complexity and realism are improved, but the width and speed of the bus interconnects must increase, requiring additional circuitry

Engineering Contradiction:
Improveimage complexityVSAvoidbus interconnect width
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments vertex attributes into two categories: inline attributes (stored in vertex attribute buffers) and immediate attributes (passed directly through the pipeline). This segmentation allows immediate attributes to be handled efficiently without requiring increased bus width, while inline attributes are managed through buffer references that reduce the data transmission burden on the interconnect.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces vertex attribute buffers as an intermediary data structure. Instead of passing all vertex attributes directly through the bus interconnect, the system uses buffer indices as intermediaries that reference stored attribute data. This reduces the amount of data that must be transmitted over the bus, allowing more attributes to be supported without proportionally increasing interconnect width.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple processing units are used in parallel processing, then the processing capability is improved, but the primitives and vertex attributes must be transported for longer distances through bus interconnects

Engineering Contradiction:
Improveprocessing capabilityVSAvoidtransport distance
Core Design Contradiction:
ProductivityVSLength of stationary object

Solution Approach 1:

The patent extracts immediate attributes from the main data flow and handles them separately through the pipeline. By separating attribute handling into buffer-referenced inline attributes and direct-pass immediate attributes, the system reduces the amount of data that needs to be transported across the full distance to multiple processing units, while still enabling parallel processing of all attributes.

Inventive Principle:
Principle #2Taking out (Extraction)

3Power

If the width and speed of bus interconnects are increased, then the transfer capability is improved, but additional circuitry is needed to support the wider and faster transfers

Engineering Contradiction:
Improvetransfer capabilityVSAvoidadditional circuitry
Core Design Contradiction:
PowerVSDevice complexity

Solution Approach 1:

The patent implements a dynamic attribute handling system where the pipeline can process different types of attributes (inline and immediate) with different data paths. This dynamic approach allows the system to maintain high transfer capability for critical attributes through the immediate path while using the buffer reference mechanism for other attributes, avoiding the need for uniformly increased bus width and associated circuitry across all data paths.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8810592B2Vertex attribute buffer for inline immediate attributes and constants
Publication Date: 2014.08.19 NVIDIA CORP
  • US8810592B2 patent drawing
  • US8810592B2 patent drawing
  • US8810592B2 patent drawing

AI summary

One embodiment of the present invention sets forth a technique for providing primitives and vertex attributes to the graphics pipeline. A primitive distribution unit constructs the batches of primitives and writes inline attributes and constants to a vertex attribute buffer (VAB) rather than passing the inline attributes directly to the graphics pipeline. A batch includes indices to attributes, where the attributes for each vertex are stored in a different VAB. The same VAB may be referenced by all of the vertices in a batch or different VABs may be referenced by different vertices in one or more batches. The batches are routed to the different processing engines in the graphics pipeline and each of the processing engines reads the VABs as needed to process the primitives. The number of parallel processing engines may be changed without changing the width or speed of the interconnect used to write the VABs.