Table of Contents
A specification for interprocess communication defined by the MPI-Forum.
MPI
There are no test or default implementations to guarantee the compatibility of different MPI-implementations.
The most common implementations are OpenMPI and MPICH, both incompatible to each other.
Open MPI 1.2 supports all of MPI-2.0
Open MPI 1.3 supports all of MPI-2.1
Boost.MPI supports all of MPI-1.1 Provided Versions on WW8-Clients OpenMPI 1.6.4 (experimental)
/usr/net/lib/openmpi-intel:
Intel compiler (sandy bridge optimized) with MKL
Usable after
source /usr/net/bin/module_intel
/usr/net/lib/openmpi-gnu
Supporting tools
hwloc-ls Affinity Mask calculator
Fortran parameters
To get the paramters used py the MPI Fortran wrapers (mpif90)
mpif90 --showme
An example output of Fedora 23 with Openmpi (mpi/openmpi-x86_64) will result to:
gfortran -I/usr/include/openmpi-x86_64 -pthread -I/usr/lib64/openmpi/lib -Wl,-rpath -Wl,/usr/lib64/openmpi/lib -Wl,--enable-new-dtags -L/usr/lib64/openmpi/lib -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi
Run job on multiple nodes
$(which mpirun) --hostfile [HOSTFILE] -np [NUMBER PROCESSORS] -x LD_LIBRARY_PATH -x PATH [EXECUTABLE]