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)

ビルド環境

ビルドに必要なファイル

ビルド手順

#!/bin/sh

SIESTA_VERSION=5.0.1
INSTDIR=/apl/siesta/5.0.1

WORKDIR=/gwork/users/${USER}
BASEDIR=/home/users/${USER}/Software/Siesta/${SIESTA_VERSION}
TARBALL=${BASEDIR}/siesta-${SIESTA_VERSION}.tar.gz

WANNIER90_VERSION=3.1.0
BASEDIR_WANNIER90=/home/users/${USER}/Software/wannier90/${WANNIER90_VERSION}
TARBALL_WANNIER90=${BASEDIR_WANNIER90}/wannier90-${WANNIER90_VERSION}.tar.gz

PARALLEL=12

#---------------------------------------------------------------------------
umask 0022
ulimit -s unlimited

module -s purge
module -s load gcc-toolset/13
module -s load mkl/2024.1
module -s load openmpi/4.1.6/gcc13

export LANG=C
export LC_ALL=C
export OMP_NUM_THREADS=1

# siesta

cd ${WORKDIR}
if [ -d siesta-${SIESTA_VERSION} ]; then
 mv siesta-${SIESTA_VERSION} siesta-erase
 rm -rf siesta-erase
fi

tar 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=ON

make -j ${PARALLEL}
SIESTA_TESTS_VERIFY=1 ctest
make install

cd ../
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 です。)