- Obtain required RPMS (in addition to those required by
yum -y install libibumad-devel librdmacm-devel libibmad-devel hwloc-devel hwloc-plugins hwloc
- Set up the compiler:
setup gcc v6_3_0
- Make a build area:
mkdir build-e14 && cd build-e14
- Read the quick installation instructions and the full installation instructions to see if you should add any device-specific options to the build, e.g.
- Configure the build (adding device-specific options as necessary):
CXXFLAGS=-std=c++14 <srcdir>/configure --prefix=/usr/local/mvapich2-2.3a --exec-prefix=/usr/local/mvapich2-2.3a/$(ups flavor)-e14 \
--includedir=/usr/local/mvapich2-2.3a/$(ups flavor)-e14/include --enable-error-checking=all \
--enable-error-messages=all --enable-timing=none --enable-mpit-pvars=none --enable-fast=O3,ndebug \
--enable-fortran=all --enable-romio --enable-threads=runtime --enable-rdma-cm --disable-static \
--disable-dependency-tracking --disable-wrapper-rpath --enable-time-type=clock_gettime --enable-debuginfo \
--enable-versioning --disable-libxml2 --enable-g=debug --enable-hybridNotes:
- The setting of
CXXFLAGS is necessary to ensure that C++ code compiled with
mpicxx has the expected standards compliance and compatibility, even if the C++ libraries are not wanted.
- It is insufficient to specify
--exec-prefix and share non-platform-dependent files with the same prefix, because
.mod files are compiler-dependent, meaning
--includedir is necessary.
- As root:
- Repeat for as many compiler / qualifier combinations as required.
- Finally, unwind the attached product stub tarball into your products directory. Verify that everything is consistent with version numbers, directories and qualifiers as desired, adjusting if desired.
- Set up and test each qualified version with the attached "Hello, World!" program, as found at http://mpitutorial.com/tutorials/mpi-hello-world/.