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 [10]; related papers include [7] and [8].
Mpich is no longer being developed; the current release may be the last release of mpich. A new version of MPI, MPICH2, is available from www.mcs.anl.gov/mpi/mpich2. This all-new implementation of MPI includes all of both MPI-1 and MPI-2
Major Features of mpich:
- Full MPI 1.2 compliance, including cancel of sends.
- MPMD programs (see Section MPMD Programs ) and heterogeneous clusters are supported.
- 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 and MPI_THREAD_FUNNELLED).
- 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.
- Both large and small application examples.