Debugging on Aurora - Overview¶
There are 3 debuggers available on Aurora:
- gdb-oneapi - This is Intel's version of gdb augmented to allow debugging kernels executing on the PVC GPUs.
- 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-oneapiinternally) debugging kernels executing on the PVC GPUs. - gdb4hpc - An alternative for CPU debugging only that will apply commands to all threads in the MPI process group.
There are 2 correctness tools:
- 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.
- Intel Sanitizer - This is a correctness tools to detect addressability issues, memory leaks, data races and deadlocks, and use of uninitialized memory.
Preliminary steps¶
- You can use the module
mpich/dbg. The module enables runtime checks during MPICH execution. - The
mpich/dbgmodule also allows you to run valgrind (frommodule load valgrind) as:mpirun $OPT valgrind $BIN