DDT is a debugger for C, C++ and Fortran 90 threaded and parallel codes, produced by Arm.
Forge’s GUI runs on Bridges-2. To use it, you must first install and configure the Arm Forge client on your local machine. Once the client is installed and configured, you can run DDT on Bridges-2.
No matter which compiler you use, you must compile your code with the
-g option to produce debug information.
Usage on Bridges-2
You must have a Forge client installed on your local machine. Be sure to get the latest client from Arm using the link below.
Uninstall old versions of the Forge client
If you have an older version of the Forge client installed, you must uninstall it before installing the new one. Be sure the configuration files are removed also. Old configuration files are not overwritten when a new client is installed. On a Windows system, the configuration files are stored by default in a folder under the Program Files folder.
Install and configure the client
The client and server versions of Forge must match. Determine the version of the Forge server on Bridges-2 by typing
module avail ddt. The output shows that the current version is 20.2.1.
[user@brides2-login013]$ module avail ddt ------------------------- /opt/modulefiles -------------------------- ddt/20.2.1
To install the Forge client, follow these steps:
- Download the appropriate client for your local machine from https://developer.arm.com/products/software-development-tools/hpc/downloads/download-arm-forge
- Run the installer. When it completes successfully, start up the Forge client on your local machine.
- Under Options, from the Remote Launch drop-down field in the middle of the screen, select Configure. A Configure Remote Connections window opens.
- Choose Add. A Remote Launch Settings window will open.
- Enter these settings:
- For Host Name: email@example.com
- For Remote Installation Directory, use /opt/packages/arm/forge/version. In this example, you would use /opt/packages/arm/forge/20.2.1.
Click OK. The Remote Launch Settings window will close. A Configure Remote Connections window will open.
- In the Configure Remote Connections window, click Close. The Remote Launch drop-down field will now have a connection named firstname.lastname@example.org.
Running on Bridges-2
Your code must be compiled before running DDT. Be sure to use the
-g option when compiling so that debug information is produced.
When you have the Forge client installed and configured on your local machine, follow these steps to run DDT on Bridges-2:
- Open a connection from your Forge client to Bridges-2 by starting the Forge client on your local machine.
- From the remote Launch drop-down field, select the connection for email@example.com. A Connect to Remote Host window will open.
- Enter your PSC password when prompted. The Connect to Remote Host window will close. When the connection is made successfully, you will see “Licence Serial: 16490” (the serial number may vary) in the lower left of the Forge client window, meaning it found the license and is talking to the server on Bridges-2. This may take a minute to happen.
- Choose DDT from the left side of the window.
- Run and debug or profile your executable.
- For DDT, click on RUN to run and debug your program. A Run (queue submission mode) window opens.
- Enter the path to your executable in the Application input field. Note that it must already be compiled. DDT should automatically detect if you are using MPI, OpenMP, CUDA, and fill in some details for you.
- Set the queue parameters. The first time you use DDT , you must configure the queue submissions. Check the box next to Submit to queue.
- In the Submit to queue row, select the Configure tab. In the Job Submission Settings window that opens, click on the file folder icon in the template file input field.In the Choose Queue Template window that opens, choose the template file ‘slurm.qtf’. Click Open and the Choose Queue Template window closes; click OK in the Job Submission Settings window and it will close.
- In the Submit to queue row, select the Parameters tab. In the Queue parameters window that opens:
- Set the queue name to be one of RM, RM-small, EM, or GPU.
- If you are using MPI, you must specify the number of Processes (the number of processes that you want to debug), Nodes (the number of compute nodes that you want to use) and Processes per Node (the number of MPI processes to run on each compute node).
- Change the clock time limit, if you choose.
Click OK when done. The Queue parameters window will close.
- Click Submit in the Run (queue submission mode) window. A debugging or profiling window will open. If there are not enough resources available to run your job, a window showing the partition and your job in it will open. When resources are available your job will begin, and you can debug or profile your program.