Quantum Espresso 7.2

ウェブページ

https://www.quantum-espresso.org/

バージョン

7.2

ビルド環境

  • Intel oneAPI Compiler Classic 2023.1.0
  • Intel MKL 2023.1.0
  • HPC-X 2.11 (Open MPI 4.1.4)

ビルドに必要なファイル

  • qe-7.2-ReleasePack.tgz

ビルド手順

#!/bin/sh

QE_VERSION=7.2
BASEDIR=/home/users/${USER}/Software/QE/${QE_VERSION}
TARBALL=${BASEDIR}/qe-${QE_VERSION}-ReleasePack.tar.gz

INSTDIR=/apl/qe/7.2
PARALLEL=12

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

module -s purge

. ~/intel.2023.1.0/oneapi/compiler/latest/env/vars.sh

module -s load mkl/2023.1.0
module -s load openmpi/4.1.4-hpcx/intel2023.1.0
## gui; not necessary while building
#module -s load itcl/3.4.4
#module -s load itk/3.4.2
#module -s load iwidgets/4.1.1

export LANG=C
export LC_ALL=C
ulimit -s unlimited

cd ${INSTDIR}
if [ -d qe-${QE_VERSION} ]; then
  mv qe-${QE_VERSION} qe-erase
  rm -rf qe-erase &
fi

tar zxf ${TARBALL}
mv qe-${QE_VERSION}/* .
mv qe-${QE_VERSION}/.[a-z]* .
rmdir qe-${QE_VERSION}

# gipaw and d3q not yet available for 7.2? use 7.1 ones
sed -i -e /^RELEASE/a"CUSTOM_PLUGINVER=7.1" \
       -e /^D3Q/s/RELEASE_VERSION/CUSTOM_PLUGINVER/ \
    install/plugins_list
#       -e /^GIPAW/s/RELEASE_VERSION/CUSTOM_PLUGINVER/ \

sed -i -e "/make.depend/s/include/#include/" EPW/ZG/src/Makefile

sed -i -e "s/wget -O/wget –-trust-server-names -O/" \
       -e "s/curl -o/curl -L -o/" test-suite/check_pseudo.sh

export MPIF90=mpif90
export MPIFC=mpif90
export MPIF77=mpif90
export MPICC=mpicc
export MPICXX=mpicxx

rm -rf external/{devxlib,mbd}
mkdir external/devxlib
mkdir external/mbd

FC=ifort F90=ifort F77=ifort CC=icc CXX=icpc \
FFLAGS="-O3 -assume byterecl -ip -g" \
    ./configure --enable-parallel --with-scalapack

for i in w90; do
  echo "==== $i ===="
  make $i
done

# pwall(pw neb ph pp pwcond acfdt) cp ld1 tddfpt hp xspectra gwl
echo "==== all ===="
make -j${PARALLEL} all

for i in want; do
  echo "==== $i ===="
  make $i
done

# gipaw for QE 7.2 is not yet released. (Apr 11, 2023)
# gipaw for QE 7.1 cannot be used for QE 7.2...

# d3q for QE 7.2 is not yet released. (Apr 11, 2023)
# d3q for QE 7.1 is tentatively employed.

for i in all_currents epw couple kcw gwl gui d3q; do
  echo "==== $i ===="
  make -j${PARALLEL} $i
done

for i in yambo; do
  echo "==== $i ===="
  make $i
done

cd test-suite
make run-tests-serial
make clean
make run-tests-parallel
cd ..

テスト結果

epw_polar の一つで数値エラー(軽微?)が出ている。他は全てパス。

epw_polar - epw2.in (arg(s): 3): **FAILED**.
    ERROR: absolute error 2.55e+00 greater than 1.50e+00. (Test: 88.209814. Benchmark: 85.659169.)
isig
    ERROR: absolute error 2.55e+00 greater than 1.50e+00. (Test: 88.209814. Benchmark: 85.659169.)
...
epw_polar - epw2.in (arg(s): 3): **FAILED**.
rsig
    ERROR: relative error 4.58e-01 greater than 2.00e-01. (Test: 2.39736. Benchmark: 4.420132.)

メモ

  • gipaw はまだ 7.2 向けのリリースが用意されていない?7.1 向けを使おうとすると configure のチェックで弾かれるため回避
  • d3q も 7.2 向けのリリースが存在しないが、7.1 向けが一応動くように見えている。
  • テスト時に一度だけ fftw 部分が異常に遅いケースが有り。以後再現していないため、検証できておらず。
  • 今回からは gui もビルド。
    • module load qe/7.2 を実行した上で pwgui を実行すれば起動します。(X 転送が必須)