MPI Commands mpirun (1MPI)

NAME

mpirun - start MPI processes in a cluster

SYNOPSIS

mpirun -np nprocs [-c configuration-file] [-debug level] [-restart] [-ckptdir dir] [-nounix] [-arch arch] program ...

mpirun -client client address:port -np nprocs [-c configuration-file] [-debug level] [-restart] [-ckptdir dir] [-nounix] [-arch arch] program ...

DESCRIPTION

The first synopsis runs MPI processes for a single cluster. The host names to run processes on are taken from the configuration file.

The second synopsis with -client option runs MPI processes for multiple clusters. The option specifies the IP address (IPv4) and the port number of the impi-server process which should be started in advance. The -np option specifies the number of processes in a local cluster.

mpirun command only invokes local MPI processes in a cluster, and the -np option specifies the number of local processes. The host names to run processes on are taken from a configuration file as the first synopsis, which needs only include local hosts. The clusters exchange information about the total number of processes and host addresses by themselves via the IMPI server in the startup stage.

OPTIONS

The following options are supported:

-np nprocs
Specifies the number of MPI processes to start.

-c configuration-file
Specifies the configuration file (-machinefile in MPICH). It is a list of hostnames one per line. The default is "mpi_conf" in the current directory. The configuration file should include the same or more lines of host names than the nprocs argument.

-client client address:port
Specifies the cluster number (n-th of clusters) of this mpirun is for. The argument client specifies a cluster serially by an integer ranging between 0 to 31, up to the number of clusters given to the impi-server. address:port specifies the contact to the impi-server. The impi-server prints its address:port at startup.

The word client means for each cluster in a single job, following the IMPI specification.

MPI process ranks in clusters will be given contiguously, and processes in a cluster with lesser client number will have lesser ranks. Thus, cleint 0 includes rank 0.

This is specified in the IMPI specification, where the command is named as impirun instead of normal mpirun.

-debug level
Specifies the debugging level. This is effective only when GridMPI is configured as debugging.

-restart
Specifies restarting from a check-point save file. See the README of checkpointing for more (which is in preparation).

-ckptdir dir
Specifies a directory for check-point save file. See the README of checkpointing for more (which is in preparation).

-nounix
Specifies not to use Unix domain sockets for communication on the same host.

-arch arch
This is for debugging.

EXIT STATUS

The mpirun returns the return code from the process of the lowest rank which has normally exited. Exceptional exits from the processes are reported in the stderr, but not counted. No process exits normally, 255 is returned.

FILES

mpi_conf
The default host configuration file. It consists lines of host names to use. The format is simple: a line for each host. Comment lines are started by "#". MPI process ranks are assinged from the top. If the list is shorter than the specified number of processes by -np option, a resource error is signaled. THE FORMAT IS FOR YAMPII. IT DIFFERS IN THE VENDOR MPI CONFIGUARTION.

ENVIRONMENT VARIABLES

MPIROOT=path-to-the-installation
Specifies the directory of GridMPI installation. The mpirun command itself can be found in $MPIRUN/bin.

_YAMPI_RSH=remote-shell-command
Specifies a remote shell command. Typical choice is "rsh" or "ssh". RSH is the default.

EXAMPLES

Example 1

% mpirun -np 8 a.out

This starts eight processes in a cluster.

Example 2

% mpirun -np 8 -c mpi_conf a.out

This starts eight processes using the host list in the file mpi_conf.

Example 3

% export IMPI_AUTH_NONE=0
% impi-server -server 2 &
% mpirun -client 0 192.168.1.10:5678 -np 4 -c mpi_conf1 a.out &
% mpirun -client 1 192.168.1.10:5678 -np 4 -c mpi_conf2 a.out

This starts two sets of four processes each (total eight) using the host lists in the files mpi_conf1 and mpi_conf2. The IP address is the one output from running impi-server. Normally, two runs of mpirun are started on different clusters.

Setting the environment variable IMPI_AUTH_NONE (to any value) specifies not to use any authentication, where it is one of the two authentication methods defined in the IMPI standard.

SEE ALSO

mpirun invokes mpifork command in YAMPII to start processes in a cluster. mpifork uses normal RSH/SSH to start processes. mpifork is a standalone program and has many options settable via environment variables. Refer to the description of mpifork for its specific behavior.

mpirun invokes a vendor-supplied MPI invoker program in the vendor MPI configuration, with slightly changing option naming. Refer to MPI manuals from vendors for their specific behavior.

Configuration KeyInvoker CommandVendor
nompiforkGridMPI (YAMPII)
ibmmpipoeIBM
fjmpi/opt/FJSVmpi2/bin/mpiexecFujitsu
mpich$MP_PREFIX/bin/mpirun MPICH
mpich2$MP_PREFIX/bin/mpiexecMPICH2
intelmpi$MP_PREFIX/bin/mpiexecIntel

NOTE: Configuration Key is a word passed to --with-vendormpi.


($Date: 2006/06/09 05:27:55 $)