APD Wavefront Resume via Partial Thread Masking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computing systems face challenges in efficiently resuming a graphics processing unit (GPU) wavefront due to limitations in programming ecosystems, memory systems, scheduling, and power consumption, leading to increased latency and processing burden on the CPU when executing computational commands.

Innovation Solution

A method for restoring a partially completed wavefront in an accelerated processing device (APD) by masking a portion of the restored wavefront, allowing only faulted elements to be retried, thereby reducing latency and improving hardware resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all threads in a wavefront are retried when a context switch is requested, then system reliability is improved by ensuring all operations are completed, but system latency increases and hardware resources are wasted

Engineering Contradiction:
Improvewavefront completion reliabilityVSAvoidwavefront resume latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The wavefront is segmented into individual thread elements, allowing selective tracking and retry of only those threads that have not yet been acknowledged. This segmentation enables the system to identify and re-execute only the faulted subset of threads rather than the entire wavefront, thereby reducing resume latency while maintaining reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by treating each thread within the wavefront differently based on its acknowledgment status. Threads that have been acknowledged are excluded from retry, while unacknowledged threads are targeted for re-execution. This localized differentiation optimizes resource usage by applying retry operations only where necessary.

Inventive Principle:
Principle #3Local quality

2Power

If computational commands are sent to GPU for execution, then processing power is improved by utilizing GPU capabilities, but dispatch overhead and latency increase

Engineering Contradiction:
Improvecomputational processing powerVSAvoidcommand dispatch latency
Core Design Contradiction:
PowerVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-tracking the acknowledgment status of each thread within a wavefront before a context switch occurs. This pre-tracking allows the system to quickly identify which specific threads need retry after suspension, eliminating the need to re-execute entire wavefronts and thereby reducing dispatch latency when resuming computational commands on the GPU.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If faulted wavefronts are context switched out and restored later, then system adaptability is improved by enabling process management, but hardware resources are occupied and idle during fault handling

Engineering Contradiction:
Improveprocess management capabilityVSAvoidhardware utilization efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent extracts and isolates the faulted thread elements from the completed portions of the wavefront. By taking out only the unacknowledged threads for retry while allowing acknowledged threads to proceed, the system enables efficient process management without leaving hardware resources idle, thereby maintaining both adaptability and productivity.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9329893B2Method for resuming an APD wavefront in which a subset of elements have faulted
Publication Date: 2016.05.03 ADVANCED MICRO DEVICES INC
  • US9329893B2 patent drawing
  • US9329893B2 patent drawing
  • US9329893B2 patent drawing

AI summary

A method resumes an accelerated processing device (APD) wavefront in which a subset of elements have faulted. A restore command for a job including a wavefront is received. A list of context states for the wavefront is read from a memory associated with a APD. An empty shell wavefront is created for restoring the list of context states. A portion of not acknowledged data is masked over a portion of acknowledged data within the restored wavefronts.