Molpro2015.1-pl33 for LX

ウェブページ

http://www.molpro.net/

バージョン

2015.1.33

ビルド環境

  • Intel Compiler 15.0.1
  • Intel MKL 11.2.1
  • Open MPI 2.1.3 (intel)
  • Global Arrays Toolkit 5.5

ビルドに必要なファイル

  • Molpro2015.1.33.tar.gz
  • work.patch (下参照)
  • ga-5-5 (スクリプト中で取得)
  • token

work.patch

--- Molpro2015/utilities/molpro.template.orig    2014-07-01 09:18:27.834620536 +0900
+++ Molpro2015/utilities/molpro.template    2014-07-01 09:19:40.493339561 +0900
@@ -100,6 +100,13 @@
 # add executable directory to PATH for finding mrcc executables
 export PATH="`echo ${exe} | sed -e 's/\/[^\/]*$//g'`:${PATH}"
 
+MOLPRO_OPTIONS="\
+-d/work/users/$USER/ \
+-I/work/users/$USER/ \
+-W/work/users/$USER/wfu \
+$MOLPRO_OPTIONS"
+export MOLPRO_OPTIONS
+
 if [ "x$LAUNCHER" = x ] ; then
  mode="serial"
  if [ "x$verbose" = x1 ] ; then echo " # SERIAL mode"; fi

ビルド手順

#!/bin/sh

GA_VERSION=5-5
MOLPRO_VERSION=2015.1-pl33
MOLPRO_DIRNAME=Molpro2015.1.33
PARALLEL=12
BASEDIR=/home/users/${USER}
MOLPRO_TARBALL=${BASEDIR}/Molpro2015.1.33.tar.gz
PATCH=${BASEDIR}/work.patch
TOKEN=${BASEDIR}/token

GA=https://svn.pnl.gov/svn/hpctools/branches/ga-${GA_VERSION}
WORKDIR=/work/users/${USER}
GA_INSTALLDIR=${WORKDIR}/ga-temporary
INSTALLDIR=/local/apl/lx/molpro${MOLPRO_VERSION}
GA_INC=${GA_INSTALLDIR}

#------------------------------------------
umask 0022

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

svn checkout ${GA} --username anonymous --password anonymous --non-interactive

# using environment modules
module purge
module load intel/15.0.1
module load mkl/11.2.1
module load mpi/openmpi/2.1.3/intel

cd ga-${GA_VERSION}

export F77=mpif90
export CC=mpicc
export CXX=mpicxx
export MPIF77=mpif90
export MPICC=mpicc
export MPICXX=mpicxx
export GA_FOPT="-O3 -w -xHost"
export GA_COPT="-O3 -w -xHost"
export GA_CXXOPT="-O3 -w -xHost"

sed -i 's/lmkl/mkl/g' armci/configure tascel/configure comex/configure configure

./configure --with-blas8 \
            --enable-i8 \
            --prefix=${GA_INSTALLDIR}

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

unset F77
unset CC
unset CXX
unset MPIF77
unset MPICC
unset MPICXX

cd ../
tar zxvf ${MOLPRO_TARBALL}
cd ${MOLPRO_DIRNAME}
patch -p1 < ${PATCH}
sed -i -e "s/2012\.1/2015.1/" configure # why...?

./configure -batch \
            -i8 \
            -icc \
            -ifort \
            -j ${PARALLEL} \
            -openmpi \
            -slater \
            -noboost \
            -mpp \
            -mppbase ${GA_INC} \
            -x86_64 \
            -prefix ${INSTALLDIR}

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

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

make tuning
MOLPRO_OPTIONS=-n2 make quicktest
MOLPRO_OPTIONS=-n2 make test
#make install # do it manually

最後のmake installは手動で実行します。

注意点

インプット条件により、正常に動作しないケースがあります。テストジョブで確認。
その場合、実行時に --tuning-mindgm 0001 や --tuning-mindgv 0001 等のチューニングオプションを渡すと
(多少数値精度に変化があるようですが)動作する場合があります。
これらチューニング用パラメータの名前とデフォルト値はlib/tuning.rcに記述があります。