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.
Source¶
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