MPICH, formerly known as MPICH2, is a freely available, portable implementation of
MPI, a standard for message-passing for distributed-memory applications used in
parallel computing
Parallel computing is a type of computation in which many calculations or processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. There are several different fo ...
. MPICH is
Free and open source software
Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
with some
public domain
The public domain (PD) consists of all the creative work
A creative work is a manifestation of creative effort including fine artwork (sculpture, paintings, drawing, sketching, performance art), dance, writing (literature), filmmaking, ...
components that were developed by a US governmental organisation, and is available for most flavours of
Unix-like
A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
OS (including
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
and
Mac OS X
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac (computer), Mac computers. Within the market of ...
).
History
The
Argonne National Laboratory
Argonne National Laboratory is a science and engineering research United States Department of Energy National Labs, national laboratory operated by University of Chicago, UChicago Argonne LLC for the United States Department of Energy. The facil ...
and
Mississippi State University
Mississippi State University for Agriculture and Applied Science, commonly known as Mississippi State University (MSU), is a public land-grant research university adjacent to Starkville, Mississippi. It is classified among "R1: Doctoral Unive ...
jointly developed early versions (MPICH-1) as
public domain software
Public-domain software is software that has been placed in the public domain, in other words, software for which there is absolutely no ownership such as copyright, trademark, or patent. Software in the public domain can be modified, distributed, ...
. 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.
The original implementation of MPICH (sometimes called "MPICH1") implemented the MPI-1.1 standard. Starting around 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.0 implements the MPI-4.0 standard.
MPICH is one of the most popular implementations of MPI. It is used as the foundation for the vast majority of MPI implementations, including IBM MPI (for
Blue Gene
Blue Gene is an IBM project aimed at designing supercomputers that can reach operating speeds in the petaFLOPS (PFLOPS) range, with low power consumption.
The project created three generations of supercomputers, Blue Gene/L, Blue Gene/P, ...
), Intel MPI, Cray MPI, Microsoft MPI, Myricom MPI, OSU MVAPICH/MVAPICH2, and many others.
MPICH channels
Based on ch3 infrastructure:
* Nemesis - Universal, has inter-node modules: elan, GM, IB (infiniband), MX (myrinet express), NewMadeleine, tcp; and several intra-node variants of shared memory for large messages (LMT interface).
* ssm - Sockets and Shared Memory
* shm - SHared memory
* sock - tcp/ip sockets
* sctp - experimental channel over
SCTP
The Stream Control Transmission Protocol (SCTP) is a computer networking communications protocol in the transport layer of the Internet protocol suite. Originally intended for Signaling System 7 (SS7) message transport in telecommunication, the p ...
sockets
MPICH derivatives
*IBM (MPI for the
Blue Gene
Blue Gene is an IBM project aimed at designing supercomputers that can reach operating speeds in the petaFLOPS (PFLOPS) range, with low power consumption.
The project created three generations of supercomputers, Blue Gene/L, Blue Gene/P, ...
series and, as an option, for x86 and POWER clusters)
*
Cray
Cray Inc., a subsidiary of Hewlett Packard Enterprise, is an American supercomputer manufacturer headquartered in Seattle, Washington. It also manufactures systems for data storage and analytics. Several Cray supercomputer systems are listed ...
(MPI for all Cray platforms)
*
SiCortex SiCortex was a supercomputer manufacturer founded in 2003 and headquartered in Clock Tower Place,
Maynard, Massachusetts. On 27 May 2009, ''HPCwire'' reported that the company had shut down its operations, laid off most of its staff, and is seekin ...
(MPI SiCortex)
*Microsoft (
MS-MPI)
*Intel (Intel MPI)
*Qlogic (MPICH2-PSM)
*Myricom (MPICH2-MX)
*
Ohio State University
The Ohio State University, commonly called Ohio State or OSU, is a public land-grant research university in Columbus, Ohio. A member of the University System of Ohio, it has been ranked by major institutional rankings among the best publ ...
(MVAPICH and MVAPICH2)
*ParTec (ParaStation MPI)
*
University of British Columbia
The University of British Columbia (UBC) is a public university, public research university with campuses near Vancouver and in Kelowna, British Columbia. Established in 1908, it is British Columbia's oldest university. The university ranks a ...
(MPICH2/SCTP, and Fine-Grain MPI (FG-MPI) which adds support for
coroutine
Coroutines are computer program components that generalize subroutines for non-preemptive multitasking, by allowing execution to be suspended and resumed. Coroutines are well-suited for implementing familiar program components such as cooperative ...
s
)
See also
*
Open MPI
Open MPI is a Message Passing Interface (MPI) library project combining technologies and resources from several other projects (FT-MPI, LA-MPI, LAM/MPI, and PACX-MPI). It is used by many TOP500 supercomputers including Roadrunner, which was th ...
, another popular open source MPI implementation
*
MVAPICH
MVAPICH, also known as MVAPICH2, is a BSD licenses, BSD-licensed implementation of the Message Passing Interface, MPI standard developed by Ohio State University. MVAPICH comes in a number of flavors:
* MVAPICH2, with support for InfiniBand, iWAR ...
References
External links
MPICH Home Pagestandards documents
{{Parallel Computing
Concurrent programming libraries
Free software
Public-domain software with source code