/*D
    mpiexec - Run an MPI program

   Synopsis:
.vb
    mpiexec args executable pgmargs [ : args executable pgmargs ... ]
.ve
   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 mpiexecstdargs

   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.


D*/
