Q-Logic IB6054601-00 D Switch User Manual


 
3 – Using InfiniPath MPI
File I/O in MPI
3-18 IB6054601-00 D
Q
3.8.1
MPD Description
The Multi-Purpose Daemon (MPD) was developed by Argonne National Laboratory
(ANL), as part of the MPICH-2 system. While the ANL MPD had certain advantages
over the use of their
mpirun (faster launching, better cleanup after crashes, better
tolerance of node failures), the InfiniPath
mpirun offers the same advantages.
The disadvantage of MPD is reduced security, since it does not use
ssh to launch
node programs. It is also a little more complex to use than
mpirun because it
requires starting a ring of MPD daemons on the nodes. Therefore, most users should
use the normal
mpirun mechanism for starting jobs as described in the previous
chapter. However, for users who wish to use MPD, it is included in the InfiniPath
software.
3.8.2
Using MPD
To start an MPD environment, use the mpdboot program. You must provide mpdboot
with a file listing the machines on which to run the
mpd daemon. The format of this
file is the same as for the mpihosts file in the
mpirun command.
Here is an example of how to run mpdboot:
$ mpdboot -f hostsfile
After mpdboot has started the MPD daemons, it will print a status message and
drop you into a new shell.
To leave the MPD environment, exit from this shell. This will terminate the daemons.
To run an MPI program from within the MPD environment, use the
mpirun command.
You do not need to provide a
mpihosts file or a count of CPUs; by default, mpirun
will use all nodes and CPUs available within the MPD environment.
To check the status of the MPD daemons, use the
mpdping command
NOTE: To use MPD, the software package mpi-frontend-2.0*.rpm must be
installed on all nodes. See the InfiniPath Install Guide for more details on
software installation.
3.9
File I/O in MPI
File I/O in MPI is discussed briefly in the following two sections.
3.9.1
Linux File I/O in MPI Programs
MPI node programs are Linux programs, which can do file I/O to local or remote
files in the usual ways through APIs of the language in use. Remote files are