# MPICH

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/MPICH
> Markdown URL: https://mediated.wiki/source/MPICH.md
> Source: https://en.wikipedia.org/wiki/MPICH
> Source revision: 1337581237
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

Free open-source software

MPICH Stable release 5.0.0 / 6 February 2026; 4 months ago (2026-02-06)[1] Written in C99 Operating system Linux, macOS, others. Standard Message Passing Interface License MPICH license (permissive) Website mpich.org Repository github.com/pmodels/mpich

**MPICH**, formerly known as **MPICH2**, is a freely available, portable implementation of [MPI](/source/Message_Passing_Interface), a standard for message-passing for distributed-memory applications used in [parallel computing](/source/Parallel_computing). MPICH is [Free and open source software](/source/Free_and_open_source_software) with some [public domain](/source/Public_domain_software) components that were developed by a US governmental organisation,[2] and is available for most flavours of [Unix-like](/source/Unix-like) OS (including [Linux](/source/Linux) and [Mac OS X](/source/Mac_OS_X)).

## History

MPICH development began in 1992, when a standard for message passing in parallel and distributed computing was still being discussed. MPICH tracked the development of the MPI standard as it evolved. This served dual purpose: to prove that the MPI standard could be implemented as defined, and that it could be done efficiently on all major platforms.

[Argonne National Laboratory](/source/Argonne_National_Laboratory) and [Mississippi State University](/source/Mississippi_State_University) jointly developed early versions (MPICH1) as [public domain software](/source/Public_domain_software). The CH part of the name was derived from "Chameleon", which was a portable parallel programming library developed by [William Gropp](/source/William_Gropp), one of the founders of MPICH.

In 2001, work began on a new code base to replace the MPICH1 code and support the MPI-2 standard. Until November 2012, this project was known as "MPICH2". As of November 2012, the MPICH2 project renamed itself to simply "MPICH". MPICH v3.0 implements the MPI-3.0 standard. MPICH v4.x implements the MPI-4.x standard.

MPICH is one of the most popular implementations of MPI. It is used as the foundation for many other MPI implementations, including IBM MPI (for [Blue Gene](/source/Blue_Gene)), Intel MPI, Cray MPI, Microsoft MPI, CDAC MPI (C-MPI), Myricom MPI, OSU MVAPICH/MVAPICH2, and many others.

## MPICH derivatives

- [Cray](/source/Cray) (MPI for all Cray platforms)

- [Microsoft](/source/Microsoft) (MS-MPI)

- [Intel](/source/Intel) (Intel MPI)

- [Ohio State University](/source/Ohio_State_University) ([MVAPICH](/source/MVAPICH))

- ParTec (ParaStation MPI)

- [University of British Columbia](/source/University_of_British_Columbia) (Fine-Grain MPI (FG-MPI) which adds support for [coroutines](/source/Coroutine)[3])

## Awards

- MPICH received an R&D 100 Award in 2005

- MPICH was awarded the 2024 [ACM Software System Award](/source/ACM_Software_System_Award). The award recognizes that MPICH has powered 30 years of progress in computational science and engineering by providing scalable, robust, and portable communication software for parallel computers.

## See also

- [Open MPI](/source/Open_MPI), another popular open source MPI implementation

- [MVAPICH](/source/MVAPICH)

## References

1. **[^](#cite_ref-releases_1-0)** ["Releases · pmodels/mpich"](https://github.com/pmodels/mpich/releases). *github.com*. Retrieved 2022-05-23.

1. **[^](#cite_ref-2)** [MPICH License](https://github.com/pmodels/mpich/blob/master/COPYRIGHT)

1. **[^](#cite_ref-3)** ["FG-MPI: Fine-Grain MPI"](http://www.cs.ubc.ca/~humaira/fgmpi.html).

## External links

- [MPICH Home Page](http://www.mpich.org/)

- [standards documents](http://www.mpi-forum.org/docs)

v t e Parallel computing General Distributed computing Parallel computing Parallel algorithm Massively parallel Cloud computing High-performance computing Multiprocessing Manycore processor GPGPU Computer network Systolic array Levels Bit Instruction Thread Task Data Memory Loop Pipeline Multithreading Temporal Simultaneous (SMT) Simultaneous and heterogenous Speculative (SpMT) Preemptive Cooperative Clustered multi-thread (CMT) Hardware scout Theory PRAM model PEM model Analysis of parallel algorithms Amdahl's law Gustafson's law Cost efficiency Karp–Flatt metric Slowdown Speedup Elements Process Thread Fiber Instruction window Array Coordination Multiprocessing Memory coherence Cache coherence Cache invalidation Barrier Synchronization Application checkpointing Programming Stream processing Dataflow programming Models Implicit parallelism Explicit parallelism Concurrency Non-blocking algorithm Hardware Flynn's taxonomy SISD SIMD Array processing (SIMT) Pipelined processing Associative processing MISD MIMD Dataflow architecture Pipelined processor Superscalar processor Vector processor Multiprocessor symmetric asymmetric Memory shared distributed distributed shared UMA NUMA COMA Massively parallel computer Computer cluster Beowulf cluster Grid computer Hardware acceleration APIs Ateji PX Boost Chapel HPX Charm++ Cilk Coarray Fortran CUDA Dryad C++ AMP Global Arrays GPUOpen MPI OpenMP OpenCL OpenHMPP OpenACC Parallel Extensions PVM pthreads RaftLib ROCm UPC TBB ZPL Problems Automatic parallelization Cache stampede Deadlock Deterministic algorithm Embarrassingly parallel Parallel slowdown Race condition Software lockout Scalability Starvation Category: Parallel computing

---
Adapted from the Wikipedia article [MPICH](https://en.wikipedia.org/wiki/MPICH) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/MPICH?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
