GPU Register Renaming via Fixed and Shared Partitioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current GPU designs face performance penalties due to insufficient on-chip registers, leading to register spills in main memory, and increasing hardware cost and power consumption with larger register files.

Innovation Solution

Implementing dynamic register renaming logic that partitions the register space into a fixed and shared portion, allowing variables to be dynamically renamed and reused across hardware contexts, with compiler assistance and ISA support for efficient register allocation and release.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the number of registers allocated to a hardware context is increased, then GPU performance is improved by reducing register spills to main memory, but hardware cost and power consumption increase

Engineering Contradiction:
ImproveGPU performanceVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

Multiple hardware contexts share a single unified register file instead of each context having a dedicated register file. The register renaming logic dynamically maps virtual registers from different contexts to physical registers in the shared register file, enabling multiple contexts to utilize the same physical registers at different times and improving overall utilization efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system implements dynamic register allocation through register renaming logic that can dynamically map virtual registers to physical registers based on current execution needs. This dynamic approach allows the register file to adapt to varying workload requirements, optimizing the balance between performance and resource utilization.

Inventive Principle:
Principle #15Dynamics

2Productivity

If the number of registers allocated to a hardware context is increased, then GPU performance is improved by reducing register spills to main memory, but hardware cost increases

Engineering Contradiction:
ImproveGPU performanceVSAvoidhardware cost
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Multiple hardware contexts share a single unified register file instead of each context having a dedicated register file. The register renaming logic dynamically maps virtual registers from different contexts to physical registers in the shared register file, enabling multiple contexts to utilize the same physical registers at different times and improving overall utilization efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The unified register file serves multiple hardware contexts simultaneously, making the register file a universal resource. The register renaming logic enables the same physical registers to be used by different contexts at different times, maximizing the utility of each physical register and reducing the total number of registers needed.

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

3Productivity

If dynamic register renaming is implemented to share registers across hardware contexts, then register file utilization is improved, but context switching overhead increases

Engineering Contradiction:
Improveregister file utilizationVSAvoidcontext switching overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The register renaming logic pre-allocates and pre-maps virtual registers to physical registers before context switching occurs. By maintaining rename tables that track virtual-to-physical register mappings, the system prepares register state in advance, allowing for faster context switching as the mapping information is already available and does not require recalculation during switching.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of physically copying register states during context switching, the system uses register renaming to create logical copies through mapping. The rename tables store virtual-to-physical register mappings that can be quickly switched between contexts, avoiding the need for actual data copying while maintaining the illusion of separate register files for each context.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10565670B2Graphics processor register renaming mechanism
Publication Date: 2020.02.18 INTEL CORP
  • US10565670B2 patent drawing
  • US10565670B2 patent drawing
  • US10565670B2 patent drawing

AI summary

A processing apparatus is described. The apparatus includes a graphics processing unit (GPU), including a plurality of execution units to process graphics context data and a register file having a plurality of registers to store the graphics context data; and register renaming logic to facilitate dynamic renaming of the plurality of registers by logically partitioning the plurality of registers in the register file into a set of fixed registers and a set of shared registers.