Tutorial

  • 2022.3
  • 09/08/2022
  • Public Content

Multi-GPU Debugging

Tutorial: Debugging with Intel® Distribution for GDB*
The debugger supports debugging a program that offloads kernels to multiple GPU devices. Each device appears in the debugger as a separate inferior. The auto-attach feature initializes the devices for debugging and creates the corresponding inferiors. For example, for a program that runs on a machine with two GPUs (one integrated, one discrete), when you execute the
run
command from the
(gdb)
prompt:
run
A possible output is as follows:
Starting program: ./multi-device-program [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [New Thread 0x7ffff4871700 (LWP 394698)] intelgt: gdbserver-gt started for process 394694. [...] intelgt: attached to device 1 of 2; id 0x3e92 (Gen9) on inferior 2. [...] intelgt: attached to device 2 of 2; id 0x9a40 (Gen12) on inferior 3.
Switching between the inferiors and threads is the same as explained in the Basic Debugging section.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.