12.8.4. Reserved Keys

PreviousUpNext
Up: Process Manager Interface Next: Spawn Example Previous: Starting Multiple Executables and Establishing Communication

The following keys are reserved. An implementation is not required to interpret these keys, but if it does interpret the key, it must provide the functionality described.

host:
Value is a hostname. The format of the hostname is determined by the implementation.

arch:
Value is an architecture name. Valid architecture names and what they mean are determined by the implementation.

wdir:
Value is the name of a directory on a machine on which the spawned process(es) execute(s). This directory is made the working directory of the executing process(es). The format of the directory name is determined by the implementation.

"path":
Value is a directory or set of directories where the implementation should look for the executable. The format of path is determined by the implementation.

file:
Value is the name of a file in which additional information is specified. The format of the filename and internal format of the file are determined by the implementation.

mpi_initial_errhandler:
Value is the name of an errhandler that will be set as the initial error handler. The mpi_initial_errhandler key can take the case insensitive values mpi_errors_are_fatal, mpi_errors_abort, and mpi_errors_return representing the predefined MPI error handlers ( MPI_ERRORS_ARE_FATAL---the default, MPI_ERRORS_ABORT, and MPI_ERRORS_RETURN, respectively). Other, nonstandard values may be supported by the implementation, which should document the resultant behavior.

mpi_memory_alloc_kinds (string, default: "mpi,system"):
Value is a comma separated list of memory allocation kinds. Support for these memory allocation kinds is requested from the MPI library (see Section Memory Allocation Info).

soft:
Value specifies a set of numbers that are allowed values for the number of processes that MPI_COMM_SPAWN (et al.) may create. The format of the value is a comma-separated list of Fortran-90 triplets each of which specifies a set of integers and that together specify the set formed by the union of these sets. Negative values in this set and values greater than maxprocs are ignored. MPI will spawn the largest number of processes it can, consistent with some number in the set. The order in which triplets are given is not significant.

By Fortran-90 triplets, we mean:

    1. a means a
    2. a:b means a, a+1, a+2, ..., b
    3. a:b:c means a, a+c, a+2c, ..., a+ck, where for c > 0, k is the largest integer for which a+ck ≥ b and for c < 0, k is the largest integer for which a+ck ≤ b. If b > a then c must be positive. If b < a then c must be negative.
Examples:
    1. a:b gives a range between a and b
    2. 0:N gives full ``soft'' functionality
    3. 1,2,4,8,16,32,64,128,256,512,1024,2048,4096 allows a power-of-two number of processes.
    4. 2:10000:2 allows an even number of processes up to a maximum of 10,000 processes.
    5. 2:10:2,7 allows 2, 4, 6, 7, 8, or 10 processes.


PreviousUpNext
Up: Process Manager Interface Next: Spawn Example Previous: Starting Multiple Executables and Establishing Communication


Return to MPI-4.1 Standard Index
Return to MPI Forum Home Page

(Unofficial) MPI-4.1 of November 2, 2023
HTML Generated on November 19, 2023