PSI4 1.5
(2022/4/13 CheMPS2 有効化バージョンについての記述を追加)
ウェブページ
バージョン
1.5
ビルド環境
- Intel Parallel Studio 2020 update2 (compilers and MKL)
- GCC 8.3.1 (devtoolset-8)
- cmake 3.16.3
- (Python 3.9.10 (miniforge3))
ビルドに必要なファイル
- psi4.tar.gz
- git checkout e9f4d6d (version 1.5)後に tar.gz 化したもの
- (以下の手順中でもいくつか取得)
ビルド手順
miniforge3 (概略)
RDKit 等、直接は関係ないパッケージもいくつか導入しています。$ wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
$ sh ./Miniforge3-Linux-x86_64.sh
...
[/home/users/***/miniforge3] >>> /local/apl/lx/psi4-15/miniforge3
...
$ /local/apl/lx/psi4-15/miniforge3/bin/conda shell.bash hook > /local/apl/lx/psi4-15/conda_init.sh
$ /local/apl/lx/psi4-15/miniforge3/bin/conda shell.csh hook > /local/apl/lx/psi4-15/conda_init.csh
$ . /local/apl/lx/psi4-15/conda_init.sh
(base) $ conda update conda
(base) $ conda update --all
(base) $ conda install pint pybind11 msgpack-python numpy networkx pydantic pytest pytest-xdist
(base) $ conda install matplotlib psutil py-cpuinfo rdkit
psi4
上記 miniforge を先に導入した上で実行します。#!/bin/sh
# assume miniforge for psi4 was already installed
VERSION=1.5
INSTALL_PREFIX=/local/apl/lx/psi4-15
BASEDIR=/home/users/${USER}/Software/PSI4/1.5
TARBALL=${BASEDIR}/psi4.tar.gz
WORKDIR=/work/users/${USER}/
PARALLEL=12
#---------------------------------------------------------------------
umask 0022
export LANG=C
ulimit -s unlimited
module purge
module load scl/devtoolset-8
module load intel_parallelstudio/2020update2
module load cmake/3.16.3
cd ${WORKDIR}
if [ -d psi4 ]; then
mv psi4 psi4-erase
rm -rf psi4-erase &
fi
# load miniforge3 env
. ${INSTALL_PREFIX}/conda_init.sh
tar zxf ${TARBALL}
cd psi4
mkdir build
cd build
cmake .. \
-DMAX_AM_ERI=7 \
-DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_CXX_COMPILER=icpc \
-DCMAKE_C_COMPILER=icc \
-DCMAKE_Fortran_COMPILER=ifort
make -j ${PARALLEL}
ctest -j${PARALLEL}
make install
メモ
- テストは全てパスしています。
- ライセンスの関係上、anaconda のかわりに miniforge を用いて環境を作っています。
- intel + gcc9/10 の組み合わせではテストで大量のエラー
- 直接関係があるのかわからない Perl に関係したエラーなども有り。詳細な調査は行っていない
- (Software Collection の GCC を使ったことが原因かもしれない)
- intel2018 + gcc8 でもある程度のエラーが発生。試した範囲内では、intel2020 + gcc8 だけが正常に動作
- Linux 版の配布バイナリに合わせて MAX_AM_ERI=7 でビルド。
- スレッド並列時には psi4 -n (スレッド数) のように指定の必要有り。OMP_NUM_THREADS/MKL_NUM_THREADSは無視される。
- python スクリプト中では psi4.core.set_num_threads で指定可能
CheMPS2 有効化バージョンに関するメモ
conda については上記のバージョンで使ったものを流用CheMPS2 の導入
$ git clone https://github.com/SebWouters/CheMPS2.git
$ cd CheMPS2/
$ git checkout refs/tags/v1.8.12
$ module purge
$ module load scl/devtoolset-8
$ module load intel_parallelstudio/2020update2
$ module load cmake/3.16.3
$ mkdir build
$ cd build/
$ CXX=icpc cmake .. -DMKL=ON -DCMAKE_INSTALL_PREFIX=/local/apl/lx/psi4-15-chemps2/chemps2-1.8.12 -DWITH_MPI=OFF
$ make
$ make install
$ make test
$ cd CheMPS2/
$ cp ../../tests/test14.input .
$ sed -i "s/\/path\/to/..\/..\/tests\/matrixelements/" test14.input
$ ./chemps2 --file=test14.input
PSI4
#!/bin/sh
# assume miniforge for psi4 was already installed
VERSION=1.5
INSTALL_PREFIX=/local/apl/lx/psi4-15-chemps2
CHEMPS2DIR=/local/apl/lx/psi4-15-chemps2
BASEDIR=/home/users/${USER}/Software/PSI4/1.5
TARBALL=${BASEDIR}/psi4.tar.gz
WORKDIR=/work/users/${USER}
PARALLEL=12
#---------------------------------------------------------------------
umask 0022
export LANG=C
ulimit -s unlimited
module purge
module load scl/devtoolset-8
module load intel_parallelstudio/2020update2
module load cmake/3.16.3
cd ${WORKDIR}
if [ -d psi4 ]; then
mv psi4 psi4-erase
rm -rf psi4-erase &
fi
# load miniforge3 env
. ${INSTALL_PREFIX}/conda_init.sh
tar zxf ${TARBALL}
cd psi4
mkdir build
cd build
cmake .. \
-DENABLE_CheMPS2=ON \
-DCheMPS2_DIR=${CHEMPS2DIR} \
-DMAX_AM_ERI=7 \
-DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_CXX_COMPILER=icpc \
-DCMAKE_C_COMPILER=icc \
-DCMAKE_Fortran_COMPILER=ifort
make -j ${PARALLEL}
make install
ctest -j${PARALLEL}