Mpich is a freely available implementation of the MPI standard that runs on a wide variety of systems. The details of the mpich implementation are described in [9]; related papers include [7] and [8]. This document assumes that mpich has already been installed; if not, you should first read Installation Guide to mpich, a Portable Implementation of MPI [6]. For concreteness, this document assumes that the mpich implementation is installed into /usr/local/mpich and that you have added /usr/local/mpich/bin to your path. If mpich is installed somewhere else, you should make the appropriate changes. If mpich has been built for several different architectures and/or communiation mechanisms (called devices in mpich), you must choose the directories appropriately; check with whoever installed mpich at your site.
Major Features of mpich:
Full MPI 1.2 compliance, including cancel of sends.
The MPI-2 standard C++ bindings are available for the MPI-1 functions.
Both Fortran 77 and Fortran 90 bindings, including both mpif.h and an MPI module.
A Windows NT version is available as open source. The installation and use for this version is different; this manual covers only the Unix version of mpich.
Supports a wide variety of environments, including clusters of SMPs and massively parallel computers.
Follows many (but not yet all) of GNU-recommended build and install targets, including VPATH.
Parts of MPI-2 are also supported:
Most of MPI-IO is supported through the ROMIO implementation (See romio/README for details).
Support for MPI_INIT_THREAD (but only for MPI_THREAD_SINGLE).
Miscellaneous new MPI_Info and MPI_Datatype routines.
Mpich also includes components of a parallel programming environment, including
Tracing and logfile tools based on the MPI profiling interface, including a scalable logfile format (SLOG).
Parallel performance visualization tools (upshot and jumpshot).
Extensive correctness and performance tests.