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.
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
Open the installed program and adapt the settings for the HLRN installation: Click on
Configure...
, next clickAdd
, 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
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
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:
- Allocate nodes interactively (see Quickstart Guide)
- Locally launch the Forge GUI, select remote host, but manual program launch
- 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