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.
- Navigate to the directory, where you want to build QuantumESPRESSO, e.g.
$PC2PFS/YOUR_PROJECT/QE
. Please replaceYOUR_PROJECT
with the name of your project. - 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.
- 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).
- Configure the build of QuantumESPRESSO and install it in your required directory, e.g.
$PC2PFS/YOUR_PROJECT/QE
, whereYOUR_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 | ||
---|---|---|
| ||
#!/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 | ||
---|---|---|
| ||
#!/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.