Skip to content

ARM DDT#

ARM DDT is a parallel debugger. NHR@FAU holds a license for 32 processes.

You can use it to debug serial programs and parallel code that uses MPI and/or OpenMP. It supports single stepping, into, out of, over functions, inspecting variables, watchpoints, tracepoints, etc. You can use it for C, C++, or Fortran code.

DDT is installed on the main production systems. In order to use it, load the module via module load ddt. This should give you the latest installed version of the tool.

You can watch a video on handling DDT here: HPC Cafe: Using the Arm DDT debugger (Note that this demo assumes that you can start DDT from within a batch job, which is not possible with SLURM. See below for details.)

Debugging on a cluster frontend#

You can use DDT interactively on the frontends to debug serial or OpenMP-parallel code. If a.out is your binary, just start it with:

ddt ./a.out
A dialog pops up in which you can set command-line parameters, environment variables, the working directory, and more. You can also let DDT run a batch job and attach to it (see below). Running MPI programs on the frontends is not possible, and neither is debugging them with DDT. For this you need to let DDT start a SLURM job for you - see below.

Debugging a batch job#

User tab

DDT configuration for an MPI job via SLURM

With

ddt
you start DDT without any connection to a binary (yet). The standard dialog box pops up. For an MPI job, select "MPI" and the number of processes. For "Implementation," the choice "SLURM (MPMD)" is usually correct but depending on your MPI implementation and the scheduler setup, other settings may be required. Further down, select "Submit to Queue." With "Parameters..." you can set the job runtime and the partition it will use. Note that you must specify a partition.

User tab

Queue configuration

After clicking on "Submit," DDT submits a batch job and attaches to it.

Documentation and contact#

Please see the official DDT documentation for comprehensive information: Arm Forge User Guide: DDT. In case of problems with the specific setup at NHR@FAU, contact HPC support.