Here some explanations:
https://www.mail-archive.com/users@lists.quantum-espresso.org/msg41494.html
https://www.mail-archive.com/users@lists.quantum-espresso.org/msg40215.html
The path to the fftw3.f03 file, needed by fftw3, must be specified in INCLUDE_FFTW or similar variables. The latest development version (soon to be released) has somewhat better FFTW3 auto-detection

Paolo

On 23/05/2022 17:55, Robert MIJAKOVIC wrote:
# Summary

QE 7.0/GPU compilation with Autotools fails with "Can't find include file fftw3.f03 (fft_scalar.FFTW3.f90: 40)"

# Version

qe-7.0-ReleasePack.tgz

# Environment

## Hardware

1. 2xAMD EPYC 7452

2. 4xNVIDIA A100

3. 512 GB RAM

## Software

1. OS: Rocky Linux release 8.5 (Green Obsidian)

2. NVHPC 22.3

3. OpenMPI 4.1.3 built with NVHPC 22.3

4. CUDA 11.3.1 with Driver 470.82.01

5. libxc 5.1.5

6. Autotools 20210128

# Steps to reproduce

## Configured with:

`./configure --prefix=$HOME/install/qe-7.0 --enable-openmp --with-scalapack=no --enable-cuda-env-check=no --with-cuda=$EBROOTNVHPC/Linux_x86_64/22.3/cuda/11.0 --with-cuda-runtime=11.0 --with-cuda-cc=80`

## Prebuild options

`cp $EBROOTLIBXC/include/*.mod Modules/mod/qe_modules && export FPP='nvfortran -Mpreprocess -E' && export CPP='cpp -E' && export FCPP='cpp -E' && `

## make options

`make all epw`

# Observed behavior

Compilation fails with:

