The application schema is an ASCII file containing a description of
the programs which constitute an application. It is used by mpirun(1),
MPI_Comm_spawn,
and
MPI_Comm_spawn_multiple
to start an MPI application (the MPI_Info key "file" can be used to
specify an app schema to
MPI_Comm_spawn
and
MPI_Comm_spawn_multiple).
All tokens after the program name will be passed as command line
arguments to the new processes. Ordering of the other elements on the
command line is not important.
The meaning of the options is the same as in mpirun(1). Note,
however, that if -wd is used in the application schema file, it will
override any -wd value specified on the command line.
For each program line, processes will be created on LAM nodes
according to the presence of
<where>
and the process count option (-np).
only <where>
One process is created on each node.
only -np
The specified number of processes are scheduled across all LAM
nodes/CPUs.
both
The specified number of processes are scheduled across the specified
nodes/CPUs.
neither
One process is created on the local node.
Program Transfer
By default, LAM searches for executable programs on the target node
where a particular instantiation will run.
If the file system is not shared, the target nodes are homogeneous, and the
program is frequently recompiled, it can be convenient to have LAM
transfer the program from a source node (usually the local node) to
each target node.
The -s option specifies this behaviour and identifies the single
source node.
EXAMPLE
#
# Example application schema
# Note that it may be necessary to specify the entire pathname for
# "master" and "slave" if you get "File not found" errors from
# mpirun(1).
#
# This schema starts a "master" process on CPU 0 with the argument
# "42.0", and then 10 "slave" processes (that are all sent from the
# local node) scheduled across all available CPUs.
#
c0 master 42.0
C -np 10 -s h slave