loadgo



LOADGO(1)                        LAM COMMANDS                        LOADGO(1)




NAME

       loadgo - Run programs on LAM nodes.


SYNTAX

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


OPTIONS

       -f            Do  not configure standard I/O file descriptors - use de-
                     faults.

       -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

       Most MPI users will not use this command; see mpirun(1).  This  command
       is  only  installed  if LAM/MPI was configured with the --with-trillium
       switch.

       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  argu-
       ments to different programs, multiple loadgo invocations are necessary.

   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 op-
       tion specifies this behaviour and identifies the single source node.

   Locating Files
       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 exe-
       cuting the program from the shell.  On remote nodes, the  "."  path  is
       the home directory.

   Standard I/O
       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 termi-
       nal.

       LAM directs UNIX standard output and error to the LAM daemon on all re-
       mote  nodes.   LAM ships all captured output/error to the node that in-
       voked loadgo and prints it on the standard output/error of loadgo.  Lo-
       cal  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 de-
       scribed above.  Remote processes are completely directed  to  /dev/null
       and local processes inherit file descriptors from lamboot(1).

   Process Environment
       Programs invoked via loadgo inherit their environment from the LAM dae-
       mon upon the node on which they execute.  The environment of a LAM dae-
       mon  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 Initialization
       MPI applications should be started with mpirun(1) because of  the  ini-
       tialization  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

       loadgo N prog1
           Load  and  execute  prog1  on  all nodes.  Search for prog1 on each
           node.

       loadgo n8-10 -vw -s n3 prog1 prog2 -- -q
           Load and execute prog1 and prog2 on nodes 8, 9, and 10.  Search for
           prog1  and  prog2  on source node 3 and transfer the executables to
           the three target nodes.  Report on each process as it  is  created.
           Pass  the -q option to each new process.  Wait for the processes to
           complete before exiting loadgo.


SEE ALSO

       state(1), doom(1), mpirun(1)



LAM 7.1.1                       September, 2004                      LOADGO(1)

Man(1) output converted with man2html