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