MPICH

Description

MPICH is a high-performance and widely portable implementation of the Message Passing Interface (MPI) standard (MPI-1, MPI-2 and MPI-3).

User instructions

MPICH has been compiled for both the GNU and Intel 64-bit compiler families. To use it, load the appropriate module:

$ module load mpich/3.2

Compiling MPI programs is best done using the MPI programs which act as wrappers around the desired compiler:

mpif90
Fortran wrapper.
mpicc
C wrapper
mpic++, mpiCC, mpicxx
C++ wrapper

MPI-compiled programs should be run using the mpirun command, e.g. to run an MPI program on 2 processors:

$ mpirun -np 2 /path/to/program.x

Note

The majority of cluster workstations are good, but not suitable for highly-parallel calculations. Please investigate the College’s HPC service for running large-scale MPI calculations. Open MPI is provided on the cluster for development purposes.

License

New BSD license (free, both in terms of speech and beer).

Admin notes

I compiled the GNU version using:

../mpich-3.2/configure --prefix=/common/debian/9.1/Compiler/gcc/6.3/mpich/mpich-3.2
make
make install

and the Intel version using:

mp purge; ml intel
../mpich-3.2/configure --prefix=/common/debian/9.1/Compiler/intel/2017.4/mpich/mpich-3.2 CC=icc CXX=icpc FC=ifort F77=ifort
make -j4
make install