<div dir="ltr">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.<div><br></div><div><div><command-line>:0:0: warning: "__GNUC_MINOR__" redefined [enabled by default]</div><div><built-in>:0:0: note: this is the location of the previous definition</div><div>1 error detected in the compilation of "/tmp/tmpxft_000031e7_00000000-5_libcusmm_part03.cpp4.ii".</div><div>make[3]: *** [libcusmm_part03.o] Error 2</div><div>/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</div><div><br></div><div>/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</div><div><br></div><div>/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</div><div><br></div><div>1 error detected in the compilation of "/tmp/tmpxft_0000321b_00000000-5_libcusmm_part05.cpp4.ii".</div><div>make[3]: *** [libcusmm_part05.o] Error 2</div><div>1 error detected in the compilation of "/tmp/tmpxft_000031fc_00000000-5_libcusmm_part04.cpp4.ii".</div><div>make[3]: *** [libcusmm_part04.o] Error 2</div><div>1 error detected in the compilation of "/tmp/tmpxft_00003223_00000000-5_libcusmm_part06.cpp4.ii".</div><div>make[3]: *** [libcusmm_part06.o] Error 2</div><div>make[2]: *** [all] Error 2</div><div>make[1]: *** [ssmp] Error 2</div><div>make: *** [all] Error 2</div></div><div><br></div><div>The arch file has the following listing.</div><div><br></div><div><div>CC          = gcc</div><div>CXX         = g++</div><div>CPP         =</div><div>AR          = ar -r</div><div>FC          = gfortran</div><div>LD          = gfortran</div><div>#</div><div>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  </div><div>#</div><div>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  </div><div>#</div><div>FCDEBFLAGS  = -ffree-form -std=f2003 -fimplicit-none </div><div>CFLAGS      = -march=native -fno-omit-frame-pointer -g  -O3 -funroll-loops -ffast-math $(PROFOPT) -fopenmp $(DFLAGS)</div><div>FCFLAGS     = -march=native -fno-omit-frame-pointer -g  -O3 -funroll-loops -ffast-math $(PROFOPT) -fopenmp $(FCDEBFLAGS) $(WFLAGS) $(DFLAGS) -I'/usr/lib64/gfortran/modules'</div><div>#</div><div>LDFLAGS     = $(FCFLAGS) -Wl,--enable-new-dtags</div><div>CUDAPATH    = /usr/local/cuda/lib64/</div><div>LIBS        = -lxsmmf -lxsmm -lxcf90 -lxc -lderiv -lint -lfftw3 -lfftw3_omp -lopenblaso -lstdc++ $(CUDAPATH)/libcudart.so $(CUDAPATH)/libcufft.so $(CUDAPATH)/libcublas.so -lrt </div><div>#</div><div>NVCC        = /usr/local/cuda/bin/nvcc -D__GNUC__=4 -D__GNUC_MINOR__=9 -Xcompiler=--std=gnu++98</div><div>NVFLAGS     = -arch sm_35 $(DFLAGS)</div></div><div><br></div><div>Has anyone seen this before?  If you have, how would you fix the problem?  It looks like it has something to do with libcusmm.</div><div><br></div><div>CD.</div></div>