.. _multi-gpu-debugging: *Tutorial: Debugging with IntelĀ® Distribution for GDB\** Multi-GPU Debugging =================== 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: .. code-block:: run A possible output is as follows: .. code-block:: 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. .. note:: Switching between the inferiors and threads is the same as explained in the :ref:`Basic Debugging ` section.