Dynamic Wave Spawning in Multithreaded Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional wave spawning techniques in multithreaded processing units, such as GPUs, assume a static resource footprint for all waves, leading to inefficient resource allocation and potential serialization due to varying actual footprints during execution.

Innovation Solution

Measuring and averaging the dynamic footprints of waves over time to dynamically determine the number of waves that can be concurrently executed, allowing for more efficient allocation of shared resources and preventing serialization by adjusting wave spawning based on actual resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If conventional static wave spawning techniques are used, then resource allocation is simplified, but resource utilization efficiency deteriorates due to varying actual footprints

Engineering Contradiction:
Improvesimplicity of wave spawningVSAvoidresource utilization efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent implements dynamic wave spawning by continuously monitoring actual resource footprints of executing waves and adjusting the number of concurrently spawned waves in real-time. This transforms the static wave spawning mechanism into a dynamic system that adapts to varying resource consumption patterns, thereby improving resource utilization efficiency without significantly complicating the spawning process

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs feedback mechanisms by measuring actual resource footprints of executing waves and using this information to adjust future wave spawning decisions. The controller continuously monitors resource usage and feeds this information back to modify the spawning rate, creating a closed-loop control system that optimizes resource utilization while maintaining manageable complexity

Inventive Principle:
Principle #23Feedback

2Device complexity

If static footprint assumption is used, then wave spawning control is simpler, but serialization occurs due to insufficient parallel waves

Engineering Contradiction:
Improvecomplexity of wave spawning controlVSAvoidparallel execution capability
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system dynamically adjusts the number of parallel waves based on actual resource footprint measurements. By transitioning from a fixed spawning policy to a dynamic one that responds to real-time resource usage, the system maintains higher parallel execution capability without proportionally increasing control complexity, as the adjustment logic follows straightforward measurement-and-response patterns

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The wave spawning system essentially serves itself by automatically measuring its own resource footprint and using this self-generated information to adjust its spawning behavior. This self-service approach minimizes external control complexity while maximizing parallel execution capability, as the system autonomously optimizes its own operation based on observed resource consumption

Inventive Principle:
Principle #25Self-service

3Reliability

If maximum static footprint is allocated, then resource allocation is conservative, but resource utilization efficiency deteriorates due to underutilization

Engineering Contradiction:
Improveresource allocation safetyVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically adjusts resource allocation from a conservative static maximum to an adaptive level based on actual wave footprint measurements. By continuously monitoring real resource usage and adjusting allocation accordingly, the system maintains reliability through measured adaptation while dramatically improving resource utilization efficiency by eliminating the waste inherent in always allocating maximum resources

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the allocation parameter from a fixed maximum footprint value to a dynamically determined value based on actual measurements. This parameter transformation allows the system to maintain reliability by basing allocations on observed data while improving efficiency by allocating only the necessary resources rather than always reserving the maximum possible

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3701376B1Wave creation control with dynamic resource allocation
Publication Date: 2024.07.31 ADVANCED MICRO DEVICES INC
  • EP3701376B1 patent drawingFigure 1
  • EP3701376B1 patent drawingFigure 2
  • EP3701376B1 patent drawingFigure 3

AI summary

Footprints (340-343), or resource allocations, of waves within resources that are shared by processor cores (111-114) in a multithreaded processor (105) are measured concurrently with the waves executing on the processor cores. The footprints are averaged over a time interval. A number of waves are spawned and dispatched for execution in the multithreaded processor based on the average footprint. In some cases, the waves are spawned at a rate that is determined based on the average value of the footprints of waves within the resources. The rate of spawning waves is modified in response to a change in the average value of the footprints of the waves within the resources.