| 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 |

|
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.
|