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.