Sub-patch Distributor for Balanced Tessellation Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional workload distributors in graphics processing units (GPUs) inefficiently distribute sub-patches among tessellators, leading to uneven tessellation workloads and idle periods, reducing the overall efficiency of the graphics pipeline.

Innovation Solution

A sub-patch distributor that recursively groups sub-patches based on a specified primitive group limit, ensuring each group contains a similar number of primitives, thereby distributing tessellation operations more evenly among tessellators.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional workload distributors distribute sub-patches among tessellators, then the tessellation stage can process primitives, but the distribution is inefficient causing uneven workloads and idle periods

Engineering Contradiction:
Improvetessellation processing throughputVSAvoididle periods of tessellators
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The input patch is divided into multiple sub-patches, and each sub-patch is further segmented into groups of primitives. The distributor assigns complete groups of primitives to tessellators rather than individual sub-patches, ensuring that each tessellator receives a balanced workload. This segmentation approach prevents some tessellators from finishing early and waiting for others, thereby reducing idle periods while maintaining high processing throughput.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If sub-patches are distributed without considering group limits, then distribution is simple, but workload becomes uneven across tessellators

Engineering Contradiction:
Improvedistribution simplicityVSAvoidtessellator utilization efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The distribution algorithm incorporates a primitive group limit parameter that controls the maximum number of primitives assigned to each tessellator. By adjusting this parameter, the system can balance workload evenly across tessellators while maintaining a relatively simple distribution mechanism. The group limit ensures that no single tessellator is overloaded, preventing idle periods in other tessellators and improving overall utilization efficiency without significantly complicating the distribution logic.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11527033B2Tessellator sub-patch distribution based on group limits
Publication Date: 2022.12.13 ADVANCED MICRO DEVICES INC
  • US11527033B2 patent drawing
  • US11527033B2 patent drawing
  • US11527033B2 patent drawing

AI summary

A graphics pipeline includes a tessellator stage having a sub-patch distributor and a plurality of tessellators. The sub-patch distributor divides an input patch into a plurality of sub-primitive groups, with the primitive group limit governing the maximum permissible size for a given group of sub-primitives to be assigned to a tessellator. The sub-patch distributor recursively identifies a plurality of regions of the input patch, with the size and number of primitives of each region based on the specified primitive group limit. The sub-patch distributor assigns different regions to different sub-patch groups and distributes the sub-patch groups among the plurality of tessellators.