Quantum Espresso in the Unified European Application Benchmark Suite (UEABS) Dcoument Author: A. Emerson (a.emerson@cineca.it) , Cineca. Last update: 29th -May-2017 Introduction Quantum ESPRESSO (usually abbreviated as QE) is an integrated suite of Open-Source computer codes for electronic-structure calculations and materials modeling at the nanoscale. It is based on density-functional theory, plane waves, and pseudopotentials. Software Requirements Essential * Quantum ESPRESSO 6.0. At the time of writing a later version (6.1) is available but the release notes report bug fixes and new functionality, rather than performance enhancements. * A FORTRAN compiler Optional * A parallel linear algebra library such as Scalapack or Intel MKL. If none is available on your system then the installation can use a version supplied with the distribution. Downloading the software QE distribution Many packages are available from the download page but since you need only the main base package for the benchmark suite, the expresso-6.0.tar.gz file will be sufficient. This can be downloaded as: http://qe-forge.org/gf/download/frsrelease/224/1044/qe-6.0.tar.gz Compiling the application The QE documentation gives more details but for the benchmark suite this general procedure is followed. 1. Uncompress the main QE distribution: tar zxvf espresso-6.0.tar.gz cp 6.0.tar.gz espresso-6.0 2. Run configure and make: ./configure --enable-parallel --enable-openmp -–with-scalapack=intel make pw In the above, it is assumed that an Intel compiler is used for compilation so that the program can be linked with the MKL library. In the UEABS the pw.x program has been selected for the benchmarks so this is the one selected in the make. Alternatively, you can do a make all which will compile all the programs available in the QE package. A link to the QE executable will appear in the directory bin/ and is called pw.x. Examples We now give a run example for one of the PRACE architectures. Marconi, KNL-partition, Cineca. The latest version is available as a module within the Marconi KNL environment, which can be loaded with the following commands: module load env-knl module load profile/knl module load autoload qe/6.0_knl A typical batch job for QE on the KNLs is as follows: #!/bin/bash #PBS -l walltime=06:00:00 #PBS -l select=2:mpiprocs=34:ncpus=68 #PBS -A #PBS -N jobname module purge module load profile/knl module load autoload qe/6.0_knl cd ${PBS_O_WORKDIR} export OMP_NUM_THREADS=4 export MKL_NUM_THREADS=${OMP_NUM_THREADS} mpirun pw.x -npool 4 -input file.in > file.out This job will run on 2 KNL nodes, with 34 MPI processes per node and 4 OpenMP threads per core. Note that on Marconi the only memory configuration available is cache/quadrant.