Section: 3.3 Running Scali MPI Connect programs

This control over placement of processes can be very valuable when application performance depends on all the nodes having the same amount of work to do.

3.3.2.3 Controlling options to mpimon

The program mpimon has a multitude of options which can be used for optimising SMC performance. Normally it should not be necessary to use any of these options. However, unsafe MPI programs might need buffer adjustments to solve deadlocks. Running multiple applications in one run may also be facilitated with some of the "advanced options".

Mpimon also has an advanced tracing option to enable pinpointing of communication bottlenecks.

The complete syntax for the program is as follows:

mpimon [<mpimon option>]... <program & node-spec> [-- <program & node-

spec>]...

where

<mpimon options> are options to mpimon (see "See Mpimon options" and the SMC

 

Release Notes for a complete list of options),

<program & node-spec>is an application and node specification consisting of

 

<program spec> -- <node spec> [<node spec>]...,

<program spec>

is an application and application-options specification

 

(<userprogram>[<programoptions>])

--

is the separator that signals end of user program options.

<node spec>

specifies which node and how many instances (<nodename>

 

[<count>]).

 

If <count> is omitted, one MPI-process is started on each node

 

specified.

Examples:

Starting the program “/opt/scali/examples/bin/hello” on a node called “hugin” and the program “/opt/scali/examples/bandwidth” with 2 processes on “munin”:

mpimon /opt/scali/examples/bin/hello -- hugin -- /opt/scali/examples/bin/bandwidth -- munin 2

Changing one of the mpimon-parameters:

mpimon -channel_entry_count 32 /opt/scali/examples/bin/hello -- hugin 2

3.3.2.4 Standard input

The -stdinoption specifies which MPI-process rank should receive the input. You can in fact send stdin to all the MPI-processes with the all argument, but this requires that all MPI- processes read the exact same amount of input. The most common way of doing it is to send all data on stdin to rank 0:

mpimon -stdin 0 myprogram -- node1 node2... < input_file

Note that default for -stdinis none.

3.3.2.5 Standard output

Scali MPI Connect Release 4.4 Users Guide

25

Page 37
Image 37
Escali 4.4 manual Controlling options to mpimon, Standard input, Standard output, Program spec, Node spec