SGI's Message Passing Toolkit
The Message Passing Toolkit (MPT) from SGI provides an alternative implementation of MPI. More information is available in the
user guide
Modules
The correct environment for using MPT can be set up by loading the mpt module (i.e.
module load mpt
). The
which
command can be used to check which version of
mpif90
or
mpirun
will be found (e.g.
which mpif90
should return
/opt/sgi/mpt/mpt-2.06/bin/mpif90
for MPT).
Building code
If you have loaded the mpt module then the MPT version of the
mpif90
command should be found instead of the Intel version. More details on compiling and linking using MPT can be found in Chapter 3 of the
MPT user guide
MPT can also work with executables compiled for other types of MPI. See chapter 6 of the user guide for details.
Running on a single node
There is an
mpirun
command for MPT e.g.
mpirun -np 12 myprog
to run
myprog
using 12 MPI processes on one node.
If you have problems with
mpirun
make sure that your path is set up correctly to pick up the MPT version of
mpirun
and not the Intel MPI version. You may need to load the MPT module in the job file to make sure the correct version is found.
Running multi-node MPT jobs
To run on more than one node you can use the mpiexec_mpt command e.g.
mpiexec_mpt -np 24 myprog
will run
myprog
using a total of 24 MPI processes on the nodes listed in the PBS nodes file. An example PBS script for running multi-node MPT jobs can be found at
/usr/local/examples/qsub_script/example-mpt.pbs
.
Performance profiling
Running an MPT code using the
perfcatch
command will produce profiling information. First load the perfcatcher module using
module load perfcatcher
then
run with
mpirun -np 12 perfcatch myprog
A file called
MPI_PROFILING_STATS
will be produced which is a text file containing the profiling data.
--
DavidAcreman - 08 Dec 2008