
		      Portable MPI Model Implementation

			 Version 1.2.7, June, 2005

                                 David Ashton
                                 Anthony Chan
				  Bill Gropp
                                  Rob Latham
				  Rusty Lusk
                                   Rob Ross
                                 Rajeev Thakur

		  Mathematics and Computer Science Division
			 Argonne National Laboratory


MPICH is an open-source, portable implementation of the Message-Passing
Interface Standard.  It contains a complete implementation of version 1.2 of
the MPI Standard and also significant parts of MPI-2, particularly in the
area of parallel I/O.

This is only a bug fix release.  All new work is in MPICH2, available at
www.mcs.anl.gov/mpi/mpich2 .  In fact, this may be the last release
of MPICH1.  

The installation and user's manuals have been combined as of the
1.2.3. release; in addition, device-specific versions are available,
simplifying the use of the manuals when troubleshooting.  The manual may be
found in doc/mpichman-devicename.ps.gz, where devicename is one of the MPICH
devices.  For example, most Beowulf users should look at either
doc/mpichman-chp4mpd.ps.gz (for the ch_p4mpd device) or
doc/mpichman-chp4.ps.gz (for the ch_p4 device).  Users of a single shared
memory multiprocessor can use doc/mpichman-chshmem.ps.gz.  Globus users may
use mpichman-globus2.ps.gz. PDF versions of all of these are also provided.

Man pages for each MPI routine, along with commands for compiling and running
MPI programs, are provided in the directories man (Unix man format) and www
(HTML). 

Known Problems:

MPICH (and MPICH2) are designed to be portable to a wide range of systems.  As
part of our testing, we build and test MPICH on many systems.  However, we do
not have access to some systems for development and testing, and on these
systems there may be build problems.  The systems that we know do not work
include

IBM AIX 5.2 and the ch_shmem device

Systems to which we have no access and cannot test include

HP-UX
IRIX
Tru64

(We can test on AIX but have no development access, so problems cannot be
fixed) 

Systems on which we test frequently and which MPICH is known to run include

Linux for IA32 (several flavors)
Solaris (both 32 bit and 64 bit)

MPICH has also been built on 

Mac OS X

but hangs on some tests when running them on a single machine.

The globus2 device passes most tests but may fail ictest and ictest3 .

Information on previous versions
--------------------------------

Features new and improved in Version 1.2.5 included:

Significantly better collective algorithms are available.

Major changes for the globus2 device and the ch_nt device.


Features new or improved in Version 1.2.4 included:

SMP support has been inproved through the use of sched_yield.  SMP Systems that
are not oversubscribed can consider configuring with --disable-yeild.

The option --with-common-prefix=dir can be used to set the directory
path for installing tools such as upshot and jumpshot that are
independent of the MPICH device.  For example,

 configure --with-device=ch_p4 --prefix=/usr/local/mpich-1.2.5/ch_p4 \
     --with-common-prefix=/usr/local/mpich-1.2.5
 make 
 make install
 configure --with-device=ch_p4mpd  --prefix=/usr/local/mpich-1.2.5/ch-p4mpd \
     --with-common-prefix=/usr/local/mpich-1.2.5

A number of bugs in the ch_p4, ch_p4mpd, and ch_shmem device hae been fixed.
These could cause programs to hang or generate error messages.

There are many improvements to the MPICH-NT version.


Features new or improved in Version 1.2.3 included:

Bug fixes and improved-portability, 
particularly in the area of Linux and Mac OS X support.  Other new features
include better support for Intel compilers, particularly for IA64 Linux,
better support for various Fortran compilers, and some fixes for rare race
conditions in the ch_p4 device.  The documentation on the ch_p4mpd device and
the MPD system has been improved.  Version 1.2.3 also includes all of the
source for both the Unix and Windows versions.  Windows users should still
use the self-installing version available through the web page.  The globus
device now supports version 2 of Globus.

Features new or improved in Version 1.2.2 included:

There are a number of improvements to the ch_p4 device that improve both
performance and reliability, particularly on Linux platforms. 

Significant upgrades have been made to the MPD system of daemons that provide
fast startup of MPICH jobs, management of stdio, and a crude parallel debugger
based on gdb.  To use the MPD system, do

   configure --with-device=ch_p4mpd  <other configure arguments>

See the README file in the mpich/mpid/mpd directory and the MPICH User's Guide
for information on how to use the MPD system with MPICH.

The NT version of MPICH has been further enhanced and is
available separately; see the MPICH download page
http://www.mcs.anl.gov/mpi/mpich/download.html 

Known problems and bugs with this release are documented in the file
mpich/KnownBugs .

There is an FAQ at http://www.mcs.anl.gov/mpi/mpich/faq.html .  See this if
you get "permission denied", "connection reset by peer", or "poll: protocol
failure in circuit setup" when trying to run MPICH. 

A change log for all changes from the previous release is available from
http://www.mcs.anl.gov/mpi/mpich/r1_2_2changes.html .  

There is a paper on jumpshot available at
ftp://ftp.mcs.anl.gov/pub/mpi/jumpshot.ps.gz .
A paper on MPD is available at ftp://ftp.mcs.anl.gov/pub/mpi/mpd.ps.gz.


What's next:
All of our new development effort is going towards an all-new implementation
of MPI, including both the MPI-1 and MPI-2 functions.  This new system is 
called MPICH2 and is available at www.mcs.anl.gov/mpi/mpich2 .

Reporting Bugs:

If you have trouble, first try MPICH2 (www.mcs.anl.gov/mpi/mpich2) .

If you need to use MPICH1, check the installation and user manuals (in 
mpich/doc/) .  Next, check the on-line bug list at
http://www.mcs.anl.gov/mpi/mpich .  Finally, if you are still having problems,
send

   The type of system (often, uname -a will give you this)
   The output of configure
   The output of make
   Any simple programs or tests

to mpi-bugs@mcs.anl.gov .  Please don't use the newsgroup comp.parallel.mpi ;
this newsgroup is for discussions about MPI, not any particular implementation
of MPI.

