MPIRun for MPD

Use MPIRun.exe to launch an mpich application. It is in the [MPICH Home]\mpd\bin directory. You will probably want to add this directory to your path environment variable.

Usage:

Bracketed sections are optional.

Configuration files.

The config file format is as follows:

exe c:\somepath\myapp.exe
 OR \\host\share\somepath\myapp.exe
[args arg1 arg2 arg3 ...]
[env VAR1=VAL1|VAR2=VAL2|...|VARn=VALn]
[dir drive:\some\path]
[map drive:\\host\share]
hosts
hostA #procs [path\myapp.exe]
hostB #procs [\\host\share\somepath\myapp2.exe]
hostC #procs
...

Bracketed lines are optional. The # character will comment out a line.  You may specify a path to an executable on each host line, thus enabling MPMD programming.   If you do not specify a path, then the default is used from the exe line.

Here are two sample configuration files:

exe c:\temp\myapp.exe
hosts
fry 1
jazz 2

This one shows a more complicated scenario:

exe c:\temp\slave.exe
env MINX=0|MAXX=2|MINY=0|MAXY=2
args -i c:\temp\cool.points
hosts
fry 1 c:\temp\master.exe
fry 1 
#light 1
jazz 2

Command line options for MPIRun

-np #procs

Launch #procs, starting on the current machine and then one on each of the rest of the machines specified at install time until #procs are launched.  This mechanism loops if more processes are specified than there are machines available.

-machinefile filename

This tells mpirun to use the hosts in "filename" when determining where to launch processes.  Use this in conjunction with "-np x" to launch processes on a specific set of machines.  Put one host per line in the file.  Empty lines are discarded and lines starting with # are ignored.  You can specify a number after the host name to recommend how many processes to launch on the host.  This is useful if you want to launch more than one process on a multi-CPU machine.  MPIRun will cycle through this list until all the processes are launched, repeating hosts if necessary.

-localonly

This flag causes all the processes to be launched on the local machine using the shared memory device.

-localonly -tcp

Add the -tcp switch to force the use of sockets instead of shared memory

-env "var1=val1|var2=val2|var3=val3|...varn=valn"

This will set the environment variables specified in the string before each process is launched.  Remember to quote the string so the command prompt doesn't interpret the vertical bar as a pipe command.

-logon

This option will cause mpirun to prompt for an account and password.  If you use mpiregister.exe to encrypt an account and password into the registry, -logon will override the use of that user.

-map drive:\\host\share

This option will map a drive on the hosts where the processes are launched.  The mappings are removed after the processes exit.  This option can be repeated multiple times. example: -map z:\\myserver\myhome

-dir drive:\some\path

This sets the working directory for the launched processes.  If this option is not specified the current directory is used.

-hosts n host1 host2 ... hostn
-hosts n host1 m1 host2 m2 ... hostn mn

Specify the hosts to launch on.  In the second form, the number of processes is m1 + m2 + ... + mn.

-pwdfile filename

Specify a file containing an account and password used to launch processes under.  The first line of the file must be the account name and the second line must be the password.

main
MPIConfig
MPIRegister
MPDUpdate