GPU Shared ALU Pipeline Rearrangement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional graphics processing unit (GPU) pipelines face inefficiencies due to the sequential processing of image data, which leads to bottlenecks and increased power consumption, especially when handling complex three-dimensional graphics and large numbers of attributes.

Innovation Solution

The GPU pipeline is rearranged to utilize shared arithmetic logic units (ALUs) and an extended vertex cache, allowing for deferred attribute gradient setup until after primitive rejection, thereby reducing data transfer and computations, and enabling ALU sharing between attribute gradient setup and interpolation stages.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional GPU pipelines process image data sequentially through each stage, then processing order is maintained and simplicity is preserved, but bottlenecks occur and power consumption increases

Engineering Contradiction:
Improveprocessing throughputVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent applies preliminary action by performing primitive rejection before attribute gradient setup. This reordering allows the system to eliminate rejected primitives early in the pipeline, preventing unnecessary computation of attribute gradients for primitives that will ultimately be discarded. The extended vertex cache stores vertex attributes in advance, enabling efficient access during later stages without requiring re-computation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the GPU pipeline into distinct functional stages with clear boundaries: vertex shader stage, primitive setup stage, primitive rejection stage, attribute gradient setup stage, and attribute interpolation stage. This segmentation allows each stage to operate independently and efficiently, with the shared ALU being dynamically allocated to different stages based on current processing needs, thereby improving overall throughput while managing power consumption.

Inventive Principle:
Principle #1Segmentation

2Productivity

If separate ALUs are allocated to attribute gradient setup and attribute interpolation stages, then each stage has dedicated processing power, but device complexity and resource utilization increase

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidALU configuration
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements universality by designing a shared ALU that can be dynamically allocated to different pipeline stages based on current processing requirements. The same ALU hardware resource performs attribute gradient setup computations during one time period and attribute interpolation computations during another time period, eliminating the need for separate dedicated ALUs for each function while maintaining processing efficiency.

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

Solution Approach 2:

The patent applies dynamics by making the ALU allocation flexible and time-dependent rather than static. The pipeline controller dynamically assigns the shared ALU to different stages based on which operations need to be performed at any given moment, allowing the system to adapt resource allocation to the actual computational demands of the current frame or batch of graphics data being processed.

Inventive Principle:
Principle #15Dynamics

3Manufacturing precision

If attribute gradient setup is performed before primitive rejection, then all primitives receive gradient computation, but unnecessary computations occur for rejected primitives

Engineering Contradiction:
Improveattribute computation accuracyVSAvoidcomputational efficiency
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent applies preliminary action by performing primitive rejection before attribute gradient setup. This reordering allows the system to eliminate rejected primitives early in the pipeline, preventing unnecessary computation of attribute gradients for primitives that will ultimately be discarded. The extended vertex cache stores vertex attributes in advance, enabling efficient access during later stages without requiring re-computation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8009172B2Graphics processing unit with shared arithmetic logic unit
Publication Date: 2011.08.30 QUALCOMM INC
  • US8009172B2 patent drawing
  • US8009172B2 patent drawing
  • US8009172B2 patent drawing

AI summary

This disclosure describes a graphics processing unit (GPU) pipeline that uses one or more shared arithmetic logic units (ALUs). In order to facilitate such sharing of ALUs, the stages of the disclosed GPU pipeline may be rearranged relative to conventional GPU pipelines. In addition, by rearranging the stages of the GPU pipeline, efficiencies may be achieved in the image processing. Unlike conventional GPU pipelines, for example, an attribute gradient setup stage can be located much later in the pipeline, and the attribute interpolator stage may immediately follow the attribute gradient setup stage. This allows sharing of an ALU by the attribute gradient setup and attribute interpolator stages. Several other techniques and features for the GPU pipeline are also described, which may improve performance and possibly achieve additional processing efficiencies.