| MPI Commands
| impi-relay (1MPI)
|
NAME
impi-relay - IMPI relay
SYNOPSIS
impi-relay
-relay relay id address:port
[-net address] [-port :port] [-fork] [-v] [-h]
DESCRIPTION
This starts the IMPI relay, which allows a private address cluster
to exchange IMPI messages across the other clusters.
It prints the IP address and the port number at startup, which will
be given to the mpirun command as an argument to the -client option.
See also mpirun(1MPI) and impi-server(1MPI).
OPTIONS
The following options are supported:
- -net network-address
- Specifies a private network address on which impi-relay services.
It is used to establish a connection from an IMPI agent on a private
address cluster.
- -port port-number
- Specifies a port number on which impi-relay services. It is used to
establish a connection from an IMPI agent on a private address cluster.
An arbitrary port is selected if it is not specified.
- -fork
- Forks myself and let the child process be a background process.
- -v
- Prints verbose messages to the stderr.
- -h
- Prints simple help.
ENVIRONMENT VARIABLES
- IMPI_NETWORK=network-address
- Specifies the network interface by the network address. It is used
when the machines have multiple network interfaces and the global connection
is on other than the primary interface. It is specified by the format of
the address like "172.16.1.0", and it is matched after masking by the netmask.
- IMPI_RELAY_SOCBUF=number
- Specifies a buffer size of sockets (SNDBUF/RCVBUF) in decimal bytes.
It calls sockopt with a specified value. (1) Specifying a number sets
the value. If the value is non-numerical or negative, it sets the OS
default. (2) Empty string or "0" sets the OS default.
- IMPI_RELAY_STDERR_LOGGING=0 or 1
- Specifies to redirect stderr to a log file. The file name is specified
by the environment variable IMPI_RELAY_LOGFILE. The default is
/tmp/impi-relay.$PID.
- IMPI_RELAY_LOGFILE=filename
- Specifies log file name.
- IMPI_RELAY_PORT_RANGE=n0:n1
- Specifies port range to listen. Port number from n0 to
n1 (inclusive) is tried.
EXAMPLES
Example 1
host1% impi-server -server 2 &
addr1:port1
host1% mpirun -np 4 -client 0 addr1:port1 -c mpi_conf1 ./a.out
hostR% impi-relay -relay 0 addr1:port1
addr2:port2
host2% mpirun -np 4 -client 1 addr2:port2 -c mpi_conf2 ./a.out
This starts two sets of four processes each (total eight).
Two runs of mpirun are started on different clusters. The one is a privately
addressed cluster, the other is a globally addressed cluster.
impi-relay must be invoked on a host which is reachable to both
clusters.
Example 2: Run with gridmpirun script
host1% cat gridmpirun.conf
0 -submit ssh -target host1 -relay hostR -wdir /tmp -n 4 ./a.out
1 -submit ssh -target host2 -wdir /tmp -n 4 ./a.out
host1 gridmpirun ./gridmpirun.conf
This starts a same job of Example 1 by using gridmpirun script.
See also gridmpirun -h.
($Date: 2007/08/20 10:51:42 $)