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 for ≥ version 23.x here:
https://docs.linaroforge.com/24.0.2/html/forge/index.html
and for <= version 21.x here
https://developer.arm.com/documentation/101136/2101/DDT
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 our system for ≥ version 22.x here:
www.linaroforge.com/download-documentation - open the installed program and adapt the settings for the HLRN installation:
Click on "Configure...
", next click on "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
- 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 viamodule 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 withddt --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