CREST 3.0.1

ウェブページ

https://github.com/crest-lab/crest
https://crest-lab.github.io/crest-docs/

バージョン

3.0.1

ビルド環境

  • Intel oneAPI Compiler 2024.1.0 (icx and ifort)
  • MKL 2024.1

必要なファイル

(下記手順中でダウンロード)

ビルド手順

#!/bin/sh

VERSION=3.0.1
INSTALL_PREFIX=/apl/crest/3.0.1

CREST_GITHUB=https://github.com/crest-lab/crest.git

WORKDIR=/gwork/users/${USER}

PARALLEL=24
export LANG=C

#---------------------------------------------------------------------
umask 0022

module -s purge

. ~/intel/oneapi/compiler/latest/env/vars.sh # 2024.1.0

module -s load mkl/2024.1

cd ${WORKDIR}
if [ -d crest ]; then
 mv crest crest_erase
 rm -rf crest_erase &
fi

export FC=ifort
export CC=icx

git clone ${CREST_GITHUB} -b v${VERSION}
cd crest

sed -i -e "s/-align array64byte//" config/CMakeLists.txt

mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX}

make -j${PARALLEL}
make test
make install

cd ../
cp -r examples ${INSTALL_PREFIX}

テスト

すべてパス

メモ

  • MKL 2023.1.0 を使った場合(static, dynamic)、Intel MKL ERROR: Parameter 6 was incorrect on entry to DLASWP. のメッセージが滝のように出力されるケースがある
    • https://github.com/crest-lab/crest/issues/285 にあがっているインプットで --alpb water を追加して実行し確認。
    • MKL 2023.2.0, 2024.1.0 を使った場合は今のところこの MKL ERROR は発生していない。
    • 配布されているバイナリ版(3.0.1, continuous release (2024/5/7 付け))でもこの問題が発生しているように見える?
  • Intel コンパイラで CMake で普通にビルドした場合、QCG のサンプル計算(https://crest-lab.github.io/crest-docs/page/examples/qcg/example_2.html)の最後の方でエラー終了することを確認
    • https://github.com/crest-lab/crest/issues/278 の issue 中のコメントで指摘されている内容と同じに見える
    • Intel コンパイラの場合に自動で追加される -align array64byte が原因のようで、上記手順のようにこれを外すと少なくともエラー終了は回避できる。meson 版ではこのオプションは追加されないと思われる。
  • meson でのビルドでは intel 2024.1.0 を使うことができていない。2023.1.0 ではビルドできることを確認。
    • 2023.1.0 では export FC="ifort -diag-disable=10448" のように指定する必要があった(環境依存かもしれない)