main

::RUNNING MPICH APPLICATIONS:

Use MPIRun.exe to launch the application. It is in the [MPICH Home]\bin directory.

Usage:

The preferred format is "MPIRun myapp.cfg" where the config file determines the executable and hosts to launch on.

Configuration files.

The config file format is as follows:

[opt push]
exe c:\somepath\myapp.exe
 OR \\host\share\somepath\myapp.exe
[args arg1 arg2 arg3 ...]
[env VAR1=VAL1|VAR2=VAL2|...|VARn=VALn]
hosts
hostA #procs
hostB #procs
hostC #procs
...

Bracketed lines are optional. The # character will comment out a line

Here is a sample configuration file:

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

I provided a sample application and config file for you to try.

Username and Password

When you run an application, MPIRun will prompt you for an account and password to launch the processes as. You can avoid this prompt by running MPIRegister. MPIRegister will encrypt an account and password to the registry for the current user only. Then when you use MPIRun it won't prompt you for a user and password. MPIRegister -remove will delete this information from the registry.

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.

-push

The push option copies the executable to a temporary file on each node, executes it, and then deletes the file after the process has terminated. If this option is not specified then the path to the executable must be the valid on all the nodes.  Note: The launcher cannot resolve network drives.  The executable must reside on the local file system of each node or be reachable by a network share (\\host\share\mpiapp.exe).

-localonly #procs

This runs the application on the local machine using the shared memory device.

-localonly #procs -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.

main
Installation
Compiling an MPI application
MPIRun
Re-Building MPICH.NT
Launcher
Running applications without using the launcher
Subtle configuration options