OpenMPI 4.0.2
ウェブページ
バージョン
- 4.0.2
ビルド環境
- gcc 4.8.5, 4.9.2, 5.3.1, 6.3.1, 7.3.1, 8.3.1
- intel compiler 15, 17, 18, 19
- PBS Pro 14.1.0
- libpsm2 10.3.3
- libpsm2-devel 10.3.3
必要なファイル
- openmpi-4.0.0.tar.bz2
ビルド手順(gcc)
#!/bin/sh
VERSION=4.0.2
VERSION_SHORT="402"
WORKDIR=/work/users/${USER}
TARBALL=/home/users/${USER}/openmpi-${VERSION}.tar.bz2
PBSROOT=/local/apl/lx/pbs14
PARALLEL=12
#-----------------------------------------------------------------------
umask 0022
cd ${WORKDIR}
if [ -d openmpi-${VERSION} ]; then
mv openmpi-${VERSION} openmpi_erase
rm -rf openmpi-${VERSION} &
fi
tar jxf ${TARBALL}
cd openmpi-${VERSION}
# GCC 4.8
module purge
INSTALLDIR=/local/apl/lx/openmpi${VERSION_SHORT}
mkdir rccs-gcc && cd rccs-gcc
../configure --prefix=${INSTALLDIR} \
--with-tm=${PBSROOT} \
--enable-mpi-cxx \
--enable-mpi1-compatibility \
--with-psm2
make -j ${PARALLEL} && make install && make check
cd ../
# GCC 4.9
module purge
module load scl/devtoolset-3
INSTALLDIR=/local/apl/lx/openmpi${VERSION_SHORT}-gnu4.9
mkdir rccs-gcc49 && cd rccs-gcc49
../configure --prefix=${INSTALLDIR} \
--with-tm=${PBSROOT} \
--enable-mpi-cxx \
--enable-mpi1-compatibility \
--with-psm2
make -j ${PARALLEL} && make install && make check
cd ../
# GCC 5.3
module purge
module load scl/devtoolset-4
INSTALLDIR=/local/apl/lx/openmpi${VERSION_SHORT}-gnu5.3
mkdir rccs-gcc53 && cd rccs-gcc53
../configure --prefix=${INSTALLDIR} \
--with-tm=${PBSROOT} \
--enable-mpi-cxx \
--enable-mpi1-compatibility \
--with-psm2
make -j ${PARALLEL} && make install && make check
cd ../
# GCC 6.3
module purge
module load scl/devtoolset-6
INSTALLDIR=/local/apl/lx/openmpi${VERSION_SHORT}-gnu6.3
mkdir rccs-gcc63 && cd rccs-gcc63
../configure --prefix=${INSTALLDIR} \
--with-tm=${PBSROOT} \
--enable-mpi-cxx \
--enable-mpi1-compatibility \
--with-psm2
make -j ${PARALLEL} && make install && make check
cd ../
# GCC 7.3
module purge
module load scl/devtoolset-7
INSTALLDIR=/local/apl/lx/openmpi${VERSION_SHORT}-gnu7.3
mkdir rccs-gcc73 && cd rccs-gcc73
../configure --prefix=${INSTALLDIR} \
--with-tm=${PBSROOT} \
--enable-mpi-cxx \
--enable-mpi1-compatibility \
--with-psm2
make -j ${PARALLEL} && make install && make check
cd ../
# GCC 8.3
module purge
module load scl/devtoolset-8
INSTALLDIR=/local/apl/lx/openmpi${VERSION_SHORT}-gnu8.3
mkdir rccs-gcc83 && cd rccs-gcc83
../configure --prefix=${INSTALLDIR} \
--with-tm=${PBSROOT} \
--enable-mpi-cxx \
--enable-mpi1-compatibility \
--with-psm2
make -j ${PARALLEL} && make install && make check
cd ../
ビルド手順(intel)
#!/bin/sh
VERSION=4.0.2
VERSION_SHORT="402"
WORKDIR=/work/users/${USER}
TARBALL=/home/users/${USER}/openmpi-${VERSION}.tar.bz2
PBSROOT=/local/apl/lx/pbs14
PARALLEL=12
#-----------------------------------------------------------------------
umask 0022
cd ${WORKDIR}
if [ -d openmpi-${VERSION} ]; then
mv openmpi-${VERSION} openmpi_erase
rm -rf openmpi-${VERSION} &
fi
tar jxf ${TARBALL}
cd openmpi-${VERSION}
# intel 2015
module purge
module load intel_parallelstudio/2015update1
INSTALLDIR=/local/apl/lx/openmpi${VERSION_SHORT}-intel15
mkdir rccs-intel15 && cd rccs-intel15
CC=icc CXX=icpc FC=ifort \
../configure --prefix=${INSTALLDIR} \
--with-tm=${PBSROOT} \
--enable-mpi-cxx \
--enable-mpi1-compatibility \
--with-psm2
make -j ${PARALLEL} && make install && make check
cd ../
# intel 2017
module purge
module load intel_parallelstudio/2017update8
INSTALLDIR=/local/apl/lx/openmpi${VERSION_SHORT}-intel17
mkdir rccs-intel17 && cd rccs-intel17
CC=icc CXX=icpc FC=ifort \
../configure --prefix=${INSTALLDIR} \
--with-tm=${PBSROOT} \
--enable-mpi-cxx \
--enable-mpi1-compatibility \
--with-psm2
make -j ${PARALLEL} && make install && make check
cd ../
# intel 2018
module purge
module load intel_parallelstudio/2018update4
#INSTALLDIR=/local/apl/lx/openmpi${VERSION_SHORT}-intel18
INSTALLDIR=/local/apl/lx/openmpi${VERSION_SHORT}-intel
mkdir rccs-intel18 && cd rccs-intel18
CC=icc CXX=icpc FC=ifort \
../configure --prefix=${INSTALLDIR} \
--with-tm=${PBSROOT} \
--enable-mpi-cxx \
--enable-mpi1-compatibility \
--with-psm2
make -j ${PARALLEL} && make install && make check
cd ../
# intel 2019
module purge
module load intel_parallelstudio/2019update5
INSTALLDIR=/local/apl/lx/openmpi${VERSION_SHORT}-intel19
mkdir rccs-intel19 && cd rccs-intel19
CC=icc CXX=icpc FC=ifort \
../configure --prefix=${INSTALLDIR} \
--with-tm=${PBSROOT} \
--enable-mpi-cxx \
--enable-mpi1-compatibility \
--with-psm2
make -j ${PARALLEL} && make install && make check
cd ../
メモ
- cxx と レガシーな mpi1 (scalapack 等が要求します) のサポートを有効にしています。
- 利用時には OMPI_MCA_btl_openib_allow_ib 環境変数を 1 に設定するようにして下さい。(module では設定してあります)
- setenv OMPI_MCA_btl_openib_allow_ib 1 (csh)
- export OMPI_MCA_btl_openib_allow_ib=2 (bash)