Debug MPMD programs
The easiest way to debug multiple program, multiple data (MPMD) programs is by using Express Launch to start your application. You can also debug MPMD programs without Express Launch or in Compatibility mode.
About this task
To use Express Launch, prefix your normal MPMD launch line with DDT, for example:
ddt mpirun -n 1 ./main : -n 2 ./worker
For more information on Express Launch, and compatible MPI implementations, see Express Launch (DDT).
If you are using Open MPI, MPICH 3, MPICH 4, or Intel MPI, DDT can be used to debug MPMD programs without Express Launch. This procedure shows how to start an MPMD program in DDT.
Procedure
(MPICH 3 and Intel MPI only) Select the MPMD variant of the MPI Implementation on the System page of the Options window. For example, for MPICH 3 select MPICH 3 (MPMD).
On the Welcome page click Run.
In Application, choose one of the MPMD programs. It does not matter which executable you choose.
Enter the total amount of processes for the MPMD job in Number of Processes.
In the MPI section of the Run window, enter an MPMD style command line in mpirun Arguments. Make sure that the sum of processes in this command is equal to the number of processes set in Number of Processes. For example:
-np 4 hello : -np 4 program2
or
--app /path/to/my_app_file
Click Run.
Example: Compatibility mode
If you are using Open MPI in Compatibility mode, for example, because you do not have SSH access to the compute nodes, then replace:
-np 2 ./progc.exe : -np 4 ./progf90.exe
in mpirun Arguments (or in appfile
) with:
-np 2 /path/to/ddt/bin/forge-client ./progc.exe : -np 4
/path/to/ddt/bin/forge-client ./progf90.exe