[CP2K:9262] Unddefined reference when compiling cp2k 4.1 with CUDA 8.0

Tiziano Müller tiziano... at chem.uzh.ch
Thu Jul 27 09:10:19 UTC 2017


Hi Huiqun

Can you please attach the complete build log?
It might also be a good idea to do a `make distclean` and rebuild 
everything from scratch for that.

The mentioned symbols should be defined in

   lib/unclecuda-gnu/ssmp/libcp2kpwcuda.a

You can check for their presence using
   `nm lib/unclecuda-gnu/ssmp/libcp2kpwcuda.a`

which should give something like this:

   [...]
   pw_cuda_z.o:
   [...]
   00000000000003a0 T pw_cuda_cfffg_z_
   0000000000000f60 T pw_cuda_cff_z_
   0000000000001680 T pw_cuda_cf_z_
   00000000000019e0 T pw_cuda_fc_z_
   00000000000012f0 T pw_cuda_ffc_z_
   0000000000001f00 T pw_cuda_fg_z_
   0000000000001d40 T pw_cuda_f_z_
   0000000000000960 T pw_cuda_sfffc_z_
   0000000000002310 T pw_cuda_sf_z_
   [...]

If they are not there (after the rebuild), please also attach the 
complete output of this command.

Best regards,
Tiziano

