Jean Zay: MPMD execution of a code coupling in batch

The MPMD (Multiple Program Multiple Data) execution model is supported on Jean Zay. In the MPMD model, different programs are executed using MPI calls for communication among them. The totality of MPI processes share the same MPI_COMM_WORLD communicator.

In order to execute in MPMD mode, the srun command option –multi-prog and the file containing the mapping between MPI processes and programs (named here mpmd.conf) should be specified in the submission script:

$ srun --multi-prog ./mpmd.conf

MPMD coupling of MPI codes

Here is an example of a configuration file that defines a coupling of 3 MPI programs with a total of 8 MPI processes generated:

0     ./a.out
1-3,7 ./b.out
4-6   ./c.out
  • 1 MPI process of rank 0 will execute ./a.out
  • 4 MPI processes of ranks 1 to 3 and 7 will execute ./b.out
  • 3 MPI processes of ranks 4 to 6 will execute ./c.out.

The rest of the submission script is identical to the submission script described for: Execution of an MPI parallel code in batch but with a reservation of 8 cores.