[CP2K:8300] Problem in Compiling CUDA Version of CP2K 4.1
Ole Schütt
o... at schuett.name
Tue Oct 25 22:37:55 UTC 2016
Dear Chi-Duen,
the problem with Cuda 8.0 has been fixed in SVN revision 17473.
Unfortunately, the issue only came to our attention shortly after the
CP2K 4.1 release.
-Ole
On 2016-10-25 21:27, Chi-Duen Poon wrote:
> I have no problem compiling sopt and ssmp of CP2K 4.1 in CentOS 7.2.
> However, I am getting the following error to add CUDA support.
> CUDA is at version 8.0.
>
> <command-line>:0:0: warning: "__GNUC_MINOR__" redefined [enabled by
> default]
> <built-in>:0:0: note: this is the location of the previous definition
> 1 error detected in the compilation of
> "/tmp/tmpxft_000031e7_00000000-5_libcusmm_part03.cpp4.ii".
> make[3]: *** [libcusmm_part03.o] Error 2
> /nas02/data/thl/packages/el7/BUILD/x86_64/cp2k-4.1/src/dbcsr/libsmm_acc/libcusmm/./kernels/cusmm_common.h(15):
> error: function "atomicAdd(double *, double)" has already been defined
>
> /nas02/data/thl/packages/el7/BUILD/x86_64/cp2k-4.1/src/dbcsr/libsmm_acc/libcusmm/./kernels/cusmm_common.h(15):
> error: function "atomicAdd(double *, double)" has already been defined
>
> /nas02/data/thl/packages/el7/BUILD/x86_64/cp2k-4.1/src/dbcsr/libsmm_acc/libcusmm/./kernels/cusmm_common.h(15):
> error: function "atomicAdd(double *, double)" has already been defined
>
> 1 error detected in the compilation of
> "/tmp/tmpxft_0000321b_00000000-5_libcusmm_part05.cpp4.ii".
> make[3]: *** [libcusmm_part05.o] Error 2
> 1 error detected in the compilation of
> "/tmp/tmpxft_000031fc_00000000-5_libcusmm_part04.cpp4.ii".
> make[3]: *** [libcusmm_part04.o] Error 2
> 1 error detected in the compilation of
> "/tmp/tmpxft_00003223_00000000-5_libcusmm_part06.cpp4.ii".
> make[3]: *** [libcusmm_part06.o] Error 2
> make[2]: *** [all] Error 2
> make[1]: *** [ssmp] Error 2
> make: *** [all] Error 2
>
> The arch file has the following listing.
>
> CC = gcc
> CXX = g++
> CPP =
> AR = ar -r
> FC = gfortran
> LD = gfortran
> #
> DFLAGS = -D__ACC -D__DBCSR_ACC -D__PW_CUDA -D__LIBXSMM
> -D__FFTW3 -D__LIBINT -D__LIBINT_MAX_AM=6 -D__LIBDERIV_MAX_AM1=5
> -D__LIBXC
> #
> WFLAGS = -Werror=aliasing -Werror=ampersand
> -Werror=c-binding-type -Werror=intrinsic-shadow -Werror=intrinsics-std
> -Werror=line-truncation -Werror=tabs -Werror=realloc-lhs-all
> -Werror=target-lifetime -Werror=underflow
> -Werror=unused-but-set-variable -Werror=unused-variable
> -Werror=unused-dummy-argument -Werror=conversion -Werror=uninitialized
> -Wno-maybe-uninitialized
> #
> FCDEBFLAGS = -ffree-form -std=f2003 -fimplicit-none
> CFLAGS = -march=native -fno-omit-frame-pointer -g -O3
> -funroll-loops -ffast-math $(PROFOPT) -fopenmp $(DFLAGS)
> FCFLAGS = -march=native -fno-omit-frame-pointer -g -O3
> -funroll-loops -ffast-math $(PROFOPT) -fopenmp $(FCDEBFLAGS) $(WFLAGS)
> $(DFLAGS) -I'/usr/lib64/gfortran/modules'
> #
> LDFLAGS = $(FCFLAGS) -Wl,--enable-new-dtags
> CUDAPATH = /usr/local/cuda/lib64/
> LIBS = -lxsmmf -lxsmm -lxcf90 -lxc -lderiv -lint -lfftw3
> -lfftw3_omp -lopenblaso -lstdc++ $(CUDAPATH)/libcudart.so
> $(CUDAPATH)/libcufft.so $(CUDAPATH)/libcublas.so -lrt
> #
> NVCC = /usr/local/cuda/bin/nvcc -D__GNUC__=4
> -D__GNUC_MINOR__=9 -Xcompiler=--std=gnu++98
> NVFLAGS = -arch sm_35 $(DFLAGS)
>
> Has anyone seen this before? If you have, how would you fix the
> problem? It looks like it has something to do with libcusmm.
>
> CD.
>
> --
> 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.
> To post to this group, send email to cp... at googlegroups.com.
> Visit this group at https://groups.google.com/group/cp2k [1].
> For more options, visit https://groups.google.com/d/optout [2].
>
>
> Links:
> ------
> [1] https://groups.google.com/group/cp2k
> [2] https://groups.google.com/d/optout
More information about the CP2K-user
mailing list