OpenMolcas v23.06
Webpage
https://gitlab.com/Molcas/OpenMolcas
Version
v23.06
Build Environment
- GCC 9.2.1
- Intel MKL 2023.1.0
- HPC-X 2.11 (Open MPI 4.1.4)
Files Required
- OpenMolcas.tar.gz (git cloned directory was tar-gzipped)
- ga-5.8.2.tar.gz
Build Procedure
GlobalArrays
#!/bin/sh
GA_VERSION=5.8.2
GA_DIR=/home/users/${USER}/Software/GlobalArrays/${GA_VERSION}
GA_SOURCE=${GA_DIR}/ga-${GA_VERSION}.tar.gz
WORKDIR=/gwork/users/${USER}
INSTALLDIR=/apl/openmolcas/v23.06/ga-5.8.2
#---------------------------------------------------------------------
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
module purge
module load gcc-toolset/9
module load mkl/2023.1.0
module load openmpi/4.1.4-hpcx/gcc9
tar zxf ${GA_SOURCE}
cd ga-${GA_VERSION}
export F77=mpif90
export F90=mpif90
export FC=mpif90
export CC=mpicc
export CXX=mpicxx
export MPIF77=mpif90
export MPICC=mpicc
export MPICXX=mpicxx
export GA_FOPT="-O3"
export GA_COPT="-O3"
export GA_CXXOPT="-O3"
sh autogen.sh
./configure --with-blas8=-mkl \
--with-scalapack8=-mkl \
--with-openib \
--enable-i8 \
--prefix=${INSTALLDIR}
make -j ${PARALLEL}
make install
make check
cp config.log ${INSTALLDIR}
OpenMolcas
#!/bin/sh
VERSION=v23.06
SOURCEDIR=/home/users/${USER}/Software/OpenMolcas/${VERSION}
TARBALL=${SOURCEDIR}/OpenMolcas.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-v23.06-gcc9-openib
# note: locally installed pyparsing was used in the installation
PATCH=${SOURCEDIR}/cmakelists.patch
export GAROOT
#--------------------------------------------------------
umask 0022
ulimit -s unlimited
export LANG=
export LC_ALL=C
export MOLCAS_TIMELIM=1800
module purge
module load gcc-toolset/9
module load mkl/2023.1.0
module load openmpi/4.1.4-hpcx/gcc9
cd $WORKDIR
if [ -d OpenMolcas ]; then
mv OpenMolcas OpenMolcas_tmp
rm -rf OpenMolcas_tmp &
fi
tar zxf ${TARBALL}
cd OpenMolcas
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}
mkdir -p ${VERIFYTMP}
export OMP_NUM_THREADS=2
./pymolcas verify --parallel 4 --tmp ${VERIFYTMP}
make install
Tests
Serial version:- grayzone:832 (only serial version tested): minor numerical error
- grayzone:898 (only serial version tested): numerical error
- additional:221: it took too much time and timed out eventually.
- additional:826: INTERNAL ERROR
- (OpenMP is applied only for external libraries such as MKL)
Notes
- Copy of testlog is available in /apl/openmolcas/v23.06/test_results.
- Error of additional:221 and 826 for parallel version is very hard to avoid.
- GA compiled with -with-mpi-pr or --with-mpi-mt do not work well with openmolcas. --mpi-pt might result in the same error (not yet tried).
- GA built with --with-mpi, --with-mpi-ts, --with-mpi-spawn, --with-mpi3, or --with-openib work fine with openmolcas. But the errors above do not disappear.
- Changing gcc version (8,9,10,11) doesn't help.
- Replacing MKL with OpenBLAS (ilp64 version) does not help, either.
- Intel compiler version (with Intel MPI) met the same issue. Some of openmolcas tests were failed additionally.