Molpro 2015.1 pl-44 (HPE)

ウェブページ

https://www.molpro.net/

バージョン

2015.1.44

ビルド環境

  • GCC 9.2.1 (gcc-toolset-9)
  • HPC-X 2.13.1
  • MKL 2022.2.1

ビルドに必要なファイル

  • molpro.2015.1.44.tar.gz
  • ga-5.7.tar.gz
  • work.patch
  • patch-argos-binput.F
  • patch-common-cconf
  • patch-common-cconf1
  • patch-common-cref
  • patch-forces-forces_drv.F
  • patch-mrci-ciref.F
  • patch-util-zmatrix.F
  • patch-make-molver.mk
  • patch-cic-ItfFortranInt.h
  • patch-slater-monoelectronicas.F
  • patch-slater-RL4gen1.F
    • パッチファイルは /apl/molpro/2015.1.44/patches 以下に置いています。
  • token

ビルド手順

#!/bin/sh

GA_VERSION=5.7
MOLPRO_VERSION=2015.1-pl44
MOLPRO_DIRNAME=molpro.2015.1.44
PARALLEL=12
BASEDIR=/home/users/qf7/Software/Molpro/2015.1.44
MOLPRO_TARBALL=${BASEDIR}/molpro.2015.1.44.tar.gz
TOKEN=${BASEDIR}/token

WORKDIR=/gwork/users/${USER}
INSTALLDIR=/apl/molpro/2015.1.44

GA_TARBALL=/home/users/${USER}/Software/GlobalArrays/5.7/ga-5.7.tar.gz
GA_INSTALLDIR=${WORKDIR}/ga-temporary
GA_INC=${GA_INSTALLDIR}

PATCH0=${BASEDIR}/work.patch
PATCH1=${BASEDIR}/patch-argos-binput.F
PATCH2=${BASEDIR}/patch-common-cconf
PATCH3=${BASEDIR}/patch-common-cconf1
PATCH4=${BASEDIR}/patch-common-cref
PATCH5=${BASEDIR}/patch-forces-forces_drv.F
PATCH6=${BASEDIR}/patch-mrci-ciref.F
PATCH7=${BASEDIR}/patch-util-zmatrix.F
PATCH8=${BASEDIR}/patch-make-molver.mk
PATCH9=${BASEDIR}/patch-cic-ItfFortranInt.h
PATCHQ1=${BASEDIR}/patch-slater-monoelectronicas.F
PATCHQ2=${BASEDIR}/patch-slater-RL4gen1.F

#------------------------------------------
umask 0022
ulimit -s unlimited

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/9
module load openmpi/4.1.5-hpcx/gcc11
module load mkl/2022.2.1

tar zxf ${GA_TARBALL}
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 MPIF90=mpif90
export MPICC=mpicc
export MPICXX=mpicxx
export GA_FOPT="-O3"
export GA_COPT="-O3"
export GA_CXXOPT="-O3"

./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}
patch -p0 < ${PATCH2}
patch -p0 < ${PATCH3}
patch -p0 < ${PATCH4}
patch -p0 < ${PATCH5}
patch -p0 < ${PATCH6}
patch -p0 < ${PATCH7}
patch -p0 < ${PATCH8}
patch -p0 < ${PATCH9}
patch -p0 < ${PATCHQ1}
patch -p0 < ${PATCHQ2}

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

CPPFLAGS="-I${GA_INSTALLDIR}/include" \
LDFLAGS="-L${GA_INSTALLDIR}/lib" \
    ./configure --prefix=${INSTALLDIR} \
                --enable-mpp=ga-config \
                --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="" make quicktest
MOLPRO_OPTIONS=-n2 make test
#make install # do it manually