[QE-users] [QE 7.0/GPU] Build configured with Autotools fails

Paolo Giannozzi paolo.giannozzi at uniud.it
Mon May 23 21:45:47 CEST 2022


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.mijakovic at lxp.lu 
> <mailto:robert.mijakovic at 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 at 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


More information about the users mailing list