Graphics Primitive Identification via Offset Table Workload Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The identification of primitives from an input index stream in graphics processing is inefficient due to the need for processing reset indices and varying primitive topologies, which can lead to uneven workload distribution across parallel processing units, causing bottlenecks in graphics rendering.

Innovation Solution

The implementation of offset-based and non-offset-based techniques to classify and process indices, where offset-based techniques calculate offsets to remove reset indices and non-offset-based techniques directly identify primitives based on primitive topology, ensuring efficient primitive identification and distribution across parallel processing units.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If reset indices are processed using traditional methods, then primitive identification is achieved, but processing efficiency decreases and workload distribution becomes uneven

Engineering Contradiction:
Improveprimitive identification efficiencyVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-calculating and storing offset values in an offset table before primitive identification occurs. The offset table pre-computes the number of primitives that would be generated from different starting positions in the index stream, allowing the processing unit to quickly determine workload distribution without real-time calculation. This advance preparation eliminates processing bottlenecks during actual rendering operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an offset table as an intermediary data structure between the index stream and the primitive identification process. This offset table serves as a mediator that translates raw index data into meaningful workload distribution information. By using this intermediate representation, the system avoids direct complex calculations during rendering and instead performs simple table lookups to determine primitive counts and distribute workloads evenly across processing units.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If traditional primitive identification methods are used, then all primitives are identified, but workload distribution across parallel processing units becomes uneven

Engineering Contradiction:
Improveparallel processing utilizationVSAvoidworkload distribution
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent applies local quality by distributing different portions of the index stream to different processing units based on locally determined offset values. Each processing unit receives a specific range of indices and uses the offset table to determine exactly how many primitives its assigned indices will generate. This localized approach ensures that each processing unit has a balanced workload tailored to its specific data segment, rather than attempting uniform global distribution.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the parameter of workload distribution from fixed equal partitions to dynamic partitions based on offset values. By using the offset table to determine variable-sized chunks of indices for each processing unit, the system adapts the distribution parameters to match the actual primitive generation patterns in different regions of the index stream. This parameter change enables better load balancing while maintaining all necessary primitives.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If offset-based techniques are implemented, then workload distribution improves, but system complexity increases

Engineering Contradiction:
Improverendering performanceVSAvoidprocessing system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies copying by creating a simplified copy of the primitive identification logic in the form of an offset table. Instead of implementing complex real-time calculation algorithms in each processing unit, the system pre-computes the results and stores them in a lookup table. Each processing unit simply copies the relevant offset information from the table for its assigned index range, avoiding the need to implement complex calculation logic locally while still achieving accurate workload distribution.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10796483B2Identifying primitives in input index stream
Publication Date: 2020.10.06 ADVANCED MICRO DEVICES INC
  • US10796483B2 patent drawing
  • US10796483B2 patent drawing
  • US10796483B2 patent drawing

AI summary

Techniques for removing reset indices from, and identifying primitives in, an index stream that defines a set of primitives to be rendered, are disclosed. The index stream may be specified by an application program executing on the central processing unit. The technique involves classifying the primitive topology for the index stream as either requiring an offset-based technique or requiring a non-offset-based technique. This classification is done by determining whether, according to the primitive topology, each subsequent index can form a primitive with prior indices (e.g., line strip, triangle strip). If each subsequent index can form a primitive with prior indices, then the technique used is the non-offset-based technique. If each subsequent index does not form a primitive with prior indices, but instead at least two indices are required to form a new primitive (e.g., line list, triangle list), then the technique used is the offset-based technique.