MPICH-2
From HP-SEE Wiki
Contents |
- Web site: http://www.mcs.anl.gov/research/projects/mpich2/
- Described version: 1.1.1p1
- Licensing: http://www.mcs.anl.gov/research/projects/mpich2/downloads/license.txt
- User documentation: http://www.mcs.anl.gov/research/projects/mpich2/documentation/index.php?s=docs, MPICH-2 FAQ
- Download: http://www.mcs.anl.gov/research/projects/mpich2/downloads/index.php?s=downloads
- Source code: http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/1.1.1p1/
Authors/Maintainers
Mathematics and Computer Science Division, Argonne National Laboratory.
Summary
MPICH-2 is a high-performance, widely portable implementation of the MPI (Message- Passing Interface) standard, designed to implement all of MPI-1 and MPI-2 specifications (including dynamic process management, one-sided operations, parallel I/O, and other extensions).
MPICH-2 implementation replaces MPICH-1 and it is recommended to be used instead of MPICH-1 except for the case of clusters with heterogeneous data representations. It includes support for one-side communication, dynamic processes, intercommunicator collective operations, expanded MPI-IO functionality, and improved data type handling routines compared to MPICH.
MPICH-2 provides a separation of process management and communication. It provides several different process managers (process managers are basically external (typically distributed) agents that spawn and manage parallel jobs) such as Hydra, MPD, SMPD etc.
MPICH-2 is designed in that way so that a number of communication infrastructures can be used. These are called devices and channels. Each device is an underlying transport layer for the message passing. Several new devices and channels since MPICH-1 are introduced and their usage provides high performance both in intranode and internode communication, for example, Nemesis channel on ch3 device that provides communication using different networks (tcp, mx) as well as various shared-memory optimizations (for better performances within the compute node). MPICH2 supports C, C++, F77, and F90 languages and it is installed in standard configure/make manner. It is available on most platforms present today including the IBM Blue Gene/P systems but since BG/P’s front-end uses a different architecture than the actual compute nodes, MPICH2 has to be cross-compiled for this platform.
Features
- Listed features
Architectural/Functional Overview
- high level design info, how it works, performance - may be a link, or several links
Usage Overview
- If possible with small example - may be a link
Dependencies
- list of all relevant dependencies on other libraries
HP-SEE Applications
- Applications using it
Resource Centers
- Resource centre PARADOX MPICH-2
- Resource centre BG MVAPICH2, OPENMPI
- Resource centre HPCG MVAPICH2, OPENMPI
- Resource centre NCIT OpenMPI v.1.3, v.1.5, IntelMpi 3.2.1 (Mpich2 flavor)
- Resource centre UVT MPICH-2, MVIAPICH 2, Intel-MPI Library, OPENMPI
Usage by Other Projects and Communities
- If any