OpenMolcas v23.06
ウェブページ
https://gitlab.com/Molcas/OpenMolcas

バージョン
v23.06

ビルド環境
GCC 9.2.1
Intel MKL 2023.1.0
HPC-X 2.11 (Open MPI 4.1.4)

ビルドに必要なファイル
OpenMolcas.tar.gz (git clone したディレクトリを tar.gz 化)
ga-5.8.2.tar.gz

ビルド手順
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 checkcp 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 &fitar 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テスト
シリアル版のエラー
grayzone:832 (シリアル版のみの実行): 軽微な数値エラー
grayzone:898 (シリアル版のみの実行): 数値エラー
並列版(4 MPI, 2 OpenMP を指定)は以下のテストでエラー
additional:221: 計算に異常な時間を要したために強制終了
additional:826: INTERNAL ERROR(OpenMP は MKL 等外部ライブラリ部分にのみ影響)

メモ
テスト結果のコピーは /apl/openmolcas/v23.06/test_results にあります。
並列計算時の additional:221, 826 のエラーは解消の見込みは今のところ無し。
GA で -with-mpi-pr, --with-mpi-mt 指定した場合は openmolcas がまっとうに動作せず。--with-mpi-pt についても同様に動作しないと思われる(未確認)--with-mpi, --with-mpi-ts, --with-mpi-spawn, --with-mpi3, --with-openib は動作するが、上記エラーは共通
gcc のバージョンを変えても(8,9,10,11)状況改善せず
インテルコンパイラ(Intel MPI 使用)を使った場合でも状況改善せず。追加で他のテストでもいくつかエラー発生。
MKL を OpenBLAS (ilp64版)に置き換えても状況変わらず。