mpiexec
Run an MPI program
Synopsis
mpiexec args executable pgmargs [ : args executable pgmargs ... ]
where args are command line arguments for mpiexec (see below),
executable is the name of an executable MPI program, and pgmargs
are command line arguments for the executable. Multiple executables
can be specified by using the colon notation (for MPMD - Multiple Program
Multiple Data applications).
Standard Parameters
- -n num
- number of processes
- -host hostname
- name of a host (machine, system) on which to run
- -arch architecture_name
- name of the computer architecture required
for this executable
- -wdir working_directory
- The working directory to use when running the
executable (set before the executable starts)
- -path pathlist
- use this to find the executable
- -soft list
- comma separated triplets specifying valid numbers of processes
- -file name
- implementation-defined specification file
- -configfile name
- file containing specifications of host/program,
one per line, with # as a comment indicator, e.g., the usual
mpiexec input, but with ":" replaced with a newline. That is,
the configfile contains lines with -soft, -n etc.
Environment Variables
The following environment variables affect the behavior of mpiexec:
- MPIEXEC_UNIVERSE_SIZE
- Sets the maximum number of processes to allow.
- MPIEXEC_TIMEOUT
- Maximum running time in seconds. mpiexec will
terminate MPI programs that take longer than the value specified by
MPIEXEC_TIMEOUT. This version of mpiexec (forker process manager)
sets a default timelimit of 3 minutes (180 seconds) since the forker
process manager is intended for debugging applications.
- MPIEXEC_PREFIX_DEFAULT
- If this environment variable is set, output
to standard output is prefixed by the rank in MPI_COMM_WORLD of the
process and output to standard error is prefixed by the rank and the
text (err); both are followed by an angle bracket (>). If
this variable is not set, there is no prefix.
- MPIEXEC_PREFIX_STDOUT
- Set the prefix for output from standard output.
This is a string containing text and (optionally) the expression %d;
if %d is seen, it is replaced by the rank in MPI_COMM_WORLD of the
process. If there is more than one MPI_COMM_WORLD; for example,
if MPI_Comm_spawn is used, the expression %w is replaced with a
numeric world number, assigned by mpiexec. The expression %%
produces a single percent character.
- MPIEXEC_PREFIX_STDERR
- Like MPIEXEC_PREFIX_STDOUT, but for output from
standard error.
- MPIEXEC_STDIN_DEST
- Sets the destination process for input from standard in,
by rank in the corresponding MPI_COMM_WORLD.
- MPIEXEC_STDOUTBUF
- Sets the buffering mode for standard output. Valid
values are NONE (no buffering), LINE (buffering by lines), and
BLOCK (buffering by blocks of characters; the size of the block is
implementation defined). The default is NONE.
- MPIEXEC_STDERRBUF
- Like MPIEXEC_STDOUTBUF, but for standard error.
Note that the MPIEXEC_PREFIX_xxx and MPIEXEC_STDIN_DEST variables
are not fully implemented.
Startup Environment
All of the users environment variables are provided to each of the
created processes. This is not required by the MPI standard, but
is often very convenient.
Return Status
mpiexec returns the maximum of the exit status values of all of the
processes created by mpiexec.
Notes
A few additional enviroment variables are defined for the use of
developers and in debugging. These are
- MPIEXEC_DEBUG
- If set, mpiexec will write additional information
about the steps that it is taking.
Location:mpiexec.txt