Skip to content

Quantum ESPRESSO

Quantum ESPRESSO is an open-source suite for first-principles electronic structure calculations based on DFT, plane waves, and pseudopotentials. It includes codes for self-consistent calculations (pw.x), phonons (ph.x), molecular dynamics, and more.

Loading the module

module load QuantumESPRESSO/7.3-foss-2023b

Loading the module also provides related tools such as yambo, wannier90, and various post-processing utilities.

To see all installed versions across clusters, check the software catalog or run module spider QuantumESPRESSO.

Expand to see all available modules on each cluster
QuantumESPRESSO/6.4.1-foss-2021a QuantumESPRESSO/6.4.1-foss-2023a QuantumESPRESSO/6.4.1-foss-2023a-OLDXML
QuantumESPRESSO/6.7-NVHPC-23.1-CUDA-12.1.1-serial QuantumESPRESSO/7.1-foss-2022a QuantumESPRESSO/7.1-intel-2022a
QuantumESPRESSO/7.2-foss-2023a QuantumESPRESSO/7.2-NVHPC-23.1-CUDA-12.1.1 QuantumESPRESSO/7.3-foss-2023a
QuantumESPRESSO/7.3-foss-2023a-OLDXML
QuantumESPRESSO/6.5-intel-2019b QuantumESPRESSO/6.6-intel-2019b QuantumESPRESSO/6.6-intel-2020a
QuantumESPRESSO/6.8-intel-2021a QuantumESPRESSO/7.2-foss-2023a
QuantumESPRESSO/4.3.2-intel-2017a QuantumESPRESSO/5.3-intel-2017b QuantumESPRESSO/6.2.1-develop-54a55df0-intel-2017b
QuantumESPRESSO/6.2.1-develop-54a55df0-intel-2017b-hybrid QuantumESPRESSO/6.2.1-develop-54a55df0-intel-2017b-mt QuantumESPRESSO/6.2.1-intel-2017b
QuantumESPRESSO/6.2.1-intel-2017b-hybrid QuantumESPRESSO/6.2.1-intel-2017b-mt QuantumESPRESSO/6.2-intel-2017b
QuantumESPRESSO/6.2-intel-2017b-hybrid QuantumESPRESSO/6.2-intel-2017b-mt QuantumESPRESSO/6.3-intel-2018a
QuantumESPRESSO/6.4-intel-2018a QuantumESPRESSO/6.5-intel-2019b QuantumESPRESSO/6.7-intel-2019b
QuantumESPRESSO/6.7-intel-2019b-thermo QuantumESPRESSO/7.2-foss-2022b QuantumESPRESSO/7.3-foss-2022b
QuantumESPRESSO/old_6.5-intel-2019b

Batch job examples

qe.slurm
#!/bin/bash
#SBATCH --qos=regular
#SBATCH --job-name=qe
#SBATCH --nodes=4
#SBATCH --ntasks-per-node=48
#SBATCH --cpus-per-task=1
#SBATCH --mem=200G
#SBATCH --time=24:00:00
#SBATCH --output=%x.%j.out
#SBATCH --error=%x.%j.err

module load QuantumESPRESSO/7.3-foss-2023b

srun pw.x -input input.in > output.out
qe.slurm
#!/bin/bash
#SBATCH --qos=regular
#SBATCH --job-name=qe
#SBATCH --nodes=4
#SBATCH --ntasks-per-node=6
#SBATCH --cpus-per-task=8
#SBATCH --mem=200G
#SBATCH --time=24:00:00
#SBATCH --output=%x.%j.out
#SBATCH --error=%x.%j.err

module load QuantumESPRESSO/7.3-foss-2023b

export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK}

srun pw.x -input input.in > output.out

Tip

Hybrid parallelism is especially useful for calculations with many k-points or large FFT grids. A good starting point is 4-8 threads per rank.

qe_gpu.slurm
#!/bin/bash
#SBATCH --qos=regular
#SBATCH --job-name=qe_gpu
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=2
#SBATCH --cpus-per-task=2
#SBATCH --mem=40G
#SBATCH --gpus=2
#SBATCH --time=24:00:00
#SBATCH --output=%x.%j.out
#SBATCH --error=%x.%j.err

module load QuantumESPRESSO/7.3-NVHPC-23.1-CUDA-12.1.1

mpirun -np $SLURM_NTASKS pw.x -input input.in > output.out

Use one MPI rank per GPU for optimal GPU utilization.

Default thread count

The QE module sets OMP_NUM_THREADS=1 by default. Override it explicitly in your batch script if you want hybrid parallelism.

See also