SIMT Processor Shared Register Architecture for Dynamic Predicates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing GPU chip systems have limited and fixed predicate registers per warp, which are insufficient in complex scenarios, leading to underutilization of resources and reduced system performance due to the inability to share predicate registers among warps.

Innovation Solution

Implement a shared register group with dynamically allocated general-purpose registers for each warp, using a predicate base address register to indicate a subset of these registers as predicate registers, allowing for dynamic expansion from 7 to 256 registers and enabling sharing among warps.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If fixed predicate registers are allocated to each warp, then resource allocation is simple, but predicate register resources are insufficient in complex scenarios and cannot be shared among warps

Engineering Contradiction:
Improvepredicate register resource flexibilityVSAvoidregister allocation mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges the concept of predicate registers with general-purpose registers by allowing general-purpose registers to serve dual purposes. Instead of having separate fixed predicate registers for each warp, the system uses a unified register pool where general-purpose registers can be dynamically allocated as predicate registers when needed, enabling resource sharing across multiple warps while maintaining the same physical register structures.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces dynamic allocation mechanisms where the number and assignment of predicate registers to each warp can change during execution. The system can dynamically allocate more predicate registers to warps that need them for complex branching operations while allocating fewer to simpler warps, making the resource distribution adaptive rather than static.

Inventive Principle:
Principle #15Dynamics

2Reliability

If more predicate registers are provided for each warp, then complex branching scenarios can be handled, but resource utilization efficiency decreases when resources are limited

Engineering Contradiction:
Improvebranch instruction execution accuracyVSAvoidsystem performance loss due to resource underutilization
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent makes general-purpose registers universal by enabling them to function as predicate registers when required. This multi-functionality allows the same physical registers to serve different purposes depending on the execution context, eliminating the need for dedicated predicate registers for each warp and improving overall resource utilization while maintaining the capability to handle complex branching scenarios.

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

Solution Approach 2:

The patent changes the parameter of register allocation from fixed to variable. The number of predicate registers assigned to each warp is no longer a constant but can be adjusted based on the actual execution needs, allowing the system to optimize resource distribution dynamically and prevent both resource exhaustion and underutilization.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If predicate registers cannot be shared among warps, then each warp has dedicated resources, but system performance is reduced due to inability to utilize remaining resources

Engineering Contradiction:
Improveinstruction processing throughputVSAvoidavailable predicate register resources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent combines the predicate register spaces of multiple warps into a shared pool by removing the strict per-warp boundaries. General-purpose registers form a unified resource pool that can be allocated to serve as predicate registers for any warp that needs them, enabling inter-warp sharing and improving system-wide productivity while maintaining sufficient resources for each individual warp.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12386622B2Processor, method for executing an instruction on a processor, and computer
Publication Date: 2025.08.12 METAX INTEGRATED CIRCUITS (SHANGHAI) CO LTD
  • US12386622B2 patent drawing
  • US12386622B2 patent drawing
  • US12386622B2 patent drawing

AI summary

The invention provides a processor, a method for executing an instruction on a processor and a computer. The processor comprises at least one single-instruction multiple-thread processing units. The single-instruction multiple-thread processing unit includes a plurality of warps for executing an instruction; a shared register group, which includes a plurality of general-purpose registers shared by the plurality of warps; and a predicate base address register, which is configured to: correspond to the plurality of warps; and indicate a base address for a subset of the plurality of general-purpose registers that serves as a predicate register for the warp in the shared register group, wherein: the warp performs a predicated execution for an instruction in view of a predicate value in the subset of the plurality of general-purpose registers that serves as the predicate register for the warp.