Section: 3.3 Running Scali MPI Connect programs

For each MPI process SMC will try to establish contact with each other MPI process, in the order listed. This enables mixed interconnect systems, and provides a means for working around failed hardware.

In a system interconnect where the primary interconnect is Myrinet, if one node has a faulty card, using the device list in the example, all communication to and from the faulty node will happen over TCP/IP while the remaining nodes will use Myrinet. This offers the unique ability to continue running applications over the full set of nodes even when there are interconnect faults.

3.3.3 mpirun - wrapper script

mpirun is a wrapper script for mpimon, providing legacy MPICH style startup for SMC applications. Instead of the mpimon syntax, where a list of pairs of node name and number of MPI-processes is used as startup specification, mpirun uses only the total number of MPI- processes.

Using scaconftool, mpirun attempts to generate a list of operational nodes. Note that only operational nodes are selected. If no operational node is available, an error message is printed and mpirun terminates. If scaconftool is not available, mpirun attempts to use the file /opt/ scali/etc/ScaConf.nodeidmap for selecting the list of operational notes. In the generated list of nodes, mpirun evenly divides the MPI-processes among the nodes.

3.3.3.1 mpirun usage

mpirun <mpirunoptions> <mpimonoptions> <userprogram> [<programoptions>]

where

<mpirunoptions> mpirun options <mpimonoptions> options passed on to mpimon <userprogram> name of application program to run.

and

<programoptions> program options passed on to the application program.

The following mpirunoptions exist:

-cpu<time>

Limit runtime to <time> minutes.

-np<count>

Total number of MPI-processes to be started, default 2.

-npn<count>

Maximum number of MPI-processes pr. node, default np <count>/

 

nodes.

-pbs

Submit job to PBS queue system

-pbsparams<“params”>Specify PBS scasub parameters

-p4pg<pgfile>

Use mpich compatible pgfile for program, MPI-process and node

 

specification. pgfile entry: <nodename> <#procs> <progname>

 

The program name given at command line is additionally started

 

with one MPI-process at first node

-v

Verbose.

-gdb

Debug all MPI-processes using the GNU debugger gdb.

-maxtime <time>

Limit runtime to <time> minutes.

-machinefile<filename>Take the list of possible nodes from <filename>

-noconftool

Do not use scaconftool for generating nodelist.

-noarchfile

Ignore the /opt/scali/etc/ScaConf.nodearchmap file (which

 

describes each node).

-H<frontend>

Specify nodename of front-end running the scaconf server.

-mstdin <proc>

Distribute stdin to MPI-process(es).

Scali MPI Connect Release 4.4 Users Guide

27

Page 39
Image 39
Escali 4.4 manual Mpirun wrapper script, Mpirun usage