Installation on Leonardo

Module and dependencies

Most of the QuantumESPRESSO applications exploit GPUs. These softwares depends on

  • lapack-blas

  • fftw

  • cuda ( gpus )

  • mpi ( parallel )

  • scalapack ( optional )

For the GPU version, the NVHPC/PGI compiler. CUDAFortran and OpenACC are used interoperably. We suggest the following software stack for Leonardo, available via modules

  • nvhpc/23.1

  • openmpi/4.1.4–nvhpc–23.1-cuda-11.8

  • fftw/3.3.10–openmpi–4.1.4–nvhpc–23.1

  • openblas/0.3.21–nvhpc–23.1

which is the one adopted for the official module, available via

module load profile/chem-phys
module load quantum-espresso

Manual installation (cmake)

To install QuantumESPRESSO, first download the source code from the repository

wget https://gitlab.com/QEF/q-e/-/archive/develop/q-e-develop.tar.gz
tar -zxf q-e-develop.tar.gz
cd q-e

create the build directory

mkdir build
cd build

configure the build with cmake

module load cmake
module load nvhpc/23.1
module load openmpi/4.1.4--nvhpc--23.1-cuda-11.8
module load fftw/3.3.10--openmpi--4.1.4--nvhpc--23.1
module load openblas/0.3.21--nvhpc--23.1

cmake -DCMAKE_C_COMPILER=nvc -DCMAKE_Fortran_COMPILER=mpif90 \
  [-DQE_ENABLE_MPI_GPU_AWARE=ON] -DQE_ENABLE_CUDA=ON -DQE_ENABLE_OPENACC=ON \
  -DQE_FFTW_VENDOR=FFTW3 -DNVFORTRAN_CUDA_VERSION=11.8 -DNVFORTRAN_CUDA_CC=80 [-DQE_CLOCK_SECONDS=ON] ../

and install the executable

make -j [pw,cp,ph,tddfpt]

Installation via spack

The GPU version of QuantumESPRESSO is available also via the package manager spack https://spack.io/ with the +cuda variant and the %nvhpc compiler.

Check the available options with the following command

spack info quantum-espresso%nvhpc+cuda

On Leonardo the software is installed by using the following specs

spack install quantum-espresso@7.2%nvhpc+cuda+mpi+omp+mpigpu

CPU version

On Leonardo, a CPU version of the software is also provided. This should be used for codes not supported on GPUs (specially postprocessing). This version is available as a module via

module load autoload quantum-espresso/7.2--openmpi--4.1.4--gcc--11.3.0-openblas