GPU Tile Pipelines with Dynamic Primitive Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphics processing units (GPUs) face challenges in reducing latency, power consumption, and size while implementing tile-based rendering techniques, often requiring trade-offs between these factors.

Innovation Solution

A graphics processing unit (GPU) with a tiling module that includes a plurality of tile pipelines and a tile arbiter, utilizing a dynamic allocation scheme to distribute tile-primitive indications, and a tail pointer cache to manage control streams, allowing parallel processing and efficient tile management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If tile-based rendering techniques are implemented with fixed mapping between tiles and tile pipelines, then device complexity is reduced, but productivity decreases due to idle tile pipelines

Engineering Contradiction:
Improvetile processing throughputVSAvoidtile pipeline management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic allocation of tiles to tile pipelines, where the mapping between tiles and tile pipelines is not fixed but changes based on current workload. The tile arbiter dynamically determines which tile pipeline processes which tile-primitive indications, allowing the system to adapt to varying primitive distribution patterns and prevent tile pipeline idle time while maintaining manageable complexity through centralized arbitration.

Inventive Principle:
Principle #15Dynamics

2Productivity

If multiple tile pipelines are used to process tiles in parallel, then productivity increases, but device complexity and power consumption increase

Engineering Contradiction:
Improvegeometry processing speedVSAvoidGPU power consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The system dynamically activates only the necessary number of tile pipelines based on the current workload. The tile arbiter receives tile-primitive indications and dynamically determines which tile pipelines are needed, allowing the GPU to scale power consumption with actual processing needs rather than maintaining all tile pipelines at full power continuously.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the operational parameters of tile pipelines dynamically - specifically, the number of active tile pipelines is adjusted based on workload demands. This parameter change allows the system to optimize between productivity and power consumption by activating additional tile pipelines only when processing capacity is needed.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If dynamic allocation scheme is used to distribute tile-primitive indications, then productivity increases by reducing idle time, but device complexity increases due to arbitration logic

Engineering Contradiction:
Improvetile pipeline utilizationVSAvoidtile arbiter complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The tile arbiter is designed as a multi-functional component that handles multiple tasks: receiving tile-primitive indications from geometry processing logic, determining optimal tile pipeline assignments dynamically, managing the allocation of tiles to available tile pipelines, and coordinating to prevent conflicts. This universal arbitration logic consolidates multiple control functions into a single component, managing complexity while enabling dynamic allocation benefits.

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

Data Source

PatentEP4645234A1Graphics processing unit for processing primitives using a rendering space which is sub-divided into a plurality of tiles
Publication Date: 2025.11.05 IMAGINATION TECH LTD
  • EP4645234A1 patent drawingFigure 1
  • EP4645234A1 patent drawingFigure 2
  • EP4645234A1 patent drawingFigure 3

AI summary

A graphics processing unit (GPU) and method are described for processing primitives using a rendering space which is sub-divided into a plurality of tiles. The GPU comprises a tiling module, which comprises a plurality of tile pipelines and a tile arbiter. The tile arbiter receives tile-primitive indications, wherein each of the tile-primitive indications indicates an association between a tile and a set of one or more primitives. The tile arbiter determines which of the tile pipelines to send each of the tile-primitive indications to in accordance with a dynamic allocation scheme which does not have a fixed mapping between tiles and tile pipelines. The tile arbiter sends each of the tile-primitive indications to the tile pipeline determined for that tile-primitive indication. Each of the tile pipelines is configured to: receive the tile-primitive indications that are sent to that tile pipeline by the tile arbiter; and use the received tile-primitive indications to, for each of the tiles for which a tile-primitive indication is received at the tile pipeline, include in a control stream for that tile, indications of primitives that are present within that tile.