Quantum Espresso 6.5
Webpage
https://www.quantum-espresso.org/
Version
6.5
Build Environment
- Intel Parallel Studio 2018update4
Files Required
- q-e-qe-6.5.tar.gz
Build Procedure
#!/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 ..
Tests
The built binaries have passed basic tests (run-tests-serial, run-tests-parallel; 4 MPI) without errors.(You might see test failure due to the out of threshold number of iterations even when you completely follow the procedure above; due to the randomness of the initial condition.)
Notes
- Python script in EPW directory assumes /usr/bin/python is python3. We thus modified the code slightly ("sed" line in the procedure above).
- (Related error message "Install future. e.g. "pip install --user future" is not removed.)
- We avoided OpenMP since that seems to be only effective for massive parallelization of huge system.
- We tested up to 8-nodes parallel runs for OpenMP version performance. However, we couldn't get any meaningful speedup by OpenMP. There may be some advantages for further massive runs, though.
- https://www.quantum-espresso.org/Doc/user_guide/node18.html
- Specifying --enable-openmp has negative effect on performance for single thread runs.
- Option such as -nk maybe the first target for performance optimization.
- GCC 8 version met errors on some of tests.
- Regarding performance, performance of this is comparable to intel18 version. (Intel version may be slightly faster, though.)
- Intel 19 MPI version strangely stop running upon launching. This maybe caused by Intel MPI 19. (Intel Compiler19 + Intel MPI 18 may work. Not tested, though.)
- Intel 17 version works fine. But that performance is slightly worse than Intel 18 version performance.
- GPU version would be discussed in different page, since the source code repository itself is different from this one.