MPICH (known as MPICH2) is another a freely available, portable implementation of MPI, a standard for message-passing for distributed-memory applications used in parallel computing. This post is going to show how to install MPICH library on Linux machine step-by-step. It is useful for inexperienced user.
Go to the official website: http://www.mpich.org/downloads/
Release Platform Download Sizempich-3.3 (stable release) MPICH [http] 26 MB hydra-3.3 (stable release) Hydra (mpiexec) [http] 4 MBmpich-3.2.1 (stable release) MPICH [http] 11 MB hydra-3.2.1 (stable release) Hydra (mpiexec) [http] 3 MBcurl -O http://www.mpich.org/static/downloads/3.3/mpich-3.3.tar.gz mpich-3.2-10.fc27.x86_64.rpm 2017-08-04 03:08 1.2M mpich-autoload-3.2-10.fc27.x86_64.rpm 2017-08-04 03:08 12K mpich-debuginfo-3.2-10.fc27.x86_64.rpm 2017-08-04 03:08 2.2M mpich-debugsource-3.2-10.fc27.x86_64.rpm 2017-08-04 03:08 1.6M mpich-devel-3.2-10.fc27.x86_64.rpm 2017-08-04 03:08 612K python2-mpich-3.2-10.fc27.x86_64.rpm 2017-08-04 03:08 12K python3-mpich-3.2-10.fc27.x86_64.rpm 2017-08-04 03:08 12K 1. Uncompress the tarball. The size of MPICH folder after unzipped is around 155 - 160 MB
tar -xzvf mpich-3.3.tar.gz2. Change directory
cd mpich-3.33. Set up configuration
./configure --prefix=/where/you/want/to/install/binary/for example
./configure --prefix=/home/rangsiman/mpich-3.3-local4. Make and install (compile binary file
make && make install5. If the MPICH was build successfully, the binary file mpiexec should be available at directory where you set --prefix argument.
ls /home/rangsiman/mpich-3.3-local/binOutput
hydra_nameserver hydra_pmi_proxy mpicc mpicxx mpiexec.hydra mpif90 mpirun parkillhydra_persist mpic++ mpichversion mpiexec mpif77 mpifort mpivars6. Check version of mpiexec
mpiexec --versionOutput
HYDRA build details: Version: 3.3 Release Date: Wed Nov 21 11:32:40 CST 2018 CC: gcc CXX: g++ F77: gfortran F90: gfortran Configure options: '--disable-option-checking' '--prefix=/home/jsyu/usr/local/mpich-3.3' '--cache-file=/dev/null' '--srcdir=.' 'CC=gcc' 'CFLAGS= -O2' 'LDFLAGS=' 'LIBS=' 'CPPFLAGS= -I/home/jsyu/mpich-3.3/src/mpl/include -I/home/jsyu/mpich-3.3/src/mpl/include -I/home/jsyu/mpich-3.3/src/openpa/src -I/home/jsyu/mpich-3.3/src/openpa/src -D_REENTRANT -I/home/jsyu/mpich-3.3/src/mpi/romio/include' 'MPLLIBNAME=mpl' Process Manager: pmi Launchers available: ssh rsh fork slurm ll lsf sge manual persist Topology libraries available: hwloc Resource management kernels available: user slurm ll lsf sge pbs cobalt Checkpointing libraries available: Demux engines available: poll select7. If no any error, MPICH was build successfully.
The install step is the same as MPICH.
tar -xzvf hydra-3.3.tar.gzcd hydra-3.3./configure --prefix=/home/rangsiman/hydra-3.3-localmakemake installcd /home/rangsiman/hydra-3.3-localcd bin./mpiexec --versionOutput
HYDRA build details: Version: 3.3 Release Date: Wed Nov 21 11:32:40 CST 2018 CC: gcc CXX: F77: F90: Configure options: '--prefix=/home/jsyu/usr/local/hydra-3.3' Process Manager: pmi Launchers available: ssh rsh fork slurm ll lsf sge manual persist Topology libraries available: hwloc Resource management kernels available: user slurm ll lsf sge pbs cobalt Checkpointing libraries available: Demux engines available: poll selectRangsiman Ketkaew