Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Description

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).

More information

- Homepage: https://www.quantum-espresso.org

Available Versions of QuantumESPRESSO

Version

Module

Available on

7.3-intel-2024a

chem/QuantumESPRESSO/7.3-intel-2024a

Noctua 2

7.03-intel-2021a2023a

chem/QuantumESPRESSO/7.03-intel-2021a2023a

Noctua 12

7.03-foss-2021a2023a

chem/QuantumESPRESSO/7.03-foss-2021a2023a

Noctua 1, Noctua 2

67.82-intel-2021a2022b

chem/QuantumESPRESSO/67.82-intel-2021a2022b

Noctua 1

67.82-foss-2021b2022b

chem/QuantumESPRESSO/67.82-foss-2021b-2022b

Noctua 1

7.1-intel-2022a

chem/QuantumESPRESSO/7.1-intel-2022a

Noctua 1, Noctua 2

67.81-foss-2021a2022a

chem/QuantumESPRESSO/67.81-foss-2021a2022a

Noctua 16.7, Noctua 2

7.0-intel-2021b

chem/QuantumESPRESSO/7.0-intel-2021b

Noctua 1

7.0-intel-2020b2021a

chem/QuantumESPRESSO/6.7-intel-2020b

Noctua 1

6.7-foss-2020b7.0-intel-2021a

Noctua 2

7.0-foss-2021a

chem/QuantumESPRESSO/7.0-foss-2021a

Noctua 1, Noctua 2

6.8-foss-2021b

chem/QuantumESPRESSO/6.78-foss-2020b2021b

Noctua 1, Noctua 2

6.75-foss-2019b2020a

chem/QuantumESPRESSO/6.75-foss-2019b2020a

Noctua 1

This table is generated automatically. If you need other versions please contact click pc2-support@uni-paderborn.de.

...

If you need support in using this software or example job scipts please contact pc2-support@uni-paderborn.de.

Build Instructions for Customized QuantumESPRESSO

If the above versions of QuantumESPRESSO built with EasyBuild cannot fulfill your requirement. A customized version of QuantumESPRESSO can be built on Noctua by the following steps.

  1. Navigate to the directory, where you want to build QuantumESPRESSO, e.g. $PC2PFS/YOUR_PROJECT/QE. Please replace YOUR_PROJECT with the name of your project.
  2. Load the modules for building the customized version of QuantumESPRESSO. In the example below Intel toolchain (compilers, MPI and math libraries etc) and CMake are used. In addition the libxc library is enabled as addon in this build.
  3. Download your required version (or your customized version) of QuantumESPRESSO. In this example we use QuantumESPRESSO 7.0 (the latest version when writing this tutorial).
  4. Configure the build of QuantumESPRESSO and install it in your required directory, e.g. $PC2PFS/YOUR_PROJECT/QE, where YOUR_PROJECT is the name of your project.

A SLURM jobscript is given below that performs the aforementioned steps to build QuantumESPRESSO 7.0 with libxc on Noctua. Please replace YOUR_PROJECT with the name of your project.

Code Block
languagebash
#!/usr/bin/env bash
#SBATCH --job-name=build_QE
#SBATCH --nodes=1
#SBATCH --ntasks=128
#SBATCH --time=01:00:00
#SBATCH --exclusive
#
# 1. go to the directory, where you want to build QE, e.g. $PC2PFS/YOUR_PROJECT/QE
#
cd $PC2PFS/YOUR_PROJECT/QE
#
# 2. load the modules for building QE
#  - Intel toolchain (compilers, MPI and math libraries etc)
#  - CMake (cmake)
#  - libxc (addon to QE)
#
module reset
module load toolchain/intel/2021a
module load devel/CMake/3.20.1-GCCcore-10.3.0
module load chem/libxc/5.1.5-intel-compilers-2021.2.0
#
# 3. download QE 7.0
#
wget https://gitlab.com/QEF/q-e/-/archive/qe-7.0/q-e-qe-7.0.tar.bz2
tar xf q-e-qe-7.0.tar.bz2
cd     q-e-qe-7.0
#
# 4. configure the QE build and install it in, e.g. $PC2PFS/YOUR_PROJECT/QE/QE_root
#
mkdir build
cd    build
cmake -DCMAKE_C_COMPILER=mpiicc         \
      -DCMAKE_Fortran_COMPILER=mpiifort \
      -DQE_ENABLE_OPENMP=ON             \
      -DQE_ENABLE_LIBXC=ON              \
      -DCMAKE_INSTALL_PREFIX=$PC2PFS/YOUR_PROJECT/QE/QE_root ..
make -j 128 install

Example of SLURM Jobscript for the AUSURF112 Benchmark

The AUSURF112 benchmark for QuantumESPRESSO is performed on 2 compute nodes of Noctua using hybrid MPI-OpenMP for the purpose of test. The input files can be obtained from this GitHub Repository.

...

SLURM Jobscript for Using the QuantumESPRESSO Module Built with EasyBuild

The following is an example SLURM jobscript for using the QuantumESPRESSO module built by EasyBuild (see the table above). The AUSURF112 benchmark is used for demonstration.

Please note: on Noctua 2 one compute node has 128 CPU cores, while one compute node for Noctua 1 has 40 CPU cores. The example Slurm jobscript below targets a single compute node for Noctua 2. If you use Noctua 1, please adapt the options for --ntasks-per-node and --cpus-per-task for 40 CPU cores in a single compute node.

Code Block
languagebash
#!/usr/bin/env bash
#SBATCH --job-name=qe_ausurf112
#SBATCH --nodes=21
#SBATCH --ntasks-per-node=16
#SBATCH --cpus-per-task=8
#SBATCH --time=00:10:00
#SBATCH --partition=normal
#
# parallelization for a single node of Noctua 2
#
# | parallelization                  | value    |
# |----------------------------------|----------|
# | number of allocated nodesnode         | 1 2       |
# | number of MPI ranks per node     | 16       |
# | number of CPU cores per MPI rank | 8 8       |
#
# thus total number of CPU cores used is 21 x 16 x 8 = 256128
#
# 1. load theyour modules:required IntelQuantumESPRESSO toolchainmodule
and libxc# #
module reset
module load toolchain/intel/2021a
module load chem/libxcQuantumESPRESSO/57.1.53-intel-compilers-2021.2.0
#
# 2. set environment variables for the build of QE 7.0
#
QE_ROOT=$PC2PFS/YOUR_PROJECT/QE/QE_root
export PATH=${QE_ROOT}/bin:$PATH
export LD_LIBRARY_PATH=${QE_ROOT}/lib64:$LD_LIBRARY_PATH
foss-2023a
#
# 3. download the input files forof AUSURF112
#
wget https://raw.githubusercontent.com/QEF/benchmarks/master/AUSURF112/Au.pbe-nd-van.UPFausurf.in
wget https://raw.githubusercontent.com/QEF/benchmarks/master/AUSURF112/ausurf.inAu.pbe-nd-van.UPF
#
# 4. run the AUSURF112 benchmark
#
export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK}
srun pw.x -ni 1 -nk 2 -nt 1 -nd 1 -input ausurf.in > ausurfbenchmark.out 2> ausurfbenchmark.err

...

Please note that this example might not guarantee the best computation performance, because the computation performance of QuantumESPRESSO depends on many factors, e.g. the version of QuantumESPRESSO, the compilers, the MPI library and involved math libraries, as well as the configuration for parallelization.

Further Information