MPICH2 was awarded an R&D100 award in 2005.
The current version of MPICH2 is 1.0.5p4, released on December 13, 2006, patch 4 March 30, 2007. (The latest patch release has some minor changes for MPICH2 to work better with the TotalView debugger.) MPICH2 replaces MPICH1 and should be used instead of MPICH1 except for the case of clusters with heterogeneous data representations (e.g., different lengths for integers or different byte ordering). MPICH2 does not yet support those systems (support is planned for 2007).
MPICH2 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.
For MPICH2-based MPI implementations on other networks and platforms, such as InfiniBand and Windows, see Related Projects below.
Platform | Download | Size | Version | ||
---|---|---|---|---|---|
All (source) | mpich2-1.0.5p4.tar.gz | http | ftp | 12.8 MB | 1.0.5p4 |
Win32 IA32 | mpich2-1.0.5p2-win32-ia32.msi | http | ftp | 8 MB | 1.0.5p2 |
Win64 EM64T/AMD64 | mpich2-1.0.5p2-win64-x86-64.zip | http | ftp | 6.4 MB | 1.0.5p2 |
Win64 IA64 | mpich2-1.0.3-1-win64-ia64.zip | http | ftp | 12.1 MB | 1.0.3 |
In addition to the distributions provided by the MPICH2 Development Team, distributions of MPICH2 for other operating systems and packing environments are available below. Many thanks go out to those individuals who have graciously contributed their time and energy to create these distributions.
Platform | Author(s) | Email Address | Download | Version |
---|---|---|---|---|
Debian | Zach Lowry | [email protected] | http | 1.0.3 |
FreeBSD | Thierry Thomas | [email protected] | http (info) | 1.0.4 |
Slackware | Marcelo Souza | [email protected] | http (info) | 1.0.4p1 |
Fedora | Deji Akingunola | [email protected] | http (info) | 1.0.4p1 |
Document | HTML | |||
---|---|---|---|---|
User's Guide | N/A | N/A | http | ftp |
Installer's Guide | N/A | N/A | http | ftp |
Windows Developer's Guide | N/A | N/A | http | ftp |
README | http | ftp | N/A | N/A |
CHANGES | http | ftp | N/A | N/A |
RELEASE_NOTES | http | ftp | N/A | N/A |
Change Summary | http | N/A | N/A | N/A |
An MPICH mailing list is available for discussion of the MPICH implementation of MPI.
Another implementation of MPICH2 (1.0.3) over SCTP was developed at Università degli Studi del Molise in Italy. Information on their work is available here.
cvs -d /home/MPI/cvsMaster co mpich2all(If you have trouble with the
confdb
module within MPICH2, checkout
mpich2allnoconfdb
instead of
mpich2all
). From external sites (including machines within MCS that do not mount the division file systems), use
setenv CVS_RSH ssh cvs -d :ext:shakey:/home/MPI/cvsMaster co mpich2allTo checkout a particular release, specify the release name on the checkout:
cvs -d /home/MPI/cvsMaster co -r MPICH2_1_0 mpich2allNote that checking out a particular release name creates a branch (see Managing and Using Branches).
configure
scripts and the C++ and Fortran 77 language bindings. To build these, run
maint/updatefilesOccasionally changes are made to the autoconf macros that are not detected by the dependency tests for the
configure
scripts. It is always correct to delete all of the
configure
scripts before running
maint/updatefiles
:
find . -name configure -print | xargs rm maint/updatefilesThe autoconf macros and the
configure.in
scripts now require autoconf version 2.59. This was done because there are incompatible differences between each minor release of autoconf (even the allowed command line arguments has changed between 2.50 and 2.58).
You can select a particular version of autoconf
and autoheader
by using the environment variables AUTOCONF
and AUTOHEADER
respectively. maint/updatefiles
will use these if they are set.
gcc
, and simplemake
was run by maint/updatefiles
(this is the default for the development version but not the a release distribution). make dependenciesafter the
configure
step. This will enable dependency handling for the parts of MPICH2 that use
simplemake
(e.g.,
src/mpi
,
src/mpid
, and some parts of
src/util
). Other parts of MPICH2, such as ROMIO, do not currently support automatic dependency handling.
configure.in
file, you will need to rebuild the derived file (e.g., the corresponding
configure
file). The safest way to do this is to rerun
updatefiles
:
maint/updatefiles(from the top-level MPICH2 directory). However, this can take a fair amount of time. You can direct
updatefiles
to only update certain classes of files. For example, to update all
configure
files, use
maint/updatefiles -do=build_configureYou can use multiple
-do
arguments. For example, to rebuild the
Makefile.in
files and the
configure
files, use
maint/updatefiles -do=build_configure -do=makefilesCheck the source of
maint/updatefiles
to see what other options are available for
-do
.
mpich2-web
module:
cvs -d /home/MPI/cvsMaster co mpich2-webTo maintain a uniform look to the web pages, including the menu sidebars, each web page is created from a text file. For example, the main page is created from
m.txt
. This page created from
developer.txt
. To make the web pages, simply execute
make
. To test the pages, use
make test-pageswhich will install the pages into the directory
testhome
. To install the pages into the MCS web site, use
make installTo add a new page, look at the
Makefile
and add the necessary commands. Make sure that the
DIRS
and
MAINPAGES
variables list the source directory and files.
faq.txt
, in the directory
mpich2/docs/faq
. This source file uses a simplified form of LaTeX for formatting; the script
faqbuild
, which is run by using
make
in the
docs/faq
directory, will build three forms of the FAQ:
faq.htm
, which is copied to the MPICH2 web site with
make install-web
.txt
, that contain one FAQ item. These may be used with the REQ system
faq.tex
, which is normally processed to produce a PDF file.