Allinea DDT

General Description

Distributed Debugging Tool (DDT) from Allinea Software is a parallel debugger that can be run up to hundreds of processors. DDT can be used to debug serial, OpenMP, and MPI codes.

Basic Usage

To use DDT, the binary must be compiled with the debug output turned on, e.g.

gcc -g example.c -o myprogram

Begin by using

module load allinea

This will bring up the initial setup dialog box:


Click on the 'Run' button and navigate to the executable to be run. The path to your program should now be in the 'Application' text box. The path MUST be the full path to the executable.

Next, if your program needs command line arguments, click on the 'Arguments' tab:


Here you may enter any arguments your program needs just as they would appear on the command line or set any environmental variables you may need.

To run your program using multiple processes, click on the 'MPI' tab:

You can adjust the number of MPI tasks (read processes) you wish to run in parallel, this will be the same number which normally follows the 'mpirun -np' on the command line. Note: even if you want to run you MPI code serially you must at least set this value to 1.

If OpenMP is enabled, you can specify the number threads by clicking 'OpenMP' tab.

Memory debugging can be enabled by clicking its tab.

To run your program, simply click on 'Run', and if there are no errors, your program should run to completion. Normal output should be printed to the console you launched DDT from.

Launching DDT From Within a Batch Job

For parallel jobs that run across multiple nodes, it is recommended to launch DDT within the UGE batch system. The following is a batch script example:

#$ -M
#$ -m abe
#$ -pe mpi-8 16
#$ -q long
#$ -w e
#$ -cwd

module load mpich     # load an MPI module   
module load allinea # load Allinea

ddt  -n $NSLOTS ./application # launch DDT and start debugging process

Additional Files

Further Information

See the official website: Allinea DDT and the official DDT Tutorial: DDT Tutorial