<div dir="ltr"><div><div><div>Dear all,<br><br></div>I am trying to compile QE-GPU (5.0.2). Here is the make.sys file:<br><br>========================================================<br>========================================================<br></div># make.sys.  Generated from <a href="http://make.sys.in">make.sys.in</a> by configure.<br><br># compilation rules<br><br>.SUFFIXES :<br>.SUFFIXES : .o .c .f .f90 .cu<br><br># most fortran compilers can directly preprocess c-like directives: use<br>#     $(MPIF90) $(F90FLAGS) -c $<<br># if explicit preprocessing by the C preprocessor is needed, use:<br>#     $(CPP) $(CPPFLAGS) $< -o $*.F90 <br>#    $(MPIF90) $(F90FLAGS) -c $*.F90 -o $*.o<br># remember the tabulator in the first column !!!<br><br>.f90.o:<br>    $(MPIF90) $(F90FLAGS) -c $<<br><br># .f.o and .c.o: do not modify<br><br>.f.o:<br>    $(F77) $(FFLAGS) -c $<<br><br>.c.o:<br>    $(CC) $(CFLAGS)  -c $<<br><br># CUDA files<br>.cu.o:<br>    $(NVCC) $(NVCCFLAGS) -I../../include $(IFLAGS) $(DFLAGS)   -c $<<br><br># topdir for linking espresso libs with plugins<br>TOPDIR = /usr/local/codes/espresso/espresso-5.0.2/GPU/../<br><br><br># DFLAGS  = precompilation options (possible arguments to -D and -U)<br>#           used by the C compiler and preprocessor<br># FDFLAGS = as DFLAGS, for the f90 compiler<br># See include/defs.h.README for a list of options and their meaning<br># With the exception of IBM xlf, FDFLAGS = $(DFLAGS)<br># For IBM xlf, FDFLAGS is the same as DFLAGS with separating commas <br><br># MANUAL_DFLAGS  = additional precompilation option(s), if desired<br>#                  You may use this instead of tweaking DFLAGS and FDFLAGS<br>#                  BEWARE: will not work for IBM xlf! Manually edit FDFLAGS<br>MANUAL_DFLAGS  =<br>DFLAGS         =  -D__INTEL -D__FFTW3 -D__MPI -D__PARA -D__SCALAPACK -D__CUDA -D__PHIGEMM $(MANUAL_DFLAGS)<br>FDFLAGS        = $(DFLAGS)<br><br># IFLAGS = how to locate directories where files to be included are<br># In most cases, IFLAGS = -I../include<br><br>IFLAGS         = -I../include  -I/usr/local/codes/espresso/espresso-5.0.2/GPU/..//phiGEMM/include -I/include<br><br># MOD_FLAGS = flag used by f90 compiler to locate modules<br># Each Makefile defines the list of needed modules in MODFLAGS<br><br>MOD_FLAG      = -I<br><br># Compilers: fortran-90, fortran-77, C<br># If a parallel compilation is desired, MPIF90 should be a fortran-90 <br># compiler that produces executables for parallel execution using MPI<br># (such as for instance mpif90, mpf90, mpxlf90,...);<br># otherwise, an ordinary fortran-90 compiler (f90, g95, xlf90, ifort,...)<br># If you have a parallel machine but no suitable candidate for MPIF90,<br># try to specify the directory containing "mpif.h" in IFLAGS<br># and to specify the location of MPI libraries in MPI_LIBS<br><br>MPIF90         = mpif90<br>#F90           = ifort<br>CC             = icc<br>F77            = ifort<br><br># C preprocessor and preprocessing flags - for explicit preprocessing, <br># if needed (see the compilation rules above)<br># preprocessing flags must include DFLAGS and IFLAGS<br><br>CPP            = cpp<br>CPPFLAGS       = -P -traditional $(DFLAGS) $(IFLAGS)<br><br># compiler flags: C, F90, F77<br># C flags must include DFLAGS and IFLAGS<br># F90 flags must include MODFLAGS, IFLAGS, and FDFLAGS with appropriate syntax<br><br>CFLAGS         = -O3 $(DFLAGS) $(IFLAGS)<br>F90FLAGS       = $(FFLAGS) -nomodule -fpp $(FDFLAGS) $(IFLAGS) $(MODFLAGS)<br>FFLAGS         = -O2 -assume byterecl -g -traceback -par-report0 -vec-report0<br><br># compiler flags without optimization for fortran-77<br># the latter is NEEDED to properly compile dlamch.f, used by lapack<br><br>FFLAGS_NOOPT   = -O0 -assume byterecl -g -traceback<br><br># compiler flag needed by some compilers when the main is not fortran<br># Currently used for Yambo<br><br>FFLAGS_NOMAIN   = -nofor_main<br><br># Linker, linker-specific flags (if any)<br># Typically LD coincides with F90 or MPIF90, LD_LIBS is empty<br><br>LD             = mpif90<br>LDFLAGS        = -static-intel <br>LD_LIBS        = -L/lib64 -lcublas  -lcufft -lcudart <br><br># External Libraries (if any) : blas, lapack, fft, MPI<br><br># If you have nothing better, use the local copy :<br># BLAS_LIBS = /your/path/to/espresso/BLAS/blas.a<br># BLAS_LIBS_SWITCH = internal<br><br>BLAS_LIBS      = /usr/local/codes/espresso/espresso-5.0.2/GPU/..//phiGEMM/lib/libphigemm.a    -lmkl_intel_lp64  -lmkl_sequential -lmkl_core<br>BLAS_LIBS_SWITCH = external<br><br># If you have nothing better, use the local copy :<br># LAPACK_LIBS = /your/path/to/espresso/lapack-3.2/lapack.a<br># LAPACK_LIBS_SWITCH = internal<br># For IBM machines with essl (-D__ESSL): load essl BEFORE lapack !<br># remember that LAPACK_LIBS precedes BLAS_LIBS in loading order<br><br># CBLAS is used in case the C interface for BLAS is missing (i.e. ACML)<br>CBLAS_ENABLED = 0<br><br>LAPACK_LIBS    =  <br>LAPACK_LIBS_SWITCH = external<br><br>ELPA_LIBS_SWITCH = disabled<br>SCALAPACK_LIBS = -lmkl_scalapack_lp64 -lmkl_blacs_openmpi_lp64<br><br># nothing needed here if the the internal copy of FFTW is compiled<br># (needs -D__FFTW in DFLAGS)<br><br>FFT_LIBS       =  -lfftw3 <br><br># For parallel execution, the correct path to MPI libraries must<br># be specified in MPI_LIBS (except for IBM if you use mpxlf)<br><br>MPI_LIBS       = <br><br># IBM-specific: MASS libraries, if available and if -D__MASS is defined in FDFLAGS<br><br>MASS_LIBS      = <br><br># ar command and flags - for most architectures: AR = ar, ARFLAGS = ruv<br><br>AR             = ar<br>ARFLAGS        = ruv<br><br># ranlib command. If ranlib is not needed (it isn't in most cases) use<br># RANLIB = echo<br><br>RANLIB         = ranlib<br><br># all internal and external libraries - do not modify<br><br>FLIB_TARGETS   = all<br><br># CUDA section<br>NVCC             = <br>NVCCFLAGS        = -O3 -gencode arch=compute_35,code=sm_35 <br><br>PHIGEMM_INTERNAL = 1<br>PHIGEMM_SYMBOLS  = 1<br>MAGMA_INTERNAL   = 0<br><br>LIBOBJS        = ../flib/ptools.a ../flib/flib.a ../clib/clib.a ../iotk/src/libiotk.a <br>LIBS           = $(SCALAPACK_LIBS) $(LAPACK_LIBS) $(FFT_LIBS) $(BLAS_LIBS) $(MPI_LIBS) $(MASS_LIBS) $(LD_LIBS)<br><br># wget or curl - useful to download from network<br>WGET = wget -O<br><br>=================================================================<br>=================================================================<br><br></div><div>The following error occurs:<br><br>=================================================================<br>make[3]: Entering directory `/usr/local/codes/espresso/espresso-5.0.2/S3DE/iotk/src'<br>make[3]: Nothing to be done for `loclib_only'.<br>make[3]: Leaving directory `/usr/local/codes/espresso/espresso-5.0.2/S3DE/iotk/src'<br>mpif90 -static-intel  -o iotk_print_kinds.x iotk_print_kinds.o libiotk.a   -L/lib64 -lcublas  -lcufft -lcudart <br>ld: cannot find -lcublas<br>ld: cannot find -lcufft<br>ld: cannot find -lcudart<br>make[2]: *** [iotk_print_kinds.x] Error 1<br>make[2]: Leaving directory `/usr/local/codes/espresso/espresso-5.0.2/S3DE/iotk/src'<br>make[1]: *** [libiotk] Error 2<br>make[1]: Leaving directory `/usr/local/codes/espresso/espresso-5.0.2/install'<br>make: *** [libiotk] Error 2<br>==================================================================<br><br>Any suggestion will be highly aprreciated.Thank you in advance.<br><br></div><div>Mohammad Moaddeli<br></div><div>PhD student,<br></div><div>Shahid Chamran University of Ahvaz<br></div></div>