Programmable Dispatch Walk for Thread Group Power Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional processing systems face inefficiencies due to fixed dispatch orders of thread groups, leading to increased power consumption and resource overhead from repeated data swaps, as they fail to adapt to the specific data sharing patterns and operations between thread groups.

Innovation Solution

Implementing a programmable dispatch walk based on a customizable access pattern stored in a programmable table, allowing the processing unit to dynamically adjust the dispatch order of thread groups to minimize data swaps and optimize data sharing, thereby reducing power consumption and improving processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a fixed dispatch order of thread groups is used, then the processing system maintains simple hardware control logic, but power consumption increases and processing efficiency decreases due to repeated data swaps

Engineering Contradiction:
Improvecontrol logic complexityVSAvoidpower consumption
Core Design Contradiction:
Device complexityVSUse of energy by moving object

Solution Approach 1:

The patent implements a dynamic dispatch order that adapts to different data sharing patterns between thread groups. Instead of a fixed dispatch sequence, the system dynamically determines the optimal dispatch order based on the specific computational workload and data access patterns, allowing thread groups to be dispatched in an order that maximizes data reuse and minimizes memory swaps, thereby reducing power consumption without requiring complex control logic

Inventive Principle:
Principle #15Dynamics

2Device complexity

If a fixed dispatch order of thread groups is used, then the hardware control logic remains simple, but processing efficiency decreases due to increased data swap overhead

Engineering Contradiction:
Improvecontrol logic complexityVSAvoidprocessing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system employs a dynamic dispatch mechanism that adjusts the thread group execution order based on data sharing patterns. By analyzing which thread groups share data and in what patterns, the system dynamically reorders dispatch to maximize cache utilization and minimize expensive memory swaps, thereby improving processing efficiency while keeping the hardware control logic relatively simple through programmable flexibility

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the dispatch order parameter dynamically based on the computational workload characteristics. Different computational patterns (e.g., cooperative matrix multiplication, stencil operations) have different optimal dispatch orders, and the system adjusts this parameter to match the specific workload, maximizing processing efficiency without requiring complex permanent hardware changes

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If a fixed dispatch order is used, then the system structure remains simple, but data sharing optimization is insufficient leading to increased memory access overhead

Engineering Contradiction:
Improvesystem structureVSAvoidenergy lost to data swaps
Core Design Contradiction:
Device complexityVSLoss of energy

Solution Approach 1:

The system dynamically adapts the dispatch order to match data sharing patterns between thread groups. By detecting which thread groups share data and how they access it, the system dynamically reorders their dispatch to maximize spatial and temporal locality, ensuring that data loaded into the memory hierarchy is reused by subsequent thread groups, thereby reducing the frequency and volume of data swaps and the associated energy loss

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent performs preliminary analysis of data sharing patterns before dispatching thread groups. By pre-determining the optimal dispatch order based on anticipated data sharing requirements, the system prepares the memory hierarchy in advance to maximize data reuse, reducing the need for subsequent data swaps and the energy they consume

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20230195509A1Variable dispatch walk
Publication Date: 2023.06.22 ATI TECHNOLOGIES ULC
  • US20230195509A1 patent drawing
  • US20230195509A1 patent drawing
  • US20230195509A1 patent drawing

AI summary

A processing unit performs a dispatch walk of a set of thread groups based on a programmable access pattern. The access pattern is stored at a table that is programmed with the access pattern based upon a specified command. By using the command to program the table with different access patterns, the dispatch order of the set of thread groups is adapted to better suit the processing of different data sets, thereby reducing power consumption at the processing unit, and improving overall processing efficiency.