Hierarchical GPU Register File for Wavefront Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The number of in-flight wavefronts that can be processed by a graphics processing unit (GPU) is limited by the size of the register file, which restricts processing efficiency due to limited circuit area and power constraints.

Innovation Solution

A hierarchical register file is implemented, where the top level is stored at local memory and lower levels at remote memory, with a register file control module managing execution data based on wavefront status to optimize storage and retrieval, allowing for a higher number of in-flight wavefronts without increasing circuit area or power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the register file size is increased to support more in-flight wavefronts, then processing efficiency is improved, but circuit area and power consumption increase

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidcircuit area
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The register file is segmented into multiple levels: a first level (local memory) and a second level (remote memory). This segmentation allows the system to have a large total register file size while keeping the locally accessible portion small, thus improving processing efficiency without proportionally increasing circuit area.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to the register file structure, organizing registers across multiple memory levels rather than a single flat structure. This dimensional change enables efficient access to frequently used registers at the local level while storing less frequently accessed registers remotely, resolving the area-efficiency tradeoff.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If the register file size is increased to support more in-flight wavefronts, then processing efficiency is improved, but power consumption increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The register file is segmented into multiple levels: a first level (local memory) and a second level (remote memory). This segmentation allows the system to have a large total register file size while keeping the locally accessible portion small, thus improving processing efficiency without proportionally increasing circuit area.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different levels of the hierarchical register file have different access characteristics and are optimized for different usage patterns. The local memory provides fast access for active wavefronts, while remote memory provides capacity for inactive wavefronts, creating local quality variations that optimize both performance and power usage.

Inventive Principle:
Principle #3Local quality

3Productivity

If a large register file is provided to support more in-flight wavefronts, then the number of in-flight wavefronts increases, but execution latency increases for remote access

Engineering Contradiction:
Improvenumber of in-flight wavefrontsVSAvoidexecution latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system proactively transfers execution data from the second level (remote memory) to the first level (local memory) before it is needed, based on prediction of when wavefronts will become active. This preliminary action ensures that data is ready in fast local memory when needed, avoiding latency penalties.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The register file control module monitors the status of in-flight wavefronts and uses this feedback to make intelligent decisions about data transfer timing. By tracking which wavefronts are active, inactive, or predicted to become active, the system optimizes when to move data between memory levels, balancing latency and resource usage.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10853904B2Hierarchical register file at a graphics processing unit
Publication Date: 2020.12.01 ADVANCED MICRO DEVICES INC
  • US10853904B2 patent drawing
  • US10853904B2 patent drawing
  • US10853904B2 patent drawing

AI summary

A processor employs a hierarchical register file for a graphics processing unit (GPU). A top level of the hierarchical register file is stored at a local memory of the GPU (e.g., a memory on the same integrated circuit die as the GPU). Lower levels of the hierarchical register file are stored at a different, larger memory, such as a remote memory located on a different die than the GPU. A register file control module monitors the status of in-flight wavefronts at the GPU, and in particular whether each in-flight wavefront is active, predicted to be become active, or inactive. The register file control module places execution data for active and predicted-active wavefronts in the top level of the hierarchical register file and places execution data for inactive wavefronts at lower levels of the hierarchical register file.