Molpro 2020.1.2 (intel)
ウェブページ
バージョン
2020.1.2
ビルド環境
- GCC 6.3.1 (devtoolset-6)
- Intel Compiler 19.1.2 (parallel studio 2020 update 2)
- Intel MPI 2018.0.4 (parallel studio 2018 update 4)
- Intel MKL 2020.0.2 (parallel studio 2020 update 2)
- Global Arrays Toolkit 5.7.2
ビルドに必要なファイル
- Molpro_release.tar.gz (ダウンロードした Molpro_release を tar.gz で固めたもの)
- ga-5.7.2.tar.gz
- work.patch (/local/apl/lx/molpro2020.1.2/patches/work.patch; work directory のデフォルトを変更)
- binput.patch (/local/apl/lx/molpro2020.1.2/patches/binput.patch; 巨大な CI 計算のためのパラメータ変更)
- token
ビルド手順
#!/bin/sh
GA_VERSION=5.7.2
MOLPRO_VERSION=2020.1.2
MOLPRO_DIRNAME=Molpro_release
PARALLEL=12
BASEDIR=/home/users/${USER}/Software/Molpro/2020.1.2
MOLPRO_TARBALL=${BASEDIR}/${MOLPRO_DIRNAME}.tar.gz
PATCH0=${BASEDIR}/work.patch
PATCH1=${BASEDIR}/binput.patch
TOKEN=${BASEDIR}/token
WORKDIR=/work/users/${USER}
GA_INSTALLDIR=${WORKDIR}/ga-temporary
INSTALLDIR=/local/apl/lx/molpro${MOLPRO_VERSION}-intel
#------------------------------------------
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-6
module load intel/19.1.2
module load mpi/intelmpi/2018.4.274
module load mkl/2020.0.2
#tar zxf /home/users/${USER}/Software/GlobalArrays/${GA_VERSION}/ga-${GA_VERSION}.tar.gz
unzip /home/users/${USER}/Software/GlobalArrays/${GA_VERSION}/ga-${GA_VERSION}.zip
cd ga-${GA_VERSION}
export CFLAGS="-pc80"
export FFLAGS="-pc80"
export FCFLAGS="-pc80"
export CXXFLAGS="-pc80"
export F77=mpiifort
export F90=mpiifort
export FC=mpiifort
export CC=mpiicc
export CXX=mpiicpc
export MPIF77=mpiifort
export MPICC=mpiicc
export MPICXX=mpiicpc
export GA_FOPT="-O3 -ip -w -xHost"
export GA_COPT="-O3 -ip -w -xHost"
export GA_CXXOPT="-O3 -ip -w -xHost"
# --with-ofi failed...
./autogen.sh
./configure --with-blas8 \
--enable-i8 \
--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}
export PATH="${GA_INSTALLDIR}/bin:$PATH" # where ga-config exists
CPPFLAGS="-I${GA_INSTALLDIR}/include" \
LDFLAGS="-L${GA_INSTALLDIR}/lib" \
./configure --prefix=${INSTALLDIR} \
--enable-integer8 \
--enable-slater
LD_LIBRARY_PATH_ESC=`echo $LD_LIBRARY_PATH | sed -e 's/\//\\\\\//g'`
sed -i -e "s/^VERBOSE.*$/VERBOSE=/" \
-e "s/^LD_ENV=.*$/LD_ENV=$LD_LIBRARY_PATH_ESC/" CONFIG
unset LD_LIBRARY_PATH_ESC
make -j ${PARALLEL}
cp $TOKEN lib/.token
make tuning
## manually modify tuning parameters!
#sed -i -e "s/tuning-mindgm.*/tuning-mindgm 0001/" \
# -e "s/tuning-mindgc.*/tuning-mindgc 0001/" \
# -e "s/tuning-mindgr.*/tuning-mindgr 0001/" \
# -e "s/tuning-mindgl.*/tuning-mindgl 0001/" \
# -e "s/tuning-mindgv.*/tuning-mindgv 0001/" lib/tuning.rc
MOLPRO_OPTIONS=-n2 make quicktest
MOLPRO_OPTIONS=-n2 make test
# failed tests
# loc_eom3.test and PNO-[RU]CCSD tests
#make install
#install -m 644 lib/.token ${INSTALLDIR}/molpro*/lib
最後の install は手動で実行しています。
テスト
- GA のテストは全てパス
- PNO-LCCSD 関連は動作しないため全てエラー
- (h2odim_pnolmp2.test, h2o_rhfpr.test, h2odim_pnolccsdtf12.test, h2o_pnormp2f12.test, auh_cabs.test, c2h4_pnoccd.test, ch3oh_srmp2.test, embed_pno-lccsd-in-dft.test, form_pnoccsd.test, gly1_pnolmp2f12_xyz.test, gly1_pnolmp2f12_zmat.test, gly2_pnof12.test, gly2_pnolccd.test, gly2_pnolccsd.test, gly2_pnolmp2.test, gly2_pnolmp2_2.test, gly2_pnolmp2f12.test, gly2_pnorccsd.test, gly2_pnotriples.test, gly2_pnotriples_disk.test, h2o_pno_litf.test, h2o_pnolccsdf12.test, h2o_pnormp2f12.test, h2o_pnotriples.test, h2o_rhfpr.test, h2odim_mltp.test, h2odim_pno_singdom.test, h2odim_pnolccsd.test, h2odim_pnolccsd_f12.test, h2odim_pnolccsd_proj.test, h2odim_pnolccsdf12.test, h2odim_pnolccsdtf12.test, h2odim_pnolmp2.test, h2odim_pnolmp2_2.test, h2odim_pnolmp2_3.test, h2odim_pnolmp2f12.test, h2odim_pnorccsd.test, h2odim_pnormp2.test, ldfhf.test, ldfhf2.test)
メモ
- PNO-LCCSD 関連はソースコードレベルで動かないようになっています。
- パフォーマンスについても基本的には GCC 版の方が上である可能性が高いです。まずは GCC 版をお試し下さい。
- Intel Parallel Studio 2020 update 2 の MPI を使うと GA が一部正常に動作せずフリーズするため回避。