On 27.07.2017 08:22, hqzhou wrote:
> Hi,
> 
> I'm compiling cp2k 4.1 with CUDA 8.0 using gnu compiler gfortran 4.8.5 
> on a CentOS 7.3 machine.
> For the compilation going on smoothly, I have made some modifications to 
> the relevant source
> code:
> 1. change syncthreads() to __syncthreads()
> 2. added condition to support native atomicAdd() in CUDA 8.0
> 3. change FFT_ALIGNMENT to CUFFT_COMPATIBILITY_FFTW_PADDING
> 
> The compilation went almost OK, except the last step of creating 
> cp2k.ssmp. I got following error.
> Actually, all undefined references are defined in pw/pw_cuda.F, am I 
> wrong somewhere in my
> configuration (refer to the attached)?
> 
> Thanks in advance!
> 
> PS: I can run dbcsr_unittest.ssmp, libcusmm_unittest.ssmp without any 
> problem.
> 
> Huiqun Zhou
> @Earth Sciences, Nanjing University, China
> 
> ======================= snippet of screen output 
> ==========================================
> gfortran -I/usr/local/include -I/usr/local/cuda/include 
> -I/usr/local/libint/include -I/usr/local/libxc/include -D__GRID_CORE=2 
> -D__PILAENV_BLOCKSIZE=1024 -D__ACC -D__DBCSR_ACC -D__PW_CUDA -D__LIBXC2 
> -D__LIBINT -D__LIBINT_MAX_AM=6 -D__LIBDERIV_MAX_AM1=5 -D__MAX_CONTR=4 
> -O2 -ffast-math -ffree-form -ffree-line-length-none -fopenmp 
> -ftree-vectorize -funroll-loops -mtune=native -I/usr/local/include 
> -I/usr/local/cuda/include -I/usr/local/libint/include 
> -I/usr/local/libxc/include -D__COMPILE_ARCH="\"unclecuda-gnu\"" 
> -D__COMPILE_DATE="\"Thu Jul 27 14:08:24 CST 2017\"" 
> -D__COMPILE_HOST="\"unclecuda\"" -D__COMPILE_REVISION="\"svn:17462\"" 
> -D__DATA_DIR="\"/home/zhou_huiqun/Cookplate/cp2k-4.1/data\"" 
> -L/home/zhou_huiqun/Cookplate/cp2k-4.1/lib/unclecuda-gnu/ssmp -o 
> /home/zhou_huiqun/Cookplate/cp2k-4.1/exe/unclecuda-gnu/cp2k.ssmp cp2k.o  
> -lcp2kstart -lcp2kmc -lcp2kswarm -lcp2kmotion -lcp2kthermostat -lcp2kemd 
> -lcp2ktmc -lcp2kmain -lcp2keri_mme -lcp2kminimax -lcp2khfxbase 
> -lcp2ksubsys -lcp2kxc -lcp2kao -lcp2kinput -lcp2kpw -lcp2kpwcuda 
> -lcp2kfft -lcp2kdbcsrwrap -ldbcsr -ldbcsrarnoldi -ldbcsrvec -ldbcsrmm 
> -ldbcsrops -ldbcsrbblock -ldbcsrbdist -ldbcsrbase -ldbcsrdata -ldbcsrerr 
> -lmicsmm -lclsmm -lcusmm -lcp2kacc -lcp2kaccmic -lcp2kaccopencl 
> -lcp2kacccuda -lcp2kfm -lcp2kcommon -lcp2kmpiwrap -lcp2kgrid -lcp2kbase 
> -L/usr/local/cuda/lib64 -lcudart -lcublas -lcufft -lrt 
> /usr/lib64/libopenblas.a /usr/local/libxc/lib/libxcf90.a 
> /usr/local/libxc/lib/libxc.a /usr/local/libint/lib/libderiv.a 
> /usr/local/libint/lib/libint.a
> /home/zhou_huiqun/Cookplate/cp2k-4.1/lib/unclecuda-gnu/ssmp/libcp2kpw.a(pw_cuda.o): 
> In function `__pw_cuda_MOD_pw_cuda_f':
> pw_cuda.F:(.text+0x6c): undefined reference to `pw_cuda_f_z_'
> /home/zhou_huiqun/Cookplate/cp2k-4.1/lib/unclecuda-gnu/ssmp/libcp2kpw.a(pw_cuda.o): 
> In function `__pw_cuda_MOD_pw_cuda_sf':
> pw_cuda.F:(.text+0x1ef): undefined reference to `pw_cuda_sf_z_'
> /home/zhou_huiqun/Cookplate/cp2k-4.1/lib/unclecuda-gnu/ssmp/libcp2kpw.a(pw_cuda.o): 
> In function `__pw_cuda_MOD_pw_cuda_fg':
> pw_cuda.F:(.text+0x36e): undefined reference to `pw_cuda_fg_z_'
> /home/zhou_huiqun/Cookplate/cp2k-4.1/lib/unclecuda-gnu/ssmp/libcp2kpw.a(pw_cuda.o): 
> In function `__pw_cuda_MOD_pw_cuda_c1dr3d_3d_ps':
> pw_cuda.F:(.text+0x3673): undefined reference to `pw_cuda_fc_z_'
> pw_cuda.F:(.text+0x3b6e): undefined reference to `pw_cuda_ffc_z_'
> /home/zhou_huiqun/Cookplate/cp2k-4.1/lib/unclecuda-gnu/ssmp/libcp2kpw.a(pw_cuda.o): 
> In function `__pw_cuda_MOD_pw_cuda_r3dc1d_3d_ps':
> pw_cuda.F:(.text+0x6ca5): undefined reference to `pw_cuda_cf_z_'
> pw_cuda.F:(.text+0x7336): undefined reference to `pw_cuda_cff_z_'
> /home/zhou_huiqun/Cookplate/cp2k-4.1/lib/unclecuda-gnu/ssmp/libcp2kpw.a(pw_cuda.o): 
> In function `__pw_cuda_MOD_pw_cuda_c1dr3d_3d':
> pw_cuda.F:(.text+0x779c): undefined reference to `pw_cuda_sfffc_z_'
> /home/zhou_huiqun/Cookplate/cp2k-4.1/lib/unclecuda-gnu/ssmp/libcp2kpw.a(pw_cuda.o): 
> In function `__pw_cuda_MOD_pw_cuda_r3dc1d_3d':
> pw_cuda.F:(.text+0x79d0): undefined reference to `pw_cuda_cfffg_z_'
> /home/zhou_huiqun/Cookplate/cp2k-4.1/lib/unclecuda-gnu/ssmp/libcp2kpw.a(pw_cuda.o): 
> In function `__pw_cuda_MOD_pw_cuda_init':
> pw_cuda.F:(.text+0x7a55): undefined reference to `pw_cuda_init'
> /home/zhou_huiqun/Cookplate/cp2k-4.1/lib/unclecuda-gnu/ssmp/libcp2kpw.a(pw_cuda.o): 
> In function `__pw_cuda_MOD_pw_cuda_finalize':
> pw_cuda.F:(.text+0x7a41): undefined reference to `pw_cuda_finalize'
> collect2: error: ld returned 1 exit status
> 
> -- 
> You received this message because you are subscribed to the Google 
> Groups "cp2k" group.
> To unsubscribe from this group and stop receiving emails from it, send 
> an email to cp2k+uns... at googlegroups.com 
> <mailto:cp2k+uns... at googlegroups.com>.
> To post to this group, send email to cp... at googlegroups.com 
> <mailto:cp... at googlegroups.com>.
> Visit this group at https://groups.google.com/group/cp2k.
> For more options, visit https://groups.google.com/d/optout.

-- 
Tiziano Müller
University of Zurich
Department of Chemistry
Winterthurerstrasse 190
CH-8057 Zürich

Tel: +41 44 63 54234
www.chem.uzh.ch
tiziano... at chem.uzh.ch



More information about the CP2K-user mailing list