MPI Implementations

There are a number of groups working on MPI implementations. A web page for implementers has additional information on implementation efforts and the recent MPI implementors workshop.

A list of implementations is available (formerly at the Ohio Supercomputer Center).

  • MPICH, the ANL/MSU Freely available portable MPI implementation; available from ftp.mcs.anl.gov/pub/mpi
  • Readme from portable implementation available by anonymous ftp from ftp.mcs.anl.gov in pub/mpi
  • Slides from a talk on the MPICH implementation given at the 1995 MPI Developers Conference at Notre Dame.
  • Late news about the MPICH portable MPI implementation
  • Man pages for the MPICH implementation.
  • MPICH has been used as the bases for many implementations of MPI. The following are closely related to MPICH.

  • MP-MPICH: MP stands for Multi-Platform and is based on MPICH 1.1.2. Currently, MP-MPICH consists of two parts which are integrated into the single MPICH source tree:
  • NT-MPICH which is a Windows NT-port. It contains a new Winsocket-Device (ch_wsock) for low-latency communication via TCP/IP and an adaption of the shared memory device ch_lfshmem. It also cotains the ch_wsock2 device which basically is a merge of ch_wsock and ch_lfshmem. NT-MPICH supports the MPE logging functions and MPI-IO via ROMIO. A remote execution service and a graphical shell are also available.
  • SCI-MPICH is the first freely available MPI Implementation which directly communicates via the fast SCI network. It is available for Solaris x86 and Linux and also for Windows NT. It delivers latencies of less than 7us and a sustained bandwidth of 74MB/s.
  • More Information on MP-MPICH
  • winmpich is an implementation of MPI for Windows NT from Mississippi State University.
  • WMPI II, WMPI 1.5 and PaTENT MPI are commercial implementations of MPI. WMPI II is a full implementation of the MPI-2 standard for 32 and 64-bit versions of Windows and Linux operating systems. (May, 2004).
  • Illinois High Performance Virtual Machine includes an MPI implementation (based on MPICH); this is a successor to the Fast Messages project. See also the Illinois High Performance Virtual Machines Project.
  • MPI-BIP is an implementation of MPI using the BIP API.
  • ScaMPI is Scali AS thread-safe, high performance MPI implementation. It currently run over SMP and SCI (Scalable Coherent Interface) shared memory. Supported OS's are Solaris (x86 & SPARC), Linux (x86) and WinNT (x86). For more info see www.scali.com.
  • MPICH-Madeleine: a Multi-Protocol Implementation of MPI
  • Mississippi State University UNIFY implementation (provides a subset of MPI within the PVM environment, without sacrificing the PVM calls already available)
  • LAM implementation of MPI.
  • MPI for the Fujitsu AP1000 from the Australian National University.
  • Cray MPI Product for the T3D from Cray Research and the Edinburgh Parallel Computing Centre.
  • HP MPI implementation for the entire HP product line.
  • IBM's MPI for the SP.
  • IBM's MPI for OS/390.
  • SGI's MPI for 64-bit mips3 and mips4 SGI machines is available.
  • PowerMPI for Parsytec Systems
  • MPI/Pro commercial cluster, NT, and multicomputer implementations from MPI Software Technology, Inc.

  • A partial implementation of MPI for the Macintosh G3 cluster is available at http://exodus.physics.ucla.edu/appleseed/appleseed.html. Source code is available there for MacMPI, a partial implementation of MPI.
  • STAMPI is an MPI based communication library for a heterogeneous parallel computer clusters.

  • The following implementations are either no longer available or their URLs have moved. If you have information on any of these, please send [email protected].