Skip to content

Debugging on Aurora - Overview

There are 3 debuggers available on Aurora:

  1. gdb-oneapi - This is Intel's version of gdb augmented to allow debugging kernels executing on the PVC GPUs.
  2. DDT - The Linaro parallel debugger. This is the same parallel debugger that we have on Polaris. It supports a client-server mode and (via using gdb-oneapi internally) debugging kernels executing on the PVC GPUs.
  3. gdb4hpc - An alternative for CPU debugging only that will apply commands to all threads in the MPI process group.

There is also a correctness tool for Fortran:

  1. Codee - This is a tool from Codee which can automatically analyze your code line-by-line to identify and fix opportunities for correctness, modernization, security and optimization. It is especially useful for legacy Fortran codes.

Preliminary steps

  • You can use the module mpich/dbg. The module enables runtime checks during MPICH execution.
  • The mpich/dbg module also allows you to run valgrind (from module load valgrind) as: mpirun $OPT valgrind $BIN
  • You can also recompile your code with -fsanitize=address to help detect memory access errors (will work for both CPU and GPU, see Intel documentation for more details)