The command argument is a string containing the name of
a program to be spawned. The string is null-terminated in C.
In Fortran, leading and trailing spaces are stripped.
MPI-/ does not specify how to find the executable or how the working
directory is determined. These rules are implementation-dependent
and should be appropriate for the runtime environment.
-
- Advice
to implementors.
The implementation should use a natural rule for finding
executables and determining working directories. For instance, a
homogeneous system with a global file system might look first in the
working directory of the spawning process, or might search the
directories in a PATH environment variable as do Unix shells. An
implementation on top of PVM would use PVM's rules for finding
executables (usually in $HOME/pvm3/bin/$PVM_ARCH). An MPI-/ implementation running under POE on an
IBM SP would use POE's method of finding executables. An implementation
should document its rules for finding executables and determining
working directories, and a high-quality implementation should give the
user some control over these rules. (End of advice to implementors.)
If the program named in command does not call
MPI_INIT, but instead forks a process that calls
MPI_INIT, the results are undefined. Implementations
may allow this case to work but are not required to.
-
- Advice to users.
MPI-/ does not say what happens if the program you start is
a shell script and that shell script starts a program that
calls MPI_INIT. Though some implementations may allow
you to do this, they may also have restrictions, such as requiring
that arguments supplied to the shell script be supplied
to the program, or requiring that certain parts of the environment
not be changed. (End of advice to users.)
MPI-Standard for MARMOT