```

make[1]: Entering directory '/mnt/tier2/users/apps/scratchpad/qe-7.0/FFTXlib'

mpif90 -fast -Mcache_align -Mpreprocess -Mlarge_arrays -mp -D__PGI -D__CUDA -D__USE_CUSOLVER -D__FFTW3 -D__MPI  -cuda -gpu=cc80,cuda11.0 -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/include -acc -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//include -I/mnt/tier2/users/apps/scratchpad/qe-7.0//FoX/finclude   -c fft_param.f90

mpif90 -fast -Mcache_align -Mpreprocess -Mlarge_arrays -mp -D__PGI -D__CUDA -D__USE_CUSOLVER -D__FFTW3 -D__MPI  -cuda -gpu=cc80,cuda11.0 -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/include -acc -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//include -I/mnt/tier2/users/apps/scratchpad/qe-7.0//FoX/finclude   -c fft_support.f90

mpif90 -fast -Mcache_align -Mpreprocess -Mlarge_arrays -mp -D__PGI -D__CUDA -D__USE_CUSOLVER -D__FFTW3 -D__MPI  -cuda -gpu=cc80,cuda11.0 -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/include -acc -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//include -I/mnt/tier2/users/apps/scratchpad/qe-7.0//FoX/finclude   -c stick_base.f90

mpif90 -fast -Mcache_align -Mpreprocess -Mlarge_arrays -mp -D__PGI -D__CUDA -D__USE_CUSOLVER -D__FFTW3 -D__MPI  -cuda -gpu=cc80,cuda11.0 -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/include -acc -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//include -I/mnt/tier2/users/apps/scratchpad/qe-7.0//FoX/finclude   -c fft_types.f90

mpif90 -fast -Mcache_align -Mpreprocess -Mlarge_arrays -mp -D__PGI -D__CUDA -D__USE_CUSOLVER -D__FFTW3 -D__MPI  -cuda -gpu=cc80,cuda11.0 -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/include -acc -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//include -I/mnt/tier2/users/apps/scratchpad/qe-7.0//FoX/finclude   -c scatter_mod.f90

mpif90 -fast -Mcache_align -Mpreprocess -Mlarge_arrays -mp -D__PGI -D__CUDA -D__USE_CUSOLVER -D__FFTW3 -D__MPI  -cuda -gpu=cc80,cuda11.0 -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/include -acc -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//include -I/mnt/tier2/users/apps/scratchpad/qe-7.0//FoX/finclude   -c fft_scatter_2d.f90

mpif90 -fast -Mcache_align -Mpreprocess -Mlarge_arrays -mp -D__PGI -D__CUDA -D__USE_CUSOLVER -D__FFTW3 -D__MPI  -cuda -gpu=cc80,cuda11.0 -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/include -acc -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//include -I/mnt/tier2/users/apps/scratchpad/qe-7.0//FoX/finclude   -c fft_buffers.f90

mpif90 -fast -Mcache_align -Mpreprocess -Mlarge_arrays -mp -D__PGI -D__CUDA -D__USE_CUSOLVER -D__FFTW3 -D__MPI  -cuda -gpu=cc80,cuda11.0 -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/include -acc -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//include -I/mnt/tier2/users/apps/scratchpad/qe-7.0//FoX/finclude   -c fft_scatter_gpu.f90

mpif90 -fast -Mcache_align -Mpreprocess -Mlarge_arrays -mp -D__PGI -D__CUDA -D__USE_CUSOLVER -D__FFTW3 -D__MPI  -cuda -gpu=cc80,cuda11.0 -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/include -acc -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//include -I/mnt/tier2/users/apps/scratchpad/qe-7.0//FoX/finclude   -c fft_scatter_2d_gpu.f90

mpif90 -fast -Mcache_align -Mpreprocess -Mlarge_arrays -mp -D__PGI -D__CUDA -D__USE_CUSOLVER -D__FFTW3 -D__MPI  -cuda -gpu=cc80,cuda11.0 -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/include -acc -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//include -I/mnt/tier2/users/apps/scratchpad/qe-7.0//FoX/finclude   -c fft_ggen.f90

mpif90 -fast -Mcache_align -Mpreprocess -Mlarge_arrays -mp -D__PGI -D__CUDA -D__USE_CUSOLVER -D__FFTW3 -D__MPI  -cuda -gpu=cc80,cuda11.0 -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/include -acc -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//include -I/mnt/tier2/users/apps/scratchpad/qe-7.0//FoX/finclude   -c fft_scalar.DFTI.f90

mpif90 -fast -Mcache_align -Mpreprocess -Mlarge_arrays -mp -D__PGI -D__CUDA -D__USE_CUSOLVER -D__FFTW3 -D__MPI  -cuda -gpu=cc80,cuda11.0 -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/include -acc -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//include -I/mnt/tier2/users/apps/scratchpad/qe-7.0//FoX/finclude   -c fft_scalar.ESSL.f90

NVFORTRAN-W-0006-Input file empty (fft_scalar.ESSL.f90)

NVFORTRAN/x86-64 Linux 22.3-0: compilation completed with warnings

mpif90 -fast -Mcache_align -Mpreprocess -Mlarge_arrays -mp -D__PGI -D__CUDA -D__USE_CUSOLVER -D__FFTW3 -D__MPI  -cuda -gpu=cc80,cuda11.0 -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/include -acc -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//include -I/mnt/tier2/users/apps/scratchpad/qe-7.0//FoX/finclude   -c fftw_interfaces.f90

mpif90 -fast -Mcache_align -Mpreprocess -Mlarge_arrays -mp -D__PGI -D__CUDA -D__USE_CUSOLVER -D__FFTW3 -D__MPI  -cuda -gpu=cc80,cuda11.0 -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/include -acc -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//include -I/mnt/tier2/users/apps/scratchpad/qe-7.0//FoX/finclude   -c fft_scalar.FFTW.f90

NVFORTRAN-W-0006-Input file empty (fft_scalar.FFTW.f90)

NVFORTRAN/x86-64 Linux 22.3-0: compilation completed with warnings

mpif90 -fast -Mcache_align -Mpreprocess -Mlarge_arrays -mp -D__PGI -D__CUDA -D__USE_CUSOLVER -D__FFTW3 -D__MPI  -cuda -gpu=cc80,cuda11.0 -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/include -acc -I/mnt/tier2/users/apps/scratchpad/qe-7.0//external/devxlib/src -I/mnt/tier2/users/apps/scratchpad/qe-7.0//include -I/mnt/tier2/users/apps/scratchpad/qe-7.0//FoX/finclude   -c fft_scalar.FFTW3.f90

NVFORTRAN-F-0906-Can't find include file fftw3.f03 (fft_scalar.FFTW3.f90: 40)

NVFORTRAN/x86-64 Linux 22.3-0: compilation aborted

make[1]: *** [../make.inc:16: fft_scalar.FFTW3.o] Error 2

make[1]: Leaving directory '/mnt/tier2/users/apps/scratchpad/qe-7.0/FFTXlib'

make: *** [Makefile:196: libfft] Error 1

```

# Questions

1. What do I do wrong?

2. Why configure didn't fail if FFTW is mandatory?

3. Is it possible to configure the build system to use cuFFTinstead?

Dr. rer. nat. Robert Mijaković | HPC System Software Architect


*Lux**Provide*
3, Op der Poukewiss | L-7795 Bissen

Grand-Duchy of Luxembourg
M (+352) 691 396 474

robert.mijako...@lxp.lu <mailto:robert.mijako...@lxp.lu> |www.luxprovide.lu <http://www.luxprovide.lu/>


_______________________________________________
The Quantum ESPRESSO community stands by the Ukrainian
people and expresses its concerns about the devastating
effects that the Russian military offensive has on their
country and on the free and peaceful scientific, cultural,
and economic cooperation amongst peoples
_______________________________________________
Quantum ESPRESSO is supported by MaX (www.max-centre.eu)
users mailing list users@lists.quantum-espresso.org
https://lists.quantum-espresso.org/mailman/listinfo/users

--
Paolo Giannozzi, Dip. Scienze Matematiche Informatiche e Fisiche,
Univ. Udine, via delle Scienze 208, 33100 Udine, Italy
Phone +39-0432-558216, fax +39-0432-558222
_______________________________________________
The Quantum ESPRESSO community stands by the Ukrainian
people and expresses its concerns about the devastating
effects that the Russian military offensive has on their
country and on the free and peaceful scientific, cultural,
and economic cooperation amongst peoples
_______________________________________________
Quantum ESPRESSO is supported by MaX (www.max-centre.eu)
users mailing list users@lists.quantum-espresso.org
https://lists.quantum-espresso.org/mailman/listinfo/users

Reply via email to