MPICH is a high-performance and widely portable implementation of the Message Passing Interface (MPI) standard (MPI-1, MPI-2 and MPI-3). The goals of MPICH are: (1) to provide an MPI implementation that efficiently supports different computation and communication platforms including commodity clusters (desktop systems, shared-memory systems, multicore architectures), high-speed networks (10 Gigabit Ethernet, InfiniBand, Myrinet, Quadrics) and proprietary high-end computing systems (Blue Gene, Cray) and (2) to enable cutting-edge research in MPI through an easy-to-extend modular framework for other derived implementations.
MPICH is distributed as source (with an open-source, freely available license). It has been tested on several platforms, including Linux (on IA32 and x86-64), Mac OS/X (PowerPC and Intel), Solaris (32- and 64-bit), and Windows. Please see the README, CHANGES, and RELEASE_NOTES files in the distribution for more details.
MPICH was originally developed during the MPI standards process starting in 1992 to provide feedback to the MPI Forum on implementation and usability issues. This original implementation was based on the Chameleon portability system to provide a light-weight implementation layer (hence the name MPICH from MPI over CHameleon). Around 2001, development had begun on a new implementation named MPICH2. MPICH2 implemented additional features of the MPI-2 standard over what was implemented in the original MPICH (now referred to as MPICH-1). The final release of the original MPICH is 1.2.7p1. The version numbers of MPICH2 were restarted at 0.9 and continue to 1.5. Starting with the major release in November 2012, the project is renamed back to MPICH with a version number of 3.0.