Building MPICH/MPICH2

This file documents the use of the x86 Open64 Compiler Suite.
© 2009 Advanced Micro Devices, Inc.

MPICH Info

MPICH is a portable MPI model implementation. MPI stands for Message Passing Interface, the industry-wide standard protocol for passing messages between parallel processors. You can obtain the MPICH source files from the MPICH website. The current version of MPICH2 is 1.0.6p1, released on October 31, 2007.

Download: MPICH2.

Building MPICH

In brief, the following steps are sufficient to build MPICH and its dependent applications from the command line:

     >export CC=opencc
     >export CXX=openCC
     >export FC=openf90
     >export F90=openf90
     >export CFLAGS=-O3
     >export RSHCOMMAND=ssh
     >./configure --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>.