[QE-users] QE-GPU and libxc compile error

Michele Re Fiorentin michele.refiorentin at polito.it
Fri Apr 21 12:28:52 CEST 2023


Dear QE developers and users,

I’m trying to install QE on a GPU-accelerated system (M100) while linking it to libxc. I’ve compiled both libxc (version 7.0.0) and QE (version 7.2) with the same compilers and libraries:

LIBXC:  ./configure CC=pgcc F77=pgf90 FC=pgf90 F90=pgf90 MPIF90=mpipgifort --prefix=/m100/home/userexternal/mrefiore/libxc

QE: ./configure CC=pgcc F77=pgf90 FC=pgf90 F90=pgf90 MPIF90=mpipgifort --enable-openmp --with-cuda=/cineca/prod/opt/compilers/cuda/11.0/none --with-cuda-runtime=11.0 --with-cuda-cc=70 --with-scalapack=no --enable-cuda-env-check=no --with-libxc=yes --with-libxc-prefix=/m100/home/userexternal/mrefiore/libxc --with-libxc-include=/m100/home/userexternal/mrefiore/libxc/include

Libxc compiles very well without problems.
QE configure runs smoothly, the library is found and the linker does not complain. 
However, when compiling pw I get the following error

make[1]: Entering directory '/m100/home/userexternal/mrefiore/qe-7.1_libxc/XClib'
mpipgifort -fast -Mcache_align -Mpreprocess -Mlarge_arrays -mp -D__PGI -D__CUDA -D__FFTW3 -D__LIBXC -D__MPI  -Mcuda=cc70,cuda11.0 -I/m100/home/userexternal/mrefiore/qe-7.1_libxc//external/devxlib/src -I/m100/home/userexternal/mrefiore/qe-7.1_libxc//external/devxlib/include -acc -I/m100/home/userexternal/mrefiore/qe-7.1_libxc//external/devxlib/src -I. -I/m100/home/userexternal/mrefiore/qe-7.1_libxc//include -I/cineca/prod/opt/libraries/fftw/3.3.8/gnu--8.4.0/include -I/m100/home/userexternal/mrefiore/libxc/include -I/m100/home/userexternal/mrefiore/qe-7.1_libxc//upflib -c dft_setting_routines.f90
NVFORTRAN-S-0038-Symbol, xc_family_hyb_gga, has not been explicitly declared (dft_setting_routines.f90)
NVFORTRAN-S-0038-Symbol, xc_family_hyb_mgga, has not been explicitly declared (dft_setting_routines.f90)
  0 inform,   0 warnings,   2 severes, 0 fatal for matching_shortids
NVFORTRAN-S-0038-Symbol, xc_family_hyb_lda, has not been explicitly declared (dft_setting_routines.f90)
NVFORTRAN-S-0038-Symbol, xc_family_hyb_gga, has not been explicitly declared (dft_setting_routines.f90)
NVFORTRAN-S-0038-Symbol, xc_family_hyb_mgga, has not been explicitly declared (dft_setting_routines.f90)
  0 inform,   0 warnings,   3 severes, 0 fatal for xclib_set_auxiliary_flags
make[1]: *** [../make.inc:16: dft_setting_routines.o] Error 2
make[1]: Leaving directory '/m100/home/userexternal/mrefiore/qe-7.1_libxc/XClib'
make: *** [Makefile:206: librxc] Error 1


Clearly the compilation fails. I can’t figure out how to solve the issues with those symbols “not declared”. Is it a compiler incompatibility? 
Any help would be much appreciated!


Michele




--
Michele Re Fiorentin, PhD
 
Department of Applied Science and Technology (DISAT) 
Politecnico di Torino 
corso Duca degli Abruzzi 24, 10129 Torino (Italy)
tel: +39 0110904333



More information about the users mailing list