1LOADGO(1) LAM COMMANDS LOADGO(1)
2
3
4
6 loadgo - Run programs on LAM nodes.
7
9 loadgo [-fhvw] [-s <srcnode>] <nodes> <programs> [-- <args>]
10
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
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
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
106 state(1), doom(1), mpirun(1)
107
108
109
110LAM 7.1.2 March, 2006 LOADGO(1)