Skip to content
Skip to navigation menu

 

Allinea DDT Parallel Debugger

DDT, the Distributed Debugging Tool is a comprehensive graphical debugger for scalar, multi-threaded and large-scale parallel applications that are written in C, C++ and Fortran. Full documentation can be found on Allinea's site.

Getting started with Allinea and MPI:

First we need to build a binary with the debugging information enabled.

 

module load intel/compilers

module load bull/mpi

mpif90 -g mpi_hello.f90 -o mpi_hello

 

When this is built we need to start up Allinea DDT.

 

module load apps/allinea-ddt

ddt

 

DDT Start Screen  49.5 Kb

Click on the image above to see a larger version

 

We want to select 'Run and Debug a Program'

The 'Run' dialog box will now appear and we want to fill in the full path to mpi_hello and any command-line arguments. 

 

Allinea DDT Run Dialog  17.2 Kb

Click on the image above to see a larger version

Now we want to select the 'change' button. This will bring up the 'Options' dialog.

 

DDT Options Dialog  33.4 Kb

Click on the image above to see a larger version 

Most of these options should be left alone. If the nodes list has not been automatically filled enter the path given above.We now want to select the job submission tab.

 

DDT Job Submission Dialog  47.1 Kb

Click on the image above to see a larger version

This dialog tells DDT how to submit to the PBS queue on Merlin. The important setting is the template file. At the moment only merlin_pbs.qtf is available as a working template which supports MPI using the Bull MPI-2 implementation. If you need to submit a different type of job (e.g OpenMP or Intel-MPI) then get in touch and we'll set up a different template for you to use.

Fill out the fields so that they match the screen-shot above.

PROCS_PER_NODE sets how many MPI processes will be launched on each node. Since there are eight processors on each node I have set this to eight. If we hit OK we will be taken back to the 'Run' dialog.

The final thing we need to set is the number of nodes. I am going to set this to 1. So we should end up running a job on one node with eight MPI processes. 

Now we can select 'Run' and finally execute our code. 

DDT Main Debug Screen  74.7 Kb

Click on the image above to see a larger version

Assuming all went well you now have the main debugger screen open. This shows us that we have eight processes. The job is currently paused so that you can begin debugging. Hitting the play button will run through the execution. At this point you will need to consult the Allinea documentation to learn how to use the debugger.