OpenMolcas v26.02

ウェブページ

https://gitlab.com/Molcas/OpenMolcas

バージョン

v26.02

ビルド環境

  • GCC 14.2.1
  • Intel MKL 2025.3
  • Open MPI 4.1.8

ビルドに必要なファイル

  • OpenMolcas-v26.02.tar.gz
  • ga-5.9.tar.gz

ビルド手順

GlobalArrays

#!/bin/bash
set -e

GA_VERSION=5.9
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/v26.02/ga-${GA_VERSION}
PARALLEL=32

#---------------------------------------------------------------------
if [ ! -f "${GA_SOURCE}" ]; then
  echo "Error: Source file ${GA_SOURCE} not found"
  exit 1
fi

umask 0022
ulimit -s unlimited
export LANG=
export LC_ALL=C
export OMP_NUM_THREADS=1

mkdir -p "${WORKDIR}" || { echo "Error: Cannot create $WORKDIR"; exit 1; }
cd $WORKDIR || { echo "Error: Cannot cd to $WORKDIR"; exit 1; }
if [ -d ga-${GA_VERSION} ]; then
  rm -rf "ga-${GA_VERSION}"
fi

# Load required modules
echo "Loading required modules..."
module -s purge
module -s load gcc-toolset/14
module -s load mkl/2025.3
module -s load openmpi/4.1.8/gcc14

# Quick check for MPI compiler
if ! command -v mpicc >/dev/null 2>&1; then
  echo "Error: MPI compilers not found after loading modules"
  exit 1
fi

# Extract source
echo "Extracting source code..."
tar zxf ${GA_SOURCE}
cd ga-${GA_VERSION} || { echo "Error: Cannot cd to ga-${GA_VERSION}"; exit 1; }

# Set compilation environment
export F77=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 CFLAGS="-Wno-error=incompatible-pointer-types"
export GA_CXXOPT="-O3"

# Build and install
echo "Running autogen..."
bash autogen.sh
echo "Configuring..."
./configure --with-blas8 \
         --enable-i8 \
         --prefix=${INSTALLDIR}

make -j ${PARALLEL}
make check
make install

echo "Saving configuration log..."
cp config.log ${INSTALLDIR}
echo "Installation completed successfully"

OpenMolcas

#!/bin/sh

VERSION=v26.02
SOURCEDIR=/home/users/${USER}/Software/openmolcas/${VERSION}
TARBALL=${SOURCEDIR}/OpenMolcas-${VERSION}.tar.gz
INSTALL_DIR=/apl/openmolcas/${VERSION}
PARALLEL=1
WORKDIR=/gwork/users/${USER}
VERIFYTMP=${WORKDIR}/openmolcas-tmp-${VERSION}-gcc9

# Check if required files exist
if [ ! -f "${TARBALL}" ]; then
  echo "Error: Tarball not found at ${TARBALL}"
  exit 1
fi

export GAROOT=${INSTALL_DIR}/ga-5.9
#--------------------------------------------------------
umask 0022
ulimit -s unlimited
export LANG=
export LC_ALL=C
export MOLCAS_TIMELIM=1800

module purge
module -s load gcc-toolset/14
module -s load mkl/2025.3
module -s load openmpi/4.1.8/gcc14

cd $WORKDIR || exit 1

if [ -d OpenMolcas-${VERSION} ]; then
   rm -rf OpenMolcas-${VERSION} &
fi
tar zxf ${TARBALL} || { echo "Failed to extract tarball"; exit 1; }
cd OpenMolcas-${VERSION} || exit 1

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

mkdir -p build && cd build || exit 1

FC=mpif90; CC=mpicc; CXX=mpicxx
PYTHONEXE=/usr/bin/python3.6
PYTHONINC=/usr/include/python3.6
PYTHONLIB=/usr/lib64/python3.6

# Check if Python executable exists
if [ ! -f "${PYTHONEXE}" ]; then
  echo "Error: Python executable not found at ${PYTHONEXE}"
  exit 1
fi

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 \
    -DCMAKE_Fortran_STANDARD_LIBRARIES="-lrt" \
   || { echo "CMake configuration failed"; exit 1; }

make -j${PARALLEL} || { echo "Make failed"; exit 1; }

mkdir -p ${VERIFYTMP}
export OMP_NUM_THREADS=2
time ./pymolcas verify --parallel ${PARALLEL} --tmp ${VERIFYTMP}

make install || { echo "Installation failed"; exit 1; }

echo "Installation completed successfully"

テスト

1 MPI, 2 OpenMPの場合は、grayzoneを除き全てパス。
並列版(4 MPI, 2 OpenMP を指定)は以下のテストでエラー。

  • additional:221 (alaska)
  • additional:430 (caspt2)
  • additional:431 (caspt2)
  • additional:432 (caspt2)
  • additional:434 (caspt2)
  • additional:435 (caspt2)
  • additional:439 (alaska)
  • additional:443 (alaska)
  • additional:444 (alaska)
  • additional:826 (rasscf)