GPU Trace Replay for Deterministic Multi-Threaded Profiling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

There is a lack of effective tools for workload profiling and analysis on graphics processing units (GPUs) due to their separate environment and limited OS support, complicating the profiling and analysis process, especially with hundreds or thousands of parallel software threads.

Innovation Solution

A method for generating a self-contained GPU trace (GLIT) and using a GTReplay emulator to replay these traces deterministically on a CPU, maintaining event order and synchronization, allowing for efficient profiling and analysis by moving the process from the GPU domain to the CPU domain.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If GPU code is profiled and analyzed directly on the GPU device, then the profiling can capture real parallel execution behavior, but the lack of OS support and expansive memory limits the availability and effectiveness of profiling tools

Engineering Contradiction:
Improveprofiling accuracyVSAvoidtool availability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a trace replay system that acts as an intermediary between GPU execution and CPU-based analysis tools. Traces recorded from GPU execution are replayed on a CPU, enabling the use of expansive CPU memory and full OS support for profiling and analysis, while maintaining the ability to capture real GPU parallel execution behavior.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a copy of the GPU execution trace and replays it on the CPU. This copying approach allows the original GPU execution to remain unchanged while enabling comprehensive analysis on the CPU with its greater resources and tool support.

Inventive Principle:
Principle #26Copying

2Productivity

If hundreds or thousands of software threads are executed in parallel on GPU, then computational throughput is maximized, but the profiling and analysis process becomes extremely complex

Engineering Contradiction:
Improvecomputational throughputVSAvoidprofiling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the profiling and analysis process into two distinct phases: (1) trace recording during GPU execution, and (2) trace replay and analysis on CPU. This segmentation separates the high-throughput parallel execution from the complex analysis tasks, allowing each to be optimized independently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The trace replay system serves as an intermediary that simplifies the analysis of complex parallel thread execution by replaying traces on a CPU where threading models are better understood and analysis tools are more mature.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If deterministic replay is implemented on multi-threaded CPU to maintain event order, then accurate profiling is achieved, but synchronization challenges arise between multiple CPU threads replaying GPU threads

Engineering Contradiction:
Improveevent order accuracyVSAvoidsynchronization complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent implements feedback mechanisms where trace records include synchronization information that guides the replay process. The replay system uses this feedback to maintain deterministic event ordering across multiple CPU threads, ensuring accurate reproduction of GPU execution semantics.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent changes the execution parameters during replay by controlling the timing and synchronization of CPU threads based on trace information. This allows deterministic replay to be achieved by adjusting thread scheduling parameters rather than requiring complex hardware synchronization.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20260017054A1Deterministic replay of a multi-threaded trace on a multi-threaded processor
Publication Date: 2026.01.15 INTEL CORP
  • US20260017054A1 patent drawing
  • US20260017054A1 patent drawing
  • US20260017054A1 patent drawing

AI summary

A deterministic replay of a multi-threaded trace on a multi-threaded processor is described. An example of a computer-readable storage medium includes instructions to cause at least one processor to receive graphics processing unit (GPU) program code for tracing, the program code including a plurality of instructions; analyze the plurality of instructions to identify instructions of the program code that are events requiring synchronization; instrument each of the identified events to generate instrumented program code; execute the instrumented program code on a plurality of hardware threads of the GPU to generate trace data; and emulate the trace data utilizing an emulator on a plurality of hardware traces of a central processing unit (CPU), including replaying the identified events according to an order of occurrence of the identified events.