OpenMolcas for LX (2019/6/4)
ウェブページ
https://gitlab.com/Molcas/OpenMolcas

ビルド環境Intel Parallel Studio 2018update4
cmake 3.8.2

ビルドに必要なファイル
openmolcas (2019/6/4 時点の最新)
chemps2 (2019/6/5 時点の最新)
hdf5-1.10.5.tar.bz2
ga-5.7.tar.gz (Global Arrays)

ビルド手順
hdf5 (今回インストールする openmolcas 専用)#!/bin/shtar jxf hdf5-1.10.5.tar.bz2
cd hdf5-1.10.5# --enable-fortran2003 might be simply ignored./configure --prefix=/local/apl/lx/openmolcas20190604/hdf5-1.10.5 --enable-fortran --enable-cxx --enable-fortran2003
make -j8
make checkmake install

global arrays (今回インストールする openmolcas 専用)#!/bin/sh
GA_VERSION=5.7
GA_DIR=/home/users/qf7/Software/GlobalArrays/${GA_VERSION}
GA_SOURCE=${GA_DIR}/ga-${GA_VERSION}.tar.gz
WORKDIR=/work/users/${USER}INSTALLDIR=/local/apl/lx/openmolcas20190604/ga-5.7#--------------------------------------------------------------------umask 0022
ulimit -s unlimited
export LANG=
export LC_ALL=C
export OMP_NUM_THREADS=1
cd $WORKDIRif [ -d ga-${GA_VERSION} ]; then
mv ga-${GA_VERSION} ga_tmp
rm -rf ga_tmp &fi
module purge
module load intel_parallelstudio/2018update4
tar zxf ${GA_SOURCE}
cd ga-${GA_VERSION}
export F77=mpiifort
export F90=mpiifort
export FC=mpiifort

export CC=mpiicc
export CXX=mpiicpc
export MPIF77=mpiifort
export MPICC=mpiicc
export MPICXX=mpiicpc
export GA_FOPT="-O3 -ip -w -xHost"
export GA_COPT="-O3 -ip -w -xHost"
export GA_CXXOPT="-O3 -ip -w -xHost"./configure --with-blas8=-mkl \--with-scalapack8=-mkl \--enable-i8 \--prefix=${INSTALLDIR}###--with-ofi \make -j ${PARALLEL}
make checkmake install
cp config.log ${INSTALLDIR}

chemps2#!/bin/sh
VERSION=20190605 # date instaed of version
SOURCEDIR=/home/users/qf7/Software/CheMPS2TARBALL=${SOURCEDIR}/chemps2.${VERSION}.tar.gz
WORKDIR=/work/users/${USER}INSTALL_DIR=/local/apl/lx/openmolcas20190604/chemps2#----------------------------------------------------------umask 0022
module purge
module load intel_parallelstudio/2018update4
module load cmake/3.8.2
cd $WORKDIR
if [ -d chemps2.${VERSION} ]; then
mv chemps2.${VERSION} chemps2_tmp
rm -rf chemps2_tmp &fitar zxf ${TARBALL}
cd chemps2.${VERSION}
mkdir build && cd build
CXX=mpiicpc cmake .. -DMKL=ON \-DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \-DWITH_MPI=OFF
make -j8
make test
make install

openmolcas#!/bin/sh
VERSION=20190604 # date
SOURCEDIR=/home/users/qf7/Software/OpenMolcas
TARBALL=${SOURCEDIR}/OpenMolcas.${VERSION}.tar.gz
INSTALL_DIR=/local/apl/lx/openmolcas20190604
GAROOT=${INSTALL_DIR}/ga-5.7
CHEMPS2_DIR=${INSTALL_DIR}/chemps2/bin

PARALLEL=8
WORKDIR=/work/users/${USER}
export GAROOT
export MOLCAS_NPROCS=2
export OMP_NUM_THREADS=2#-------------------------------------------------------umask 0022
ulimit -s unlimited
export LANG=
export LC_ALL=C
module purge
module load intel_parallelstudio/2018update4
module load cmake/3.8.2
export HDF5_ROOT="/local/apl/lx/openmolcas20190604/hdf5"
cd $WORKDIR
if [ -d OpenMolcas.${VERSION} ]; then
mv OpenMolcas.${VERSION} OpenMolcas_tmp
rm -rf OpenMolcas_tmp
fitar zxf ${TARBALL}
cd OpenMolcas.${VERSION}#git submodule update --init External/NECI
git submodule update --init External/grid_it
git submodule update --init External/libmsym
sed -i -e 's/HDF5 COMPONENTS C/HDF5 COMPONENTS C Fortran/' \-e 's/find_library(HDF5_Fortran/#find_library(HDF5_Fortran/' \CMakeLists.txt
mkdir build && cd build
export FC=mpiifort
export CC=mpiicc
export CXX=mpiicpc
cmake .. -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \-DMPI_Fortran_COMPILER=mpiifort \-DMPI_C_COMPILER=mpiicc \-DMPI_CXX_COMPILER=mpiicpc \-DMPI=ON \-DGA=ON \-DOPENMP=ON \-DLINALG=MKL \-DHDF5=ON \-DTOOLS=ON \-DFDE=ON \-DGRID_IT=ON \-DNECI=OFF \-DMSYM=ON \-DCHEMPS2=ON \-DCHEMPS2_DIR=${CHEMPS2_DIR}
make -j${PARALLEL}
pymolcas verify
make install

テスト(OpenMolcas 以外については全て正常にパスしています。)

/local/apl/lx/openmolcas20190604/test_results 以下にテスト結果を置いています。
i18_impi_par: 2 MPI, 2 OMP でのテスト
i18_impi_ser: 1 MPI, 1 OMP でのテスト
850_sample, 851_sample: CheMPS2 のテスト。上記テスト時に PATH の不備があったため個別テスト
シリアル版は standard, additional の全てでエラーは無し。
並列版は additional でいくつか数値エラーが発生。そもそも並列で動作しないものがいくつか有り。また、852 についてはエラー終了。

メモ
モジュール名は openmolcas/20190604 です。
サンプルは /local/apl/lx/openmolcas20190604/samples 以下にあります。
演算ノードの python 環境に対応するため、必要なパッケージをインストールディレクトリ内に置き、さらに pymolcas に以下の行を追加しています。
sys.path.append("/local/apl/lx/openmolcas20190604/python")
CheMPS2 は /local/apl/lx/openmolcas20190604/chemps2 以下に導入しています。openmolcas から呼び出す際には PATHが通っている必要があります。
(サンプルや module では対応済みです。)
Molcas に存在し、OpenMolcas に存在しない機能はマニュアルで確認した限りでは以下のものです。
DGA: (OpenMolcas における GA に相当)
MOLCAS_FIM: 環境変数、DGA に含まれる機能を使っている
CMOCORR, DIMERPERT, EMBQ, FALCON, GEO, MKNEMO, MULA, NEMO