{{Short description|Free open-source software}} {{Infobox software | name = MPICH | logo = <!-- Image name is enough --> | logo alt = | screenshot = <!-- Image name is enough --> | caption = | screenshot alt = | collapsible = | author = | developer = | released = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} --> | discontinued = | latest release version = 5.0.0 | latest release date = {{Start date and age|2026|02|06|df=yes}}<ref name="releases">{{cite web | url = https://github.com/pmodels/mpich/releases | title = Releases · pmodels/mpich | website = github.com | access-date = 2022-05-23 }}</ref> | programming language = C99 | operating system = Linux, macOS, others. | platform = | size = | language = | language count = <!-- Number only --> | language footnote = | genre = | license = MPICH license (permissive) | website = [https://mpich.org mpich.org] | standard = [[Message Passing Interface]] | AsOf = }} '''MPICH''', formerly known as '''MPICH2''', is a freely available, portable implementation of [[Message Passing Interface|MPI]], a standard for message-passing for distributed-memory applications used in [[parallel computing]]. MPICH is [[Free and open source software]] with some [[Public domain software|public domain]] components that were developed by a US governmental organisation,<ref>[https://github.com/pmodels/mpich/blob/master/COPYRIGHT MPICH License]</ref> and is available for most flavours of [[Unix-like]] OS (including [[Linux]] and [[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]] and [[Mississippi State University]] jointly developed early versions (MPICH1) as [[public domain software]]. The CH part of the name was derived from "Chameleon", which was a portable parallel programming library developed by [[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]]), Intel MPI, Cray MPI, Microsoft MPI, CDAC MPI (C-MPI), Myricom MPI, OSU MVAPICH/MVAPICH2, and many others.
== MPICH derivatives == *[[Cray]] (MPI for all Cray platforms) *[[Microsoft]] (MS-MPI) *[[Intel]] (Intel MPI) *[[Ohio State University]] ([[MVAPICH]]) *ParTec (ParaStation MPI) *[[University of British Columbia]] (Fine-Grain MPI (FG-MPI) which adds support for [[coroutine]]s<ref>{{Cite web|url=http://www.cs.ubc.ca/~humaira/fgmpi.html|title = FG-MPI: Fine-Grain MPI}}</ref>)
== Awards ==
* MPICH received an R&D 100 Award in 2005 * MPICH was awarded the 2024 [[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]], another popular open source MPI implementation * [[MVAPICH]]
==References== {{reflist|30em}}
==External links== *[http://www.mpich.org/ MPICH Home Page] *[http://www.mpi-forum.org/docs standards documents]
{{Parallel Computing}}
[[Category:Concurrent programming libraries]] [[Category:Free software programmed in C]] [[Category:Public-domain software with source code]]