Quantum ESPRESSO
Quantum ESPRESSO is the major open-source set of codes for quantum materials modelling using the plane-wave pseudopotential method. It performs ab-initio calculations based on density-functional theory (DFT) and more advanced levels of theory: DFT+U, hybrid functionals, various functionals for van der Waals forces, many-body perturbation theory, adiabatic-connection fluctuation-dissipation theory. It has been the development platform for important methodological innovations such as Car-Parrinello molecular dynamics and Density-Functional Perturbation Theory.
License: Quantum ESPRESSO is an open source code distributed under GNU General Public License.
Latest release: Quantum ESPRESSO v7.4
Key information
Mostly written in modern Fortran.
Supports standard GGA and many advanced functionals such as non-local vdW-enabled, meta-GGA, Hubbard-corrected, hybrid functionals. It can be linked with Libxc and use all functionals implemented there.
Performs many types of ground-state calculations: self-consistent energies, forces and stresses, structural optimization, molecular dynamics (PW and CP); search for transition pathways (NEB).
Contains routines and methods for the computation of the linear response to external perturbations. These are used for computing dielectric responses and vibrational spectra (PHonon); optical, magnons, and EELS spectra, using time-dependent DFT (TDDFPT); electron-phonon coupling coefficients and related properties (EPW); self consistent Hubbard correction parameters (HP), and more.
Used as a starting point for workflows that implement advanced methodologies such as MBPT, QMC, DMFT, and others.
Features
PWscf: structural optimisation and molecular dynamics on the electronic ground state, with self-consistent solution of DFT equations
Total energy, forces, stress
Collinear and noncollinear magnetism, spin-orbit coupling
Structural optimisation and Born-Oppenheimer molecular dynamics;
Berry-Phase
CP: Car-Parrinello molecular dynamics;
PWneb: reaction pathways and transition states with the Nudged Elastic Band method;
PHonon: vibrational and dielectric properties from Density-Functional Perturbation Theory;
EPW: calculation of electron-phonon coefficients in metals;
GWL: many-body perturbation theory in the GW approach using ultra-localised Wannier functions and Lanczos chains.
Libraries
The code source is hosted on the GitHub hosting service. It works with Fortran and C compilers and takes advantage of highly optimized libraries such as BLAS, LAPACK, SCALAPACK, FFTW3, HDF5, GDLib and GSL.
I/O requirements
Electronic structure data, like for instance the wavefunctions, are written and read by Quantum ESPRESSO PWscf executable using a direct access to file: each task uses a raw format to store its information. These files can be used to produce checkpoints (restart).
Diffusion
Quantum ESPRESSO is released under the GPL license. It has a sizeable basis of users, as apparent from the number of citations of the two documenting papers of 2009 [1] (16,000+) and 2017 [2] (2,500+), authored by 25,000+ scientists and by the number of messages exchanged on the users’ mailing list (2000+/year). In addition to the inner circle of developers (~20), Quantum ESPRESSO often receives contributions from external users and developers. There are currently 107 forks of the main GitLab repository, and 243 of the GitHub mirror. We are aware of at least 12 independent successful software projects that rely entirely on Quantum ESPRESSO technology and codebase for further development.
References
[1] P. Giannozzi, S. Baroni, N. Bonini et al: Quantum ESPRESSO: a modular and open-source software project for quantum simulations of materials. Journal of Physics: Condensed Matter, 21, 39, 2009.
[2] P. Giannozzi, O. Andreussi, T. Brumme, O. Bunau, M. B. Nardelli, M. Calandra, R. Car, C. Cavazzoni, D. Ceresoli, et al., Advanced capabilities for materials modelling with Quantum ESPRESSO, J. Phys.: Condens. Matter 29, 465901 (2017).
Performance
Scalability
Quantum ESPRESSO shows a very good scalability by exploiting a hybrid MPI-OpenMP paradigm. Quantum ESPRESSO (more specifically PWscf) is parallelized on different levels: k-points (linear scaling with the number of processors), bands, and plane waves/real space grids (reaching high cpu scaling and memory distribution). Custom (domain specific) FFT’s are implemented and parallelized over planes or sticks and implement task group techniques. Parallel dense linear algebra is also exploited to improve scalability and memory distribution. Thanks to this multi-level parallelism both computation and data structures are distributed in order to fully exploit massively multi-core parallel architectures.
Parallel programming
Two different parallelization paradigms are currently implemented in Quantum ESPRESSO, namely MPI and OpenMP. MPI is a well-established, general-purpose parallelization scheme. In Quantum ESPRESSO several parallelization levels, specified at run-time via command-line options to the executable, are implemented with MPI. This is the first choice for execution on a parallel machine. OpenMP can be implemented via compiler directives (explicit OpenMP) or via multithreading libraries (library OpenMP). Explicit OpenMP requires compilation for OpenMP execution; library OpenMP only requires linking to a multithreading version of mathematical libraries, e.g.: ESSLSMP, ACML MP, MKL (the latter is natively multi-threading).
HPC environments
Most of the applications of the suite are designed for the efficient usage of the state-of-the-art HPC machines using multiple parallelization levels. The basal workload distribution can be done using MPI + OpenMP multithreading, or offloading it to GPGPUs, depending on the nodes’ architecture. This parallelization level also provides an efficient data distribution among the MPI ranks. This allows to compute systems with up to ~10^4 atoms. The offloading or the usage of a growing number of MPI ranks are able to scale down the computational cost of 3D FFTs and other operations on 3D data grids.
|
|
|
|



Figure 2: Benchmark of pool parallelism scaling efficiency of QUANTUM ESPRESSO kernels in heterogeneous parallel machines with NVIDIA A100 GPUs (LEONARDO-BOOSTER@CINECA) and AMD MI250x GPUs (LUMI-G@LUMI). For small-size cases, the QUANTUM ESPRESSO kernels in heterogeneous machines are already very efficient with one node. The suite provides several throughput parallelisation schemes to speed up these calculations.