Molpro 2022.2.2

ウェブページ

https://www.molpro.net/

バージョン

2022.2.2 (latest commit: 2022/6/8 11:34:24 +0200)

ビルド環境

  • GCC 9.3.1 (devtoolset-9)
  • Intel Parallel Studio 2018 update4 (mkl and mpi)
  • Global Arrays Toolkit 5.8

ビルドに必要なファイル

  • Molpro_release.tar.gz (ダウンロードした Molpro_release を tar.gz で固めたもの)
  • ga-5.8.tar.gz
  • 前回(2021.3.1)のビルドに使ったパッチ
    • work.patch
      • ファイルパスに変更があったため、そこだけ修正
    • patch-argos-binput.F
    • patch-cic-ItfFortranInt.h
    • patch-common_modules-common_cconf1
    • patch-mpp-ga_impl_select
    • patch-common_modules-common_cftypes
    • patch-util-iom
    • patch-util-iow
    • secure_snprintf.patch
  • patch-geometry-geometry-evaluation
    • patch-util-iom, patch-util-iow と同様の理由で導入
  • token

ビルド手順

#!/bin/sh

GA_VERSION=5.8
GA_ARCHIVE=/home/users/${USER}/Software/GlobalArrays/${GA_VERSION}/ga-${GA_VERSION}.zip

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
PATCHX=${BASEDIR}/patch-mpp-ga_impl_select

PATCH10=${BASEDIR}/patch-common_modules-common_cftypes
PATCH11=${BASEDIR}/patch-util-iom
PATCH12=${BASEDIR}/patch-util-iow
PATCH13=${BASEDIR}/patch-geometry-geometry-evaluation

TOKEN=${BASEDIR}/token

WORKDIR=/work/users/${USER}
GA_INSTALLDIR=${WORKDIR}/ga-temporary
INSTALLDIR=/local/apl/lx/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 scl/devtoolset-9
module load mkl/2018.0.4
module load mpi/intelmpi/2018.4.274
module load cmake/3.16.3

unzip -q ${GA_ARCHIVE}
#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"

# --with-ofi failed...
./autogen.sh
cp -f $PATCH_SNPRINTF autotools/m4-1.4.17/
cd $WORKDIR/ga-${GA_VERSION}
./autogen.sh
./configure --enable-i8 \
            --with-mpi3 \
            --prefix=${GA_INSTALLDIR}

make -j ${PARALLEL}
make check
make install
cp config.log ${GA_INSTALLDIR}

cd ../
tar zxf ${MOLPRO_TARBALL}
cd ${MOLPRO_DIRNAME}

patch -p0 < ${PATCH0}
patch -p0 < ${PATCH1}
patch -p0 < ${PATCH2}
patch -p0 < ${PATCH3}
patch -p0 < ${PATCHX}

patch -p0 < ${PATCH10}
patch -p0 < ${PATCH11}
patch -p0 < ${PATCH12}
patch -p0 < ${PATCH13}

export PATH="${GA_INSTALLDIR}/bin:$PATH" # where ga-config exists

CPPFLAGS="-I${GA_INSTALLDIR}/include" \
LDFLAGS="-L${GA_INSTALLDIR}/lib" \
    ./configure --prefix=${INSTALLDIR}

sed -i -e "s/^VERBOSE.*$/VERBOSE=/" CONFIG

make -j ${PARALLEL}
cp $TOKEN lib/.token

make tuning

MOLPRO_OPTIONS="" make quicktest
MOLPRO_OPTIONS=-n2 make test

# failed tests: o3_optdfpbe0 (slater ignored)

#make install # do it manually
#cp -a testjobs ${INSTALLDIR}/molpro*/
#cp -a bench ${INSTALLDIR}/molpro*/

メモ

  • (パッチファイルは /local/apl/lx/molpro2022.2.2/patches 以下にまとめて置いてあります)
  • 前回(2021.3.1)のビルドをほぼそのまま使いまわしています。slater については未検証です。
  • o3_optdfpbe0.test テストだけ失敗。要求精度が高すぎるようにも見える。

**** PROBLEMS WITH JOB o3_optdfpbe0.test
 ERRORS DETECTED in o3_optdfpbe0.test. Max error for energy=3.67742814D-09
**** For further information, look in the output file