Molpro 2022.2.2 (HPE)
ウェブページ
バージョン
2022.2.2 (latest commit: 2022/6/8 11:34:24 +0200)
ビルド環境
- GCC 10.3.1 (gcc-toolset-10)
- GCC 11.2.1 (gcc-toolset-11)
- HPC-X 2.13.1
- openblas 0.3.15 (Rocky Linux 8 のもの)
ビルドに必要なファイル
- Molpro_release.tar.gz (ダウンロードした Molpro_release を tar.gz で固めたもの)
- ga-5.8.2.tar.gz
- work.patch
- patch-argos-binput.F
- patch-cic-ItfFortranInt.h
- patch-common_modules-common_cconf1
- パッチファイルは /apl/molpro/2022.2.2/patches 以下にあります。内容はそちらでご確認ください。
- token
ビルド手順
#!/bin/sh
GA_VERSION=5.8.2
GA_ARCHIVE=/home/users/${USER}/Software/GlobalArrays/${GA_VERSION}/ga-${GA_VERSI
ON}.tar.gz
MOLPRO_VERSION=2022.2.2
MOLPRO_DIRNAME=Molpro_release
PARALLEL=12
BASEDIR=/home/users/${USER}/Software/Molpro/${MOLPRO_VERSION}
MOLPRO_TARBALL=${BASEDIR}/${MOLPRO_DIRNAME}.tar.gz
PATCH_SNPRINTF=$BASEDIR/secure_snprintf.patch
PATCH0=${BASEDIR}/work.patch
PATCH1=${BASEDIR}/patch-argos-binput.F
PATCH2=${BASEDIR}/patch-cic-ItfFortranInt.h
PATCH3=${BASEDIR}/patch-common_modules-common_cconf1
TOKEN=${BASEDIR}/token
WORKDIR=/gwork/users/${USER}
GA_INSTALLDIR=${WORKDIR}/ga-temporary
INSTALLDIR=/apl/molpro/${MOLPRO_VERSION}
#------------------------------------------
umask 0022
ulimit -s unlimited
export LANG=
export LC_ALL=C
export OMP_NUM_THREADS=1
cd $WORKDIR
if [ -d ga-${GA_VERSION} ]; then
mv ga-${GA_VERSION} ga_tmp
rm -rf ga_tmp &
fi
if [ -d ga-temporary ]; then
mv ga-temporary ga_tmp_tmp
rm -rf ga_tmp_tmp &
fi
if [ -d ${MOLPRO_DIRNAME} ]; then
mv ${MOLPRO_DIRNAME} molpro_tmp
rm -rf molpro_tmp &
fi
module purge
module load gcc-toolset/10
module load openmpi/4.1.5-hpcx/gcc11
tar zxf ${GA_ARCHIVE}
cd ga-${GA_VERSION}
export CFLAGS="-mpc80"
export FFLAGS="-mpc80"
export FCFLAGS="-mpc80"
export CXXFLAGS="-mpc80"
export F77=mpif90
export F90=mpif90
export FC=mpif90
export CC=mpicc
export CXX=mpicxx
export MPIF77=mpif90
export MPICC=mpicc
export MPICXX=mpicxx
export GA_FOPT="-O3"
export GA_COPT="-O3"
export GA_CXXOPT="-O3"
./autogen.sh
./configure --enable-i8 \
--with-mpi-pr \
--prefix=${GA_INSTALLDIR}
make -j ${PARALLEL}
make check
make install
cp config.log ${GA_INSTALLDIR}
module switch gcc-toolset/11
cd ../
tar zxf ${MOLPRO_TARBALL}
cd ${MOLPRO_DIRNAME}
patch -p0 < ${PATCH0}
patch -p0 < ${PATCH1}
patch -p0 < ${PATCH2}
patch -p0 < ${PATCH3}
export PATH="${GA_INSTALLDIR}/bin:$PATH" # where ga-config exists
CPPFLAGS="-I${GA_INSTALLDIR}/include -I/usr/include/openblas" \
LDFLAGS="-L${GA_INSTALLDIR}/lib" \
./configure --prefix=${INSTALLDIR} \
--with-lapack="-L/usr/lib64 -lopenblas"
sed -i -e "s/-J\.//" CONFIG # ?
make -j ${PARALLEL}
cp $TOKEN lib/.token
make tuning
MOLPRO_OPTIONS="" make quicktest
MOLPRO_OPTIONS="-n2" make test
make install
メモ
- (--enable-slater は付け忘れました…)
- GA-5.8.2 を gcc11 でビルドすると一部テストでエラー。gcc10 では問題なし
- disk option の挙動が怪しく、時々フリーズしてしまう。
- intel mpi で試してもダメ。現状、disk option で安定に動くケースを見つけられていない。
- MKL を使おうとすると Eigen でエラーが出たため挫折。システムの OpenBlas でひとまず回避。
- 別途用意した Eigen の module を読み込めば通るかもしれないが未検証