Skip to main content Link Search Menu Expand Document (external link)

QuantumESPRESSO on Sulis

  1. Accessing QuantumESPRESSO
  2. Running QuantumESPRESSO

QuantumESPRESSO is a suite of codes for ab-initio modelling based on plane waves and pseudopotentials with the Density Functional Theory (DFT) in its core.

Accessing QuantumESPRESSO

First, check the list of existing QuantumESPRESSO modules

[user@login01(sulis) ~]$ module spider QuantumESPRESSO

Choosing a specific alias from the list e.g.,

[user@login01(sulis) ~]$ module spider QuantumESPRESSO/7.1

will print out the required modules to be loaded before QuantumESPRESSO one.

Loading the QuantumESPRESSO/7.1 into the command line environment is invoked by

module load GCC/11.3.0  OpenMPI/4.1.4
module load QuantumESPRESSO/7.1

Running QuantumESPRESSO

Version 7.1 and onwards, set the parallel configuration automatically. We, therefore, can safely recommend running QuantumESPRESSO/7.1 without any parallel options.

#SBATCH --nodes=4
#SBATCH --ntasks-per-node=128
#SBATCH --cpus-per-task=1
#SBATCH --mem-per-cpu=3850
#SBATCH --time=15:00:00
#SBATCH --account=suXXX-somebudget

module purge
module load GCC/11.3.0 OpenMPI/4.1.4
module load QuantumESPRESSO/7.1

srun pw.x -i my.input

With earlier vesion, e.g. 6.8, the parallelisation of QuantumESPRESSO can be tuned manually by distributing processors across groups defined by the command line switches: -nimage, -npools, -nband, -ntg, -ndiag or -northo (shorthands, respectively: -ni, -nk, -nb, -nt, -nd). The -nimage is available in some of QuantumESPRESSO codes, like ph.x and neb.x dividing processors into groups assigned to weakly communicating computation images.

Next parameters control the parallel execution of pw.x. For example, launching pw.x with the following configuration,

srun pw.x -nk 32 -nt 4 -nd 4 -i my.input

distributed 512 CPUs across 32 pools of k-points with 16 processors each. Each pool of 16 processors is split to four FFT tasks (-nt flag). Finally, the Hamiltonian matrix is distributed over 4 CPUs (-nd flag, recommended when N_bands is few hundred or more). More detailed explanations are found in the corresponding ‘Parallel execution’ section in the QuantumESPRESSO user manual.