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.

main
MPIConfig
MPIRegister
MPDUpdate