LOADGO (1)
Run programs on LAM nodes.
SYNTAX
0
loadgo [-fhvw] [-s <srcnode>] <nodes> <programs> [-- <args>]
1
OPTIONS
-f
Do not configure standard I/O file descriptors - use defaults.
-h
Print useful information on this command.
-s <srcnode>
Load the programs from this source node <srcnode>.
-v
Report on important steps as they are done.
-w
Wait for all processes to complete before exiting
loadgo .
Report any abnormal exit codes.
-- <args>
Pass these runtime arguments to every new process.
This must always be the last argument to
loadgo .
DESCRIPTION
All specified programs are executed on all specified nodes.
Only one set of runtime arguments may be specified for all new processes.
To load different programs on different nodes, or to pass
different arguments to different programs, multiple
loadgo
invocations are necessary.
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.
LAM looks for an executable program by searching the directories
in the user's PATH environment variable as defined on the source node(s).
This behaviour is consistent with logging into the source node and
executing the program from the shell.
On remote nodes, the "." path is the home directory.
LAM directs UNIX standard input to /dev/null on all remote nodes.
On the local node that invoked
loadgo ,
standard input is inherited from
loadgo .
Use the -w option to prevent conflicting access to the terminal.
LAM directs UNIX standard output and error to the LAM daemon
on all remote nodes.
LAM ships all captured output/error to the node that invoked
loadgo
and prints it on the standard output/error of
loadgo .
Local processes inherit the standard output/error of
loadgo
and transfer to it directly.
Thus it is possible to redirect standard I/O for LAM applications
by using the typical shell redirection procedure on
loadgo .
% loadgo my_app < my_input > my_output
The
-f
option avoids all the setup required to support standard I/O described above.
Remote processes are completely directed to /dev/null and local
processes inherit file descriptors from lamboot(1).
Programs invoked via
loadgo
inherit their environment from the LAM daemon upon the node on which
they execute.
The environment of a LAM daemon is fixed upon booting of the LAM with
lamboot(1) and is inherited from the user's shell.
On the origin node this will be the shell from which lamboot(1) was
invoked and on remote nodes this will be the shell started by rsh(1).
MPI applications should be started with mpirun(1) because of the
initialization requirements of MPI.
However, it is possible to start rudimentary process configurations
of MPI applications with
loadgo .
Prior to starting LAM with lamboot(1), the user's environment on
every node must set the variable, LAMWORLDNODES.
One and only one process must be started on each and every node.
Each process's rank in the MPI world group will equal its nodeid.
This directly implies that the LAM nodeids must be contiguous.
The same configuration can be achieved by logging into each node
and starting each process from the shell (with the environment
variable set as above).
EXAMPLES
SEE ALSO
|
|