Quantum Espresso 6.8 (HPE)

Webpage

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

Version

6.8

Build Environment

  • Intel oneAPI Compiler Classic 2022.2.1
  • Intel MKL 2022.2.1
  • HPC-X 2.11 (Open MPI 4.1.4)
    • HPC-X 2.13.1 was used in the actual build. Runtime library was switched to HPC-X 2.11 later. In the following, it is assumed that HPC-X 2.11 was used in the build.

Files Required

  • qe-6.8-ReleasePack.tgz

Build Procedure

#!/bin/sh

QE_VERSION=6.8
BASEDIR=/home/users/${USER}/Software/QE/${QE_VERSION}
TARBALL=${BASEDIR}/qe-${QE_VERSION}-ReleasePack.tgz

INSTDIR=/apl/qe/6.8
PARALLEL=12

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

module -s purge
. ~/intel/oneapi/compiler/latest/env/vars.sh
module -s load mkl/2022.2.1
module -s load openmpi/4.1.4-hpcx/intel2022.2.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}

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

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

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

# QEHeat code: energy flux and charge current
echo "==== all_currents ===="
make -j${PARALLEL} all_currents

#for i in epw w90 couple d3q; do
for i in epw w90 couple; 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 ..

Notes

  • HPC-X 2.13.1 version does not work in multi-node parallel runs. Switching runtime library to HPC-X 2.11 fixed the problem.
  • Sometimes [LOG_CAT_MCAST] or/and [LOG_CAT_P2P] messages appear. (probably from hcoll)
    • This message disappears if "-x HCOLL_ENABLE_MCAST=0" or "-mca coll_hcoll_enable 0" option is added to "mpirun" command.
      • (The former may be better. The effect is more limited than the latter.)
    • This message doesn't change the computation and its result, probably.