Arm DDT is a powerful, easy-to-use graphical debugger. It provides a complete solution for finding and fixing problems on a single thread or across hundreds of thousands of threads. You can use Arm DDT to debug OpenMP, parallel (MPI) software, heterogeneous software such as that written to use GPUs, hybrid codes mixing paradigms such as MPI + OpenMP, or MPI + CUDA, and multi-process software of any form, including client-server applications. Please refer to the Official DDT documentation to learn how to use it.

It is available on Atos HPCF with:

module load forge

How to start your DDT debugging session

IFS Users

For IFS debugging, please refer to the IFS Home documentation hub for more information on how to do this with IFS.

There are several ways to use ddt, as described in the Official DDT documentation, but here we will only cover the easiest for most users, DDT's Reverse Connect mechanism. Reverse connect allows you to submit your job terminal as you currently do, with a minor adjustment to your parallel execution to allow that job to connect back to the Arm Forge user interface, which may be running elsewhere. For other methods, such as express launch or offline mode, please refer to the Official DDT documentation.

Enabling DDT in your job (server side)

You will need to tweak your srun line and use ddt to manage the launch of your parallel execution:

module load forge
ddt --connect srun <srun options> <your executable>

This will start a ddt session ready for a remote client to connect to.

Running the graphical client

Run DDT client on login or interactive session

You must connect to a login node of the hpc making sure you have enabled X11 forwarding (with -X or -Y ssh options), and load the module

ssh -X hpc-login
module load forge
ddt

For best experience, if you have access to the Linux VDI service, we recommend doing that connection from your VDI session.

Once your debugging job starts, you will see a pop up dialog asking you to accept the Reverse Connect request:

Once you accept, you will be connected to your debugging session.

Run DDT client on your Personal Computer or End User Device

You may also install DDT client on your  to your debugging session. There are versions of the client available for Windows, Mac and Linux that you can install. You must install the same version of the client as the one you are using to debug.

If you can install software in your own desktop or laptop computer and have Teleport SSH Access configured, this method may be give you the best debugging experience. 

  1. Download and install the corresponding verssion of the client for your desktop here: https://developer.arm.com/downloads/-/arm-forge
  2. Make sure you have Teleport SSH Access properly configured, and that you are authenticated.
  3. Open the DDT client, click on Remote Access Dropdown menu and "Configure..."
  4. Click on Add to configure a new remote:

    Make sure the remote installation directory matches the one used in your debugging session. You may run the following on an hpc node to get the exact path:

    module show forge | grep FORGE_DIR
  5. Select the newly created Remote from the dropdown menu. 
  6. If you had submitted your debugging job, a new window will pop up asking you to connect to the remote debugging session:
  7. Start your debugging session.