Molpro 2019.2.3 for LX
ウェブページ
バージョン
2019.2.3
ビルド環境
- Intel Parallel Studio 2017 update8
- ifort 17.0.8
- icc 17.0.8
- mkl 2017.0.4
- impi 2017.0.4
- Global Arrays Toolkit 5.7
ビルドに必要なファイル
- Molpro_release.tar.gz (ダウンロードした Molpro_release を tar.gz で固めたもの)
- ga-5.7.tar.gz
- work.patch
--- utilities/molpro.template.orig 2018-12-10 16:29:50.000000000 +0900
+++ utilities/molpro.template 2018-12-10 16:39:13.000000000 +0900
@@ -446,6 +446,12 @@
shift
done
+MOLPRO_OPTIONS="\
+-d/work/users/$USER/ \
+-I/work/users/$USER/ \
+-W/work/users/$USER/wfu \
+$MOLPRO_OPTIONS"
+
if test "x${option_d}" = x ; then
# Now we have to replicate everything inside molpro.exe to try and get the same value of -d that it would
option_d="/tmp"
- token
ビルド手順
#!/bin/sh
GA_VERSION=5.7
MOLPRO_VERSION=2019.2.3
MOLPRO_DIRNAME=Molpro_release
PARALLEL=12
BASEDIR=/home/users/${USER}/Software/Molpro/2019.2.3
MOLPRO_TARBALL=${BASEDIR}/${MOLPRO_DIRNAME}.tar.gz
PATCH=${BASEDIR}/work.patch
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-3
module load intel_parallelstudio/2017update8
tar zxf /home/users/${USER}/Software/GlobalArrays/${GA_VERSION}/ga-${GA_VERSION}.tar.gz
cd ga-${GA_VERSION}
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"
./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 < ${PATCH}
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
MOLPRO_OPTIONS=-n2 make quicktest
MOLPRO_OPTIONS=-n2 make test
# failed tests: loc_eom3.test
#make install # do it manually
最後の make install だけはスクリプトの処理が終了後、手動実行しています。
テスト
- loc_eom3: 数値エラー。以前のバージョンと同様
- PNO_RCCSD/PNO_UCCSD (マニュアルには記述が見つからない method)を使っているテスト全て
- form_pnoccsd, gly2_pnorccsd, gly2_pnorccsd_multinode, h2odim_pno_singdom, h2odim_pnorccsd
メモ
- 2019.1.2 導入時に手違いで導入できていなかったスクラッチや波動関数の出力先を /work/users にするためのパッチ(work.patch)ですが、今回は正しく適用できています。
- 距離の "ANGS" は 2019.1.2 では使えませんでしたが、このバージョンでは使えるようです。
- intel2019 でのビルドは可能でしたが、速度面でのメリットが見られず、テストもいくつか追加で失敗したため、採用を見送りました。
- (Intel MPI 2019 では GA のテストでエラーが出たり、そもそも挙動が怪しかったりしたので intel2019 + mkl2019 + impi2018 という変則ビルドでテストしています)
- intel2018u4 では GA のビルドはできたものの、molpro のビルド中にエラー終了しました。