Building MPICH

MPICH is a portable MPI model implementation. MPI stands for Message Passing Interface, the industry-wide standard
protocol for passing messages between parallel processors.
Steps to building
To build MPICH, you will need to download the source, configure the
environment, and then build the code. These steps, and any known
limitations, are described in the sections below.

Downloading MPICH
You can obtain the MPICH source files from the MPICH website. As of
publication, the current version of MPICH is 1.2.7, released on June
24, 2005. We have built and tested MPICH 1.2.7.

Building MPICH
Set up your environment to work with the PathScale compilers.

export CC=pathcc                   
export FC=pathf90                  
export F90=pathf90                 
export RSHCOMMAND=ssh 

Now configure and build MPICH.

             
./configure -c++=pathCC -opt=-O3 --enable-f90 --enable-f90modules \
--with-romio --disable-weak-symbols
make
make install                         

Known limitations
There are several tests in the test suite that are broken. The MPI_Address test is not 64-bit clean and there is no easy
fix. The structf test is faulty. MPI_Wtime always
returns 0. The tests affected by this are: ssendtest, issendtest, and order. We verified that modifying
the tests so that they do not check for MPI_Wtime returning
zero allows the rest of the tests run smoothly.

There is a known bug in that MPICH doesn't copy the MPI.mod file to the include directory. MPICH has fixed the bug, but
MVAPICH may not have fixed it yet.

The workaround for the bug is this:

find . -name MPI.mod

Copy the MPI.mod file into <MVAPICH_include_path>.

We recommend you record what steps you took, along with their output,
in case of problems. You can include this in your email to support.
Here is an example of changing a make command to record the output in a
text file:

make foo 2>&1 | tee make-foo-log.txt

If you have any comments or suggestions about additions to these
pages, please contact support@pathscale.com.