
		      Portable MPI Model Implementation

			 Version 1.2.5, January, 2003

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

		  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.

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). 

Version 1.2.5 is primarily a bug-fix release.  New features include

Significantly better collective algorithms are available.

Major changes for the globus2 device and the ch_nt device.

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

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 still under development, though beta versions are
available for those using MPICH as a research vehicle.  If you want an MPI
implementation, MPICH, not MPICH2, is the right choice at this time.

Reporting Bugs:

If you have trouble, first 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.

