Intel® MPI Library supports the multiple programs, multiple data (MPMD) launch mode. There are two ways to do this.
The easiest way is to create a configuration file and pass it to the
option. A configuration file should contain a set of arguments for
, one group per line. For example:
$ cat mpmd_config
-n 1 -host node1 ./io <io_args>
-n 4 -host node2 ./compute <compute_args_1>
-n 4 -host node3 ./compute <compute_args_2
$ mpirun -configfile mpmd_config
Alternatively, you can pass a set of options to the command line by separating each group with a colon:
$ mpirun -n 1 -host node1 ./io <io_args> :\
-n 4 -host node2 ./compute <compute_args_1> :\
-n 4 -host node3 ./compute <compute_args_2>
The examples above are equivalent. The
program is launched as one process on
, and the
program is launched on
as four processes on each.
When an MPI job is launched, the working directory is set to the working directory of the machine where the job is launched. To change this, use the
to set an environment variable for only one argument set. Using
instead applies the environment variable to all argument sets. By default, all environment variables are propagated from the environment during the launch.