Siesta 5.0.1 MPI (Open MPI)
ウェブページ
https://gitlab.com/siesta-project/siesta
バージョン
5.0.1 (+ELPA 2024.03.001, ELSI 2.9.1, NetCDF 4.9.2, NetCDF Fortran 4.6.1, libxc 6.2.2)
ビルド環境
- GCC 13.1.1 (gcc-toolset-13)
- Intel MKL 2024.1
- Open MPI 4.1.6
- autoconf 2.72 (for ELPA)
- Python 3.9
- rumael.yaml (pip3.9 install ruamel.yaml --user)
- (5.0.0 向けに用意した netcdf, libxc, elpa, pexsi を利用)
ビルドに必要なファイル
- siesta-5.0.1.tar.gz
- wannier90-3.1.0.tar.gz
- (5.0.0 向けに用意した netcdf, libxc, elpa, pexsi を利用)
ビルド手順
#!/bin/sh
SIESTA_VERSION=5.0.1
INSTDIR=/apl/siesta/5.0.1WORKDIR=/gwork/users/${USER}
BASEDIR=/home/users/${USER}/Software/Siesta/${SIESTA_VERSION}
TARBALL=${BASEDIR}/siesta-${SIESTA_VERSION}.tar.gzWANNIER90_VERSION=3.1.0
BASEDIR_WANNIER90=/home/users/${USER}/Software/wannier90/${WANNIER90_VERSION}
TARBALL_WANNIER90=${BASEDIR_WANNIER90}/wannier90-${WANNIER90_VERSION}.tar.gzPARALLEL=12
#---------------------------------------------------------------------------
umask 0022
ulimit -s unlimitedmodule -s purge
module -s load gcc-toolset/13
module -s load mkl/2024.1
module -s load openmpi/4.1.6/gcc13export LANG=C
export LC_ALL=C
export OMP_NUM_THREADS=1
# siestacd ${WORKDIR}
if [ -d siesta-${SIESTA_VERSION} ]; then
mv siesta-${SIESTA_VERSION} siesta-erase
rm -rf siesta-erase
fitar zxf ${TARBALL}
cd siesta-${SIESTA_VERSION}unset CC
unset FC
export WANNIER90_PACKAGE=${TARBALL_WANNIER90}
export LD_LIBRARY_PATH="${INSTDIR}/elpa/lib:${INSTDIR}/exts/lib:${LD_LIBRARY_PAT
H}"mkdir build && cd build
cmake .. \
-DCMAKE_INSTALL_PREFIX="${INSTDIR}" \
-DCMAKE_PREFIX_PATH="${INSTDIR}/elpa;${INSTDIR}/exts" \
-DCMAKE_C_COMPILER=mpicc \
-DCMAKE_Fortran_COMPILER=mpif90 \
-DPython3_EXECUTABLE=/usr/bin/python3.9 \
-DSIESTA_WITH_MPI=ON \
-DNetCDF_ROOT="${INSTDIR}/exts" \
-DLAPACK_LIBRARY="-m64 -L${MKLROOT}/lib -Wl,--no-as-needed -lmkl_gf_lp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl" \
-DBLAS_LIBRARY="-m64 -L${MKLROOT}/lib -Wl,--no-as-needed -lmkl_gf_lp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl" \
-DSCALAPACK_LIBRARY="-lmkl_scalapack_lp64 -lmkl_gf_lp64 -lmkl_sequential -lmkl_core -lmkl_blacs_openmpi_lp64 -lpthread -lm -ldl" \
-DSIESTA_WITH_WANNIER90=ON \
-DSIESTA_WITH_ELPA=ON \
-DSIESTA_WITH_PEXSI=ONmake -j ${PARALLEL}
SIESTA_TESTS_VERIFY=1 ctest
make installcd ../
cp -r Examples ${INSTDIR}
テスト
5.0.0 の時と同様の結果となっています。ログのコピーが /apl/siesta/5.0.1/test_results にあります。
メモ
- 5.0.0 のメモを参照ください。
- 導入手順はほぼ同一で、唯一 cmake 前に LD_LIBRARY_PATH の設定を追加しています。
- NetCDF, libxc, ELPA, PEXSI については 5.0.0 のものをそのまま使っています。(インストールディレクトリ直下に exts, elpa というシンボリックリンクを事前に作成しています。)
- (出力では Version : unreleased 3852ac6d4 (2024-06-25) と表記されますが、実際のバージョンは 5.0.1 です。)