Arm DDT

Parallel debugger, including MPI/OpenMP programs.

Arm DDT (“DDT”) is a parallel debugger and part of the Arm Forge software suite. You can find more information at Arm DDT Get Started.

DDT is installed on HLRN IV and easiest used via a connection to a locally running GUI.

  1. Download and install the Arm Forge client for Mac/Windows/Linux for the same minor version as installed on the cluster (currently 20.1) at https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-forge

  2. Open the installed program and adapt the settings for the HLRN installation: Click on Configure..., next click Add, then add a connection name: HLRN-IV Berlin or Göttingen, put the hostname of a login node which you can reach via your ssh setup, set the remote installation directory to /sw/tools/allinea/forge-20.1.3

  3. Adapt your job script to initiate a debugging session. We recommend to use less than 8 nodes and if possible the testing queues. Also recompile your code with debugging information enabled -g and disable optimizations -O0 to avoid reordering of instructions.

    Load the module and add a workaround for recent slurm changes via

    module load forge/20.1.3
    export ALLINEA_DEBUG_SRUN_ARGS="%default% --oversubscribe"

    (see https://developer.arm.com/documentation/101136/2101/Appendix/Known-issues/SLURM-support?lang=en )

    in you job script and prefix your srun/mpirun call with

    ddt --connect srun myapplication.x
  4. Relaunch your local client, you should receive a “Reverse connection request”, which you accept. This starts your debugging session.

You can also debug non-MPI programs as follows:

  1. Allocate nodes interactively (see Quickstart Guide)
  2. Locally launch the Forge GUI, select remote host, but manual program launch
  3. Press the help button in the “Waiting for you to start the job” dialog, this will show you the command to start your code on the node