Quantum Espresso 6.5
ウェブページ
https://www.quantum-espresso.org/
バージョン
6.5
ビルド環境
- Intel Parallel Studio 2018update4
ビルドに必要なファイル
- q-e-qe-6.5.tar.gz
ビルド手順
#!/bin/sh
VERSION=6.5
BASEDIR=/home/users/${USER}/Software/QE/${VERSION}
TARBALL=${BASEDIR}/q-e-qe-${VERSION}.tar.gz
INSTDIR=/local/apl/lx/espresso65
PARALLEL=12
# --------------------------------------------------------------------
umask 0022
module purge
module load intel_parallelstudio/2018update4
export LANG=C
export LC_ALL=C
ulimit -s unlimited
cd ${INSTDIR}
if [ -d q-e-qe-${VERSION} ]; then
mv q-e-qe-${VERSION} q-e-qe-erase
rm -rf q-e-qe-erase &
fi
tar zxf ${TARBALL}
mv q-e-qe-${VERSION}/* .
mv q-e-qe-${VERSION}/.[a-z]* .
rmdir q-e-qe-${VERSION}
export MPIF90=mpiifort
export MPIFC=mpiifort
export MPIF77=mpiifort
export MPICC=mpiicc
export MPICXX=mpiicpc
# ad hoc correction for python2
sed -i -e s/"user_input = input"/"user_input = raw_input"/ EPW/bin/pp.py
FC=ifort F90=ifort F77=ifort CC=icc CXX=icpc \
FFLAGS="-O3 -assume byterecl -ip -g" \
./configure --enable-parallel --with-scalapack=intel
echo "==== all ====" # pwall(pw ph pp pwcond neb) cp ld1 upf tddfpt hp
make -j${PARALLEL} all
for i in epw xspectra gwl plumed w90 couple; do
echo "==== $i ===="
make -j${PARALLEL} $i
done
for i in gipaw yambo; do
echo "==== $i ===="
make $i
done
cd test-suite
make run-tests-serial
make clean
make run-tests-parallel
cd ..
テスト
run-tests-serial, run-tests-parallel (4 MPI)の両テストは問題無くパスしています。(初期値に乱数があるため、上記と同じ操作をしても iteration 回数のチェックに引っかかるケースがあるかもしれません。)
メモ
- EPW で呼ばれる python のスクリプトはどうも python3 を想定しているようだったので、修正を加えています。
- (エラーメッセージ "Install future. e.g. "pip install --user future" は残したままにしています)
- OpenMP については、かなりの規模にならないとメリットが得られないようだったので、今回も回避。
- 8 ノード並列までは試しましたが、明確にメリットを得られるケースはありませんでした。それ以上ならば有利になる条件もあるかもしれません。
- https://www.quantum-espresso.org/Doc/user_guide/node18.html
- configure 時に --enable-openmp を指定してしまうと、1 スレッドでの実行も少し遅くなったので完全に排除。
- 問題規模にもよりますが、やはり -nk 等を先に考えるべきですかね。
- gcc8 ではテストの一部でエラーが発生
- 速度的には intel18 と比較して遜色はない気配(最低限のチェック時点での結果)
- intel19 MPI を使うと計算が不意に stop するため、回避。(intel compiler19 + intel mpi 18 のような状況では動きそうではあるが、未検証)
- intel17 では intel18 版より少し速度が遅い。テストについては問題無く通過。
- 別リポジトリの GPU 版については別途検討予定