現在地

OpenMolcas v21.10

ウェブページ

https://gitlab.com/Molcas/OpenMolcas

バージョン

v21.10

ビルド環境

  • Intel Compiler 19.1.2 (intel parallel studio 2020 update 2)
  • Intel MKL 2020.0.2 (intel parallel studio 2020 update 2)
  • OpenMPI 3.1.0
  • cmake 3.16.3

ビルドに必要なファイル

  • OpenMolcas.tar.gz
    • release の tarball をダウンロード・展開した場合、 git submodule 等のコマンドが通らなかったため、以下のように作った上で tarball 化

[user@ccfep v21.10]$ git clone https://gitlab.com/Molcas/OpenMolcas.git
[user@ccfep v21.10]$ cd OpenMolcas
[user@ccfep OpenMolcas]$ git tag
molcas-8.4
molcas-8.4-sp1
v18.09
v19.11
v20.10
v21.02
v21.06
v21.10
[user@ccfep OpenMolcas]$ git checkout refs/tags/v21.10
[user@ccfep OpenMolcas]$ cd ../
[user@ccfep v21.10]$ tar zcvf OpenMolcas.tar.gz OpenMolcas/

  • ga-5.8.zip (Global Arrays)
    • /local/apl/lx/openmolcas21.10/ga-5.8 にシンボリックリンクを作成し、v20.10 時のものを流用しています。

ビルド手順

(GlobalArrays については /local/apl/lx/openmolcas21.10/ga-5.8 に v20.10 時のものを指すシンボリックリンクを事前作成しています。)

#!/bin/sh

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

INSTALL_DIR=/local/apl/lx/openmolcas21.10
GAROOT=${INSTALL_DIR}/ga-5.8 # reuse prev version's one
PARALLEL=8

WORKDIR=/work/users/${USER}

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

export LANG=
export LC_ALL=C

module purge
module load intel/19.1.2
module load mkl/2020.0.2
module load mpi/openmpi/3.1.0/intel20
module load cmake/3.16.3

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

mkdir build && cd build

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

cmake .. -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \
         -DMPI_Fortran_COMPILER=${FC} \
         -DMPI_C_COMPILER=${CC} \
         -DMPI_CXX_COMPILER=${CXX} \
         -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}

export MOLCAS_NPROCS=1
export OMP_NUM_THREADS=1
pymolcas verify

export MOLCAS_NPROCS=2
export OMP_NUM_THREADS=2
pymolcas verify

make install

テスト

OpenMolcas のテスト結果は /local/apl/lx/openmolcas21.10/test_results 以下にコピーを配置してあります。

シリアル版

  • grayzone: 834 は Skipped (有効にしていない gromacs の機能に関する機能)
  • 追加で WFA に関して extra/835.input を手動でテスト実行。エラーは見られない。

並列版

  • standard: 全てパス
  • additional: 以下のテストが Skip で、他はパス
    • 310, 330, 339, 340, 341, 343, 344, 411, 806, 809, 810, 811, 812, 822, 855
  • grayzone: 834 だけ Skipped.

メモ

  • 基本的には v20.10 と同じ設定でビルド
    • libwfa を有効にしている点以外は同じ