Installation of MVAPICH
Installation of MVAPICH
MVAPICH is an open-source MPI software to exploit the novel features and mechanisms of InfiniBand and other RDMA enabled interconnects to deliver performance and scalability to MPI applications. If your Linux machines/cluster is using InfiniBand and/or Omni-Path, Ethernet/iWARP, and RoCE, so you can use MVAPICH for performing the parallel jobs of your calculations.
Official website: http://mvapich.cse.ohio-state.edu/
Check if your machine is using InfiniBand
Use ibv_devinfo
hca_id: mlx4_0
transport: InfiniBand (0)
fw_ver: 2.32.5100
node_guid: 7cfe:9003:0017:2dd0
sys_image_guid: 7cfe:9003:0017:2dd3
vendor_id: 0x02c9
vendor_part_id: 4099
hw_ver: 0x1
board_id: DEL1100001019
phys_port_cnt: 1
Device ports:
port: 1
state: PORT_ACTIVE (4)
max_mtu: 4096 (5)
active_mtu: 4096 (5)
sm_lid: 1
port_lid: 1
port_lmc: 0x00
link_layer: InfiniBand
Download
1. Go to download page of MVAPICH website
http://mvapich.cse.ohio-state.edu/register/
2. Register and download the tarball of source code to your machine. For example,
wget http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-2.3.tar.gz
3. Unpack the tarball
tar -xzvf mvapich2-2.3.tar.gz
Installation of MVAPICH
1. Set up configuration using default setting (recommended)
./configure
If you want to install MVAPICH on your private space, just use --prefix option to specify the new directory
./configure --prefix=/home/rangsiman/mvapich2-2.3-local
If configuration setting completed without any error, you should see the output like this.
-----------------------------------------------------------------------------
Hwloc optional build support status (more details can be found above):
Probe / display I/O devices: PCI(linux)
Graphical output (Cairo):
XML input / output: full
libnuma memory support: no
Plugin support: no
-----------------------------------------------------------------------------
Configuration completed.
2. Make and compile the binary
make
make install
If the installation was finished without any error (like below), so the MVAPICH is installed on your machine completely.
...
make[4]: Nothing to be done for `install-data-am'.
make[4]: Leaving directory `/home/rangsiman/mvapich2-2.3/osu_benchmarks'
make[3]: Leaving directory `/home/rangsiman/mvapich2-2.3/osu_benchmarks'
make[2]: Leaving directory `/home/rangsiman/mvapich2-2.3/osu_benchmarks'
make[1]: Leaving directory `/home/rangsiman/mvapich2-2.3'
3. Check the program version
cd /home/rangsiman/mvapich2-2.3-local/bin
./mpirun --version
Output
HYDRA build details:
Version: 3.2.1
Release Date: General Availability Release
CC: gcc
CXX: g++
F77: gfortran
F90: gfortran
Configure options: '--disable-option-checking' '--prefix=/home/rangsiman/usr/local/mvapich2-2.3' '--cache-file=/dev/null' '--srcdir=.' 'CC=gcc' 'CFLAGS= -DNDEBUG -DNVALGRIND -O2' 'LDFLAGS=-L/lib -L/lib -L/lib -Wl,-rpath,/lib -L/lib -Wl,-rpath,/lib -L/lib -L/lib' 'LIBS=-libmad -lrdmacm -libumad -libverbs -ldl -lrt -lm -lpthread ' 'CPPFLAGS= -I/home/rangsiman/mvapich2-2.3/src/mpl/include -I/home/rangsiman/mvapich2-2.3/src/mpl/include -I/home/rangsiman/mvapich2-2.3/src/openpa/src -I/home/rangsiman/mvapich2-2.3/src/openpa/src -D_REENTRANT -I/home/rangsiman/mvapich2-2.3/src/mpi/romio/include -I/include -I/include -I/include -I/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 select
Rangsiman Ketkaew