Quantum ESPRESSO is an integrated suite of computer codes for electronic-structure calculations and materials modeling at the nanoscale. It is based on density-functional theory, plane waves, and pseudopotentials (both norm-conserving and ultrasoft).
Local support is not available. For detailed documentation and tutorials, visit the QuantumEspresso website. QuantumEspresso (QE) has a large and active community of users; to search or join the mailing list see the instructions here.

Software Category: chem

Available Versions

We built versions of QE incorporating the most popular optional packages. To find the available versions and learn how to load them, run:

module spider quantumespresso

The output of the command shows the available QuantumEspresso module versions.

For detailed information about a particular QuantumEspresso module, including how to load the module, run the module spider command with the module’s full version label. For example:

module spider quantumespresso/5.4.0
ModuleVersion Module Load Command
quantumespresso5.4.0 module load intel/18.0 intelmpi/18.0 quantumespresso/5.4.0
quantumespresso6.1 module load intel/18.0 intelmpi/18.0 quantumespresso/6.1
quantumespresso6.3 module load intel/18.0 intelmpi/18.0 quantumespresso/6.3
quantumespresso6.4.1 module load intel/18.0 intelmpi/18.0 quantumespresso/6.4.1
quantumespresso7.0 module load nvhpc/21.9 openmpi/3.1.6 quantumespresso/7.0

Users may build their own versions of QE if they wish to use a different compiler+MPI combination, or to choose individual optional packages. Instructions are available at the installation FAQ.

Example Slurm script

To run the system version of QE, a script similar to the following can be used. QE has many options so only the most basic is shown.

Please run the CPU version on non-gpu partitions and the GPU version only on the gpu partition. In both cases, we highly recommend running a benchmark to decide how many CPU cores and/or GPU devices you should use.


#SBATCH -A myallocation        # your allocation
#SBATCH -p parallel            # partition
#SBATCH -N 2                   # number of nodes
#SBATCH --ntasks-per-node=40   # number of tasks
#SBATCH -t 1-00:00:00          # walltime

module purge
module load intel/18.0 intelmpi/18.0
module load quantumespresso/6.4.1

srun pw.x -in


#SBATCH -A myallocation        # your allocation
#SBATCH -p gpu                 # do not change
#SBATCH --gres=gpu:1           # number of GPU devices
#SBATCH -C v100|a100           # can only run on V100 and A100
#SBATCH -N 1                   # number of nodes
#SBATCH --ntasks-per-node=2    # number of tasks
#SBATCH -t 1-00:00:00          # walltime

module purge
module load nvompic quantumespresso/7.0

srun pw.x -in