Quantum ESPRESSO 7.5
Webpage
https://www.quantum-espresso.org/
https://gitlab.com/QEF/q-e
Version
7.5
Build Environment
- GCC 12.2.1 (gcc-toolset-12)
- Open MPI 4.1.8
- OpenBLAS 0.3.29 (lp64)
- Scalapack 2.2.2
Files Required
- q-e-qe-7.5.tar.gz (downloaded from gitlab)
- elpa-2025.06.001.tar.gz
- hdf5-1.14.6.tar.gz
- libxc-7.0.0.tar.bz2
- (some of files will be download in the procedure below.)
Build Procedure
elpa-2025.06.001
#!/bin/sh
ELPA_VERSION=2025.06.001
INSTDIR=/apl/qe/7.5/elpa-2025.06.001
WORKDIR=/gwork/users/${USER}BASEDIR=/home/users/${USER}/Software/ELPA/${ELPA_VERSION}
TARBALL=${BASEDIR}/elpa-${ELPA_VERSION}.tar.gzPARALLEL=12
#---------------------------------------------------------------------------
umask 0022
ulimit -s unlimited
export OMP_NUM_THREADS=4module purge
module load gcc-toolset/12
module load openmpi/4.1.8/gcc12
module load openblas/0.3.29-lp64
module load scalapack/2.2.2-ompi416gcc-lp64
export FC=mpif90
export CC=mpicc
export CXX=mpicxx
export CFLAGS="-march=znver3"
export FCFLAGS="-m64"
export LDFLAGS="-lopenblas -lscalapack"cd ${WORKDIR}
if [ -d elpa-${ELPA_VERSION} ]; then
mv elpa-${ELPA_VERSION} elpa-erase
rm -rf elpa-erase &
fi
tar zxf ${TARBALL}
cd elpa-${ELPA_VERSION}
./configure --prefix=${INSTDIR} \
--enable-openmp \
--enable-scalapack-tests \
--disable-avx512-kernels
make -j ${PARALLEL}
make check
#make check && make install
make install
All the tests have passed successfully.
hdf5-1.14.6 (parallel)
#!/bin/sh
QE_VERSION=7.5
VERSION=1.14.6
INSTALL_PREFIX=/apl/qe/7.5/hdf5-1.14.6BASEDIR=/home/users/${USER}/Software/HDF5/${VERSION}
TARBALL=${BASEDIR}/hdf5-${VERSION}.tar.gz
WORKDIR=/gwork/users/${USER}PARALLEL=32
export LANG=C#---------------------------------------------------------------------
umask 0022module -s purge
module -s load gcc-toolset/12
module -s load openmpi/4.1.8/gcc12
cd ${WORKDIR}
if [ -d hdf5-${VERSION} ]; then
mv hdf5-${VERSION} hdf5-erase
rm -rf hdf5-erase &
fitar zxf ${TARBALL}
cd hdf5-${VERSION}
mkdir build && cd build
cmake .. \
-DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} \
-DHDF5_BUILD_FORTRAN=ON \
-DHDF5_ENABLE_PARALLEL=ON \
-DMPIEXEC_MAX_NUMPROCS=${PARALLEL}
make -j${PARALLEL}
make install
make test
Test result:
- The following tests did not run:
- 915 - H5REPACK-szip_individual (Disabled)
- 916 - H5REPACK-szip_all (Disabled)
- 933 - H5REPACK-all_filters (Disabled)
- 937 - H5REPACK-szip_copy (Disabled)
- 938 - H5REPACK-szip_remove (Disabled)
- 987 - H5REPACK-remove_all (Disabled)
- 988 - H5REPACK-deflate_convert (Disabled)
- 989 - H5REPACK-szip_convert (Disabled)
- The following tests FAILED:
- 127 - MPI_TEST_t_bigio (Timeout)
- 137 - MPI_TEST_t_shapesame (Timeout)
libxc-7.0.0
#!/bin/sh
QE_VERSION=7.5
VERSION=7.0.0
INSTALL_PREFIX=/apl/qe/7.5/libxc-7.0.0BASEDIR=/home/users/${USER}/Software/libxc/${VERSION}
TARBALL=${BASEDIR}/libxc-${VERSION}.tar.bz2
WORKDIR=/gwork/users/${USER}PARALLEL=32
export LANG=C#---------------------------------------------------------------------
umask 0022module -s purge
module -s load gcc-toolset/12
cd ${WORKDIR}
if [ -d libxc-${VERSION} ]; then
mv libxc-${VERSION} libxc-erase
rm -rf libxc-erase &
fitar jxf ${TARBALL}
cd libxc-${VERSION}
mkdir build && cd build
cmake .. \
-DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} \
-DENABLE_FORTRAN=ON
make -j${PARALLEL}
make install
make test
All the tests have passed successfully.
QE
#!/bin/sh
QE_VERSION=7.5
BASEDIR=/home/users/${USER}/Software/QE/${QE_VERSION}
TARBALL=${BASEDIR}/q-e-qe-${QE_VERSION}.tar.gzENVIRON_URL="https://github.com/environ-developers/Environ.git"
WORKDIR=/gwork/users/${USER}
INSTDIR=/apl/qe/7.5
PARALLEL=24ELPA_ROOT=${INSTDIR}/elpa-2025.06.001
HDF5_ROOT=${INSTDIR}/hdf5-1.14.6
LIBXC_ROOT=${INSTDIR}/libxc-7.0.0
OPENBLAS_ROOT=/apl/openblas/0.3.29-gcc/lp64
# ELPA, HDF5, libxc are assumed to be installed in ${INSTDIR}
CMAKE_PREFIX_PATH="${HDF5_ROOT};${LIBXC_ROOT};${OPENBLAS_ROOT}"# --------------------------------------------------------------------
umask 0022module -s purge
module -s load gcc-toolset/12
module -s load openmpi/4.1.8/gcc12
module -s load openblas/0.3.29-lp64
module -s load scalapack/2.2.2-ompi416gcc-lp64
## 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.1export LANG=C
export LC_ALL=C
ulimit -s unlimited
export LANG=C
export LC_ALL=C
ulimit -s unlimitedif [ ! -d ${WORKDIR} ]; then
mkdir -p ${WORKDIR}
ficd ${WORKDIR}
if [ -d q-e-qe-${QE_VERSION} ]; then
mv q-e-qe-${QE_VERSION} qe-erase
rm -rf qe-erase &
fi
if [ -d Environ ]; then
mv Environ Environ-erase
rm -rf Environ-erase &
fi
tar zxf ${TARBALL}
git clone ${ENVIRON_URL} Environ
QE_WORKDIR=${WORKDIR}/q-e-qe-${QE_VERSION}
ENVIRON_WORKDIR=${WORKDIR}/Environ# environ prep
cd ${ENVIRON_WORKDIR}
sed -i -e "s/wget -O/wget –-trust-server-names -O/" \
-e "s/curl -o/curl -L -o/" tests/check_pseudo.sh
FC=mpif90 ./configure \
--with-qe=${QE_WORKDIR} \
--enable-openmp
make -j${PARALLEL} compile# QE
cd ${QE_WORKDIR}
sed -i -e "s/wget -O/wget –-trust-server-names -O/" \
-e "s/curl -o/curl -L -o/" test-suite/check_pseudo.sh
sed -i -e "s/elpa-20/elpa_openmp-20/" \
-e "s/NAMES elpa$/NAMES elpa elpa_openmp/" cmake/FindELPA.cmake
mkdir build && cd build
cmake .. \
-DCMAKE_INSTALL_PREFIX=${INSTDIR} \
-DCMAKE_Fortran_COMPILER=mpif90 \
-DCMAKE_Fortran_FLAGS="-ffree-line-length-256" \
-DCMAKE_C_COMPILER=mpicc \
-DCMAKE_CXX_COMPILER=mpicxx \
-DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" \
-DESPRESSO_PSEUDO=${INSTDIR}/pseudo \
-DBLA_VENDOR=OpenBLAS \
-DQE_ENABLE_OPENMP=ON \
-DQE_ENABLE_MPI=ON \
-DQE_ENABLE_MPI_GPU_AWARE=OFF \
-DQE_ENABLE_SCALAPACK=ON \
-DQE_ENABLE_ELPA=ON \
-DELPA_ROOT=${ELPA_ROOT} \
-DQE_ENABLE_LIBXC=ON \
-DQE_ENABLE_HDF5=ON \
-DQE_ENABLE_PLUGINS="d3q;pw2qmcpack;gipaw;legacy" \
-DQE_ENABLE_FOX=ON \
-DQE_WANNIER90_INTERNAL=ON \
-DQE_MBD_INTERNAL=ON \
-DQE_DEVICEXLIB_INTERNAL=ON \
-DQE_ENABLE_ENVIRON=ON \
-DENVIRON_ROOT=${ENVIRON_WORKDIR} \
-DQE_ENABLE_OSCDFT=ONmake -j${PARALLEL}
make install
ln -s ${INSTDIR}/bin ${QE_WORKDIR}/bin
cp -r ${QE_WORKDIR}/pseudo ${INSTDIR}/pseudo
mv ${QE_WORKDIR}/pseudo ${QE_WORKDIR}/pseudo.org
ln -s ${INSTDIR}/pseudo ${QE_WORKDIR}/pseudo
make test# environ test
export LD_LIBRARY_PATH="${HDF5_ROOT}/lib:${ELPA_ROOT}/lib:${LD_LIBRARY_PATH}"
export OMP_NUM_THREADS=4
cd ${ENVIRON_WORKDIR}/tests
make run-tests
Test result (QE)
Following tests have failed. Copy of test log can be found in /apl/qe/7.5/testlog.
- 212:system--pw_plugins-correctness => Cannot find any previous test outputs.
- 371:system--oscdft_pp-correctness => Cannot find any previous test outputs.
- 372:system--oscdft_pw-correctness => Different sets of data extracted from benchmark and test.
- 373:system--oscdft_pw--nooscdft => oscdft.x does not exist (oscdft_et.x & oscdft_pp.x exist).
Notes
- GCC13 & GCC14 versions are very slightly slower than GCC12.
- Open MPI 5.0.x version failed/hung on some tests. Open MPI 4.1.8 is free from those issues.
- If Intel oneAPI 2025 environment is employed, pw.x shows better performance than GCC version for some input setting. However, d3q and Environ are not available for Intel compilers. We thus employed GCC for this QE version.
- Intel oneAPI 2024 environment may have some problems for this QE versions; it is terribly slow. (The cause has not been verified.)
- GCC + Intel MPI version hung on elpa test.
- GCC + openblas show slightly better performance than GCC + mkl.
- (AOCC is not verified.)