1LOADGO(1)                        LAM COMMANDS                        LOADGO(1)
2
3
4

NAME

6       loadgo - Run programs on LAM nodes.
7

SYNTAX

9       loadgo [-fhvw] [-s <srcnode>] <nodes> <programs> [-- <args>]
10

OPTIONS

12       -f            Do  not configure standard I/O file descriptors - use de‐
13                     faults.
14
15       -h            Print useful information on this command.
16
17       -s <srcnode>  Load the programs from this source node <srcnode>.
18
19       -v            Report on important steps as they are done.
20
21       -w            Wait for all processes to complete before exiting loadgo.
22                     Report any abnormal exit codes.
23
24       -- <args>     Pass  these runtime arguments to every new process.  This
25                     must always be the last argument to loadgo.
26

DESCRIPTION

28       Most MPI users will not use this command; see mpirun(1).  This  command
29       is  only  installed  if LAM/MPI was configured with the --with-trillium
30       switch.
31
32       All specified programs are executed on all specified nodes.   Only  one
33       set  of  runtime  arguments may be specified for all new processes.  To
34       load different programs on different nodes, or to pass different  argu‐
35       ments to different programs, multiple loadgo invocations are necessary.
36
37   Program Transfer
38       By  default,  LAM  searches  for executable programs on the target node
39       where a particular instantiation will run.  If the file system  is  not
40       shared, the target nodes are homogeneous, and the program is frequently
41       recompiled, it can be convenient to have LAM transfer the program  from
42       a source node (usually the local node) to each target node.  The -s op‐
43       tion specifies this behaviour and identifies the single source node.
44
45   Locating Files
46       LAM looks for an executable program by searching the directories in the
47       user's  PATH  environment  variable  as  defined on the source node(s).
48       This behaviour is consistent with logging into the source node and exe‐
49       cuting  the  program  from the shell.  On remote nodes, the "." path is
50       the home directory.
51
52   Standard I/O
53       LAM directs UNIX standard input to /dev/null on all remote  nodes.   On
54       the  local  node  that invoked loadgo, standard input is inherited from
55       loadgo.  Use the -w option to prevent conflicting access to the  termi‐
56       nal.
57
58       LAM directs UNIX standard output and error to the LAM daemon on all re‐
59       mote nodes.  LAM ships all captured output/error to the node  that  in‐
60       voked loadgo and prints it on the standard output/error of loadgo.  Lo‐
61       cal processes inherit the standard output/error of loadgo and  transfer
62       to it directly.
63
64       Thus  it  is  possible to redirect standard I/O for LAM applications by
65       using the typical shell redirection procedure on loadgo.
66
67              % loadgo my_app < my_input > my_output
68
69       The -f option avoids all the setup required to support standard I/O de‐
70       scribed  above.   Remote processes are completely directed to /dev/null
71       and local processes inherit file descriptors from lamboot(1).
72
73   Process Environment
74       Programs invoked via loadgo inherit their environment from the LAM dae‐
75       mon upon the node on which they execute.  The environment of a LAM dae‐
76       mon is fixed upon booting of the LAM with lamboot(1) and  is  inherited
77       from  the user's shell.  On the origin node this will be the shell from
78       which lamboot(1) was invoked and on remote nodes this will be the shell
79       started by rsh(1).
80
81   MPI Initialization
82       MPI  applications  should be started with mpirun(1) because of the ini‐
83       tialization requirements of MPI.  However,  it  is  possible  to  start
84       rudimentary  process  configurations  of  MPI applications with loadgo.
85       Prior to starting LAM with lamboot(1), the user's environment on  every
86       node  must  set  the variable, LAMWORLDNODES.  One and only one process
87       must be started on each and every node.  Each process's rank in the MPI
88       world  group will equal its nodeid.  This directly implies that the LAM
89       nodeids must be contiguous.  The same configuration can be achieved  by
90       logging  into  each node and starting each process from the shell (with
91       the environment variable set as above).
92

EXAMPLES

94       loadgo N prog1
95           Load and execute prog1 on all nodes.   Search  for  prog1  on  each
96           node.
97
98       loadgo n8-10 -vw -s n3 prog1 prog2 -- -q
99           Load and execute prog1 and prog2 on nodes 8, 9, and 10.  Search for
100           prog1 and prog2 on source node 3 and transfer  the  executables  to
101           the  three  target nodes.  Report on each process as it is created.
102           Pass the -q option to each new process.  Wait for the processes  to
103           complete before exiting loadgo.
104

SEE ALSO

106       state(1), doom(1), mpirun(1)
107
108
109
110LAM 7.1.2                         March, 2006                        LOADGO(1)
Impressum