OpenMolcas v22.10 (HPE)

Webpage

https://gitlab.com/Molcas/OpenMolcas

Version

v22.10

Build Environment

  • GCC 8.5.0
  • Intel MKL 2022.2.1
  • HPC-X 2.11 (Open MPI 4.1.4)

Files Required

Build Procedure

#!/bin/sh

VERSION=v22.10
SOURCEDIR=/home/users/${USER}/Software/OpenMolcas/${VERSION}
TARBALL=${SOURCEDIR}/OpenMolcas-${VERSION}.tar.gz

INSTALL_DIR=/apl/openmolcas/${VERSION}
GAROOT=${INSTALL_DIR}/ga-5.8.2
PARALLEL=8

WORKDIR=/gwork/users/${USER}
VERIFYTMP=/gwork/users/${USER}/openmolcas-tmp-v22.10

export GAROOT
#--------------------------------------------------------
umask 0022
ulimit -s unlimited

export LANG=
export LC_ALL=C
export MOLCAS_TIMELIM=1800

module purge
module load mkl/2022.2.1
module load openmpi/4.1.4-hpcx/gcc8

cd $WORKDIR
if [ -d OpenMolcas-${VERSION} ]; then
  mv OpenMolcas-${VERSION} OpenMolcas_tmp
  rm -rf OpenMolcas_tmp
fi

tar zxf ${TARBALL}
cd OpenMolcas-${VERSION}
git submodule update --init External/libmsym
git submodule update --init External/efp
git submodule update --init External/libwfa

sed -i -e "/environ/s/= 1/= '1'/" \
       -e "/environ/s/= opt\['parallel'\]/= str(opt['parallel'])/" \
       sbin/verify

mkdir build && cd build

export FC=mpif90
export CC=mpicc
export CXX=mpicxx

PYTHONEXE=/usr/bin/python3.6
PYTHONINC=/usr/include/python3.6
PYTHONLIB=/usr/lib64/python3.6

cmake .. -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \
         -DMPI_Fortran_COMPILER=${FC} \
         -DMPI_C_COMPILER=${CC} \
         -DMPI_CXX_COMPILER=${CXX} \
         -DPython_EXECUTABLE=${PYTHONEXE} \
         -DPython_INCLUDE_DIR=${PYTHONINC} \
         -DPython_LIBRARY=${PYTHONLIB} \
         -DMPI=ON \
         -DGA=ON \
         -DOPENMP=ON \
         -DLINALG=MKL \
         -DHDF5=ON \
         -DTOOLS=ON \
         -DFDE=ON \
         -DEFPLIB=ON \
         -DMSYM=ON \
         -DNEVPT2=OFF \
         -DDMRG=OFF \
         -DWFA=ON

make -j${PARALLEL}
make install

mkdir -p ${VERIFYTMP}

export OMP_NUM_THREADS=2
./pymolcas verify --parallel 4 --tmp ${VERIFYTMP}

#make install

メモ

  • v21.10 と同様にMPI 並列数を上げると計算結果がおかしくなる場合がある(NWChem をビルドする時については GA を OPENIB でビルドした時と似ている?)