US 12,450,062 B2
Deterministic replay of a multi-threaded trace on a multi-threaded processor
Konstantin Levit-Gurevich, Kiryat Byalik (IL); and Alexander Skaletsky, Netanya (IL)
Assigned to INTEL CORPORATION, Santa Clara, CA (US)
Filed by Intel Corporation, Santa Clara, CA (US)
Filed on Dec. 10, 2021, as Appl. No. 17/547,765.
Prior Publication US 2022/0100512 A1, Mar. 31, 2022
Int. Cl. G06F 9/30 (2018.01); G06F 11/362 (2025.01); G06T 1/20 (2006.01)
CPC G06F 9/30087 (2013.01) [G06F 11/3632 (2013.01); G06F 11/3636 (2013.01); G06F 11/3648 (2013.01); G06T 1/20 (2013.01)] 20 Claims
OG exemplary drawing
 
1. At least one non-transitory computer-readable storage medium comprising instructions for execution by at least one processor that, when executed, cause the 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.