Multi-Pipeline Graphics Super-Tiling for Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional graphics processing systems face performance bottlenecks due to load balancing issues and inefficient resource utilization, particularly when processing complex graphics and high-resolution video, leading to wasted computing resources and decreased performance.

Innovation Solution

A multi-pipeline graphics processing system that subdivides the frame buffer into a repeating pattern of square regions or 'tiles,' where each graphics pipeline processes an equal portion of the data, ensuring balanced load distribution and improved texture cache efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If the frame buffer is partitioned into vertical strips for multi-pipeline processing, then processing time is reduced and refresh rate requirement is met, but load balancing deteriorates when all primitives of an object are located in one strip

Engineering Contradiction:
Improveprocessing timeVSAvoidcomputing resource utilization
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The frame buffer is divided into multiple vertical strips, each assigned to a separate graphics processing circuit. This segmentation allows parallel processing of different portions of the frame, reducing overall processing time while maintaining the ability to handle complex graphics scenarios through distributed computation across multiple circuits.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each graphics processing circuit is assigned specific vertical strips based on the spatial distribution of primitives. The system adapts the assignment dynamically, assigning more strips to circuits that receive fewer primitives and fewer strips to circuits that receive more primitives, thereby achieving load balancing while maintaining efficient parallel processing.

Inventive Principle:
Principle #3Local quality

2Productivity

If strip width is increased to reduce the number of strips, then load balancing improves, but cache efficiency deteriorates due to reduced number of cache lines

Engineering Contradiction:
Improveload balancingVSAvoidcache efficiency
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system dynamically adjusts the number of active graphics processing circuits based on the distribution of primitives across strips. When primitives are unevenly distributed, the system activates only the necessary number of circuits, optimizing both load balancing and cache utilization. This dynamic adaptation allows the system to maintain efficient cache lines while achieving good load balancing.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the effective number of active processing circuits as a parameter based on the primitive distribution pattern. By adjusting which circuits are active rather than fixing a constant number of circuits, the system optimizes the balance between load distribution and cache efficiency, achieving both goals simultaneously.

Inventive Principle:
Principle #35Parameter changes

3Speed

If conventional strip partitioning is used, then processing speed is maintained, but computing resources are wasted when only half of the graphics processing circuits are operating

Engineering Contradiction:
Improveprocessing speedVSAvoidcomputing resource waste
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The system dynamically activates only the necessary number of graphics processing circuits based on the actual workload distribution. When primitives are concentrated in fewer strips, the system activates only those circuits, avoiding waste of computing resources while maintaining high processing speed through the active circuits. This dynamic activation ensures optimal resource utilization without sacrificing performance.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8933945B2Dividing work among multiple graphics pipelines using a super-tiling technique
Publication Date: 2015.01.13 ADVANCED SILICON TECHNOLOGIES LLC
  • US8933945B2 patent drawing
  • US8933945B2 patent drawing
  • US8933945B2 patent drawing

AI summary

A graphics processing circuit includes at least two pipelines operative to process data in a corresponding set of tiles of a repeating tile pattern, a respective one of the at least two pipelines operative to process data in a dedicated tile, wherein the repeating tile pattern includes a horizontally and vertically repeating pattern of square regions. A graphics processing method includes receiving vertex data for a primitive to be rendered; generating pixel data in response to the vertex data; determining the pixels within a set of tiles of a repeating tile pattern to be processed by a corresponding one of at least two graphics pipelines in response to the pixel data, the repeating tile pattern including a horizontally and vertically repeating pattern of square regions; and performing pixel operations on the pixels within the determined set of tiles by the corresponding one of the at least two graphics pipelines.