[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