Options for mpirun


Up: Contents Next: mpirun and Globus Previous: Writing wrapper definitions

The options for mpirun*, as shown by mpirun -help, are


mpirun [mpirun_options...] <progname> [options...] 

mpirun_options: -arch <architecture> specify the architecture (must have matching machines.<arch> file in ${MPIR_HOME}/bin/machines) if using the execer -h This help -machine <machine name> use startup procedure for <machine name> -machinefile <machine-file name> Take the list of possible machines to run on from the file <machine-file name> -np <np> specify the number of processors to run on -nolocal don't run on the local machine (only works for p4 and ch_p4 jobs) -stdin filename Use filename as the standard input for the program. This is needed for programs that must be run as batch jobs, such as some IBM SP systems and Intel Paragons using NQS (see -paragontype below). -t Testing - do not actually run, just print what would be executed -v Verbose - throw in some comments -dbx Start the first process under dbx where possible -gdb Start the first process under gdb where possible -xxgdb Start the first process under xxgdb where possible (on the Meiko, selecting either -dbx or -gdb starts prun under totalview instead)


    Options for the globus2 device: 

With the exception of -h, these are the only mpirun options supported by the globus device.

-machinefile <machine-file name> Take the list of possible machines to run on from the file <machine-file name> -np <np> specify the number of processors to run on -dumprsl - display the RSL string that would have been used to submit the job. using this option does not run the job. -globusrsl <globus-rsl-file name> <globus-rsl-file name> must contain a Globus RSL string. When using this option all other mpirun options are ignored.

Special Options for Batch Environments:

-mvhome Move the executable to the home directory. This is needed when all file systems are not cross-mounted Currently only used by anlspx -mvback files Move the indicated files back to the current directory. Needed only when using -mvhome; has no effect otherwise. -maxtime min Maximum job run time in minutes. Currently used only by anlspx. Default value is $max_time minutes. -nopoll Do not use a polling-mode communication. Available only on IBM SPx. -mem value This is the per node memory request (in Mbytes). Needed for some CM-5s. ( Default $max_mem. )

-cpu time This is the the hard cpu limit used for some CM-5s in minutes. (Default $maxtime minutes.)

Special Options for IBM SP2:

-cac name CAC for ANL scheduler. Currently used only by anlspx. If not provided will choose some valid CAC.

Special Options for Intel Paragon:

-paragontype name Selects one of default, mkpart, NQS, depending on how you want to submit jobs to a Paragon.

-paragonname name Remote shells to name to run the job (using the -sz method) on a Paragon.

-paragonpn name Name of partition to run on in a Paragon (using the -pn name command-line argument)

On exit, mpirun returns a status of zero unless mpirun detected a problem, in which case it returns a non-zero status (currently, all are one, but this may change in the future).

Multiple architectures may be handled by giving multiple -arch* and -np arguments. For example, to run a program on 2 sun4s and 3 rs6000s, with the local machine being a sun4, use

    mpirun -arch sun4 -np 2 -arch rs6000 -np 3 program 

This assumes that program will run on both architectures. If different executables are needed, the string '%a' will be replaced with the arch name. For example, if the programs are program.sun4 and program.rs6000, then the command is
    mpirun -arch sun4 -np 2 -arch rs6000 -np 3 program.%a 

If instead the executables are in different directories; for example, /tmp/me/sun4 and /tmp/me/rs6000, then the command is
    mpirun -arch sun4 -np 2 -arch rs6000 -np 3 /tmp/me/%a/program 

It is important to specify the architecture with -arch before specifying the number of processors. Also, the first arch command must refer to the processor on which the job will be started. Specifically, if -nolocal is not specified, then the first -arch must refer to the processor from which mpirun is running.



Up: Contents Next: mpirun and Globus Previous: Writing wrapper definitions