Page tree
Skip to end of metadata
Go to start of metadata

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 HLRN (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 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
  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