Re: [deal.II] Problem compiling deal.II with CUDA

2023-05-01 Thread Daniel Arndt
Sean,

we removed the implementation for atomic add for doubles for nvcc < 8 and
compute capability < 6 in https://github.com/dealii/dealii/pull/10298
(maybe in error). I would expect that you could the code in that pull
request as a patch.

Best,
Daniel

On Sat, Apr 29, 2023 at 1:46 PM Sean Johnson  wrote:

> Hey everyone,
>
> Sorry I have been working on this problem for a few day. I believe the
> problem is with the mating of deal.II and CUDA because after installing
> CUDA it passed all the post installation tests. The error mentions the
> atomicAdd() function for doubles which is only for compute capability 6.x+
> according to CUDA and my gpu is 5.0 but deal.II says it only needs compute
> capability of 3.2+ so I figure the problem isn't that simple. Below is the
> error code and attached are the log files.
>
> Thanks for any help ahead of time! And sorry if there is anything I missed
> to include as this is my first post on here. I will correct it as soon as I
> can when notified. Thank you again!
>
> Building CUDA object
> source/lac/CMakeFiles/obj_lac_release.dir/cuda_kernels.cu.o
> nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35',
> 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a
> future release (Use -Wno-deprecated-gpu-targets to suppress warning).
> /home/sjohnson/Downloads/dealii-9.4.1/include/deal.II/lac/cuda_atomic.h(54):
> error: no instance of overloaded function "atomicAdd" matches the argument
> list
> argument types are: (double *, double)
>
> /home/sjohnson/Downloads/dealii-9.4.1/include/deal.II/lac/cuda_kernels.templates.h(96):
> error: no instance of overloaded function "atomicAdd" matches the argument
> list
> argument types are: (double *, const double)
>   detected during instantiation of "Number
> dealii::LinearAlgebra::CUDAWrappers::kernel::ElemSum::atomic_op(Number
> *, Number) [with Number=double]"
> /home/sjohnson/Downloads/dealii-9.4.1/source/lac/cuda_kernels.cu(160):
> here
>
> /home/sjohnson/Downloads/dealii-9.4.1/include/deal.II/lac/cuda_kernels.templates.h(132):
> error: no instance of overloaded function "atomicAdd" matches the argument
> list
> argument types are: (double *, const double)
>   detected during instantiation of "Number
> dealii::LinearAlgebra::CUDAWrappers::kernel::L1Norm::atomic_op(Number
> *, Number) [with Number=double]"
> /home/sjohnson/Downloads/dealii-9.4.1/source/lac/cuda_kernels.cu(161):
> here
>
> /home/sjohnson/Downloads/dealii-9.4.1/include/deal.II/lac/cuda_kernels.templates.h(272):
> error: no instance of overloaded function "atomicAdd" matches the argument
> list
> argument types are: (double *, const double)
>   detected during instantiation of "Number
> dealii::LinearAlgebra::CUDAWrappers::kernel::DotProduct::atomic_op(Number
> *, Number) [with Number=double]"
> /home/sjohnson/Downloads/dealii-9.4.1/source/lac/cuda_kernels.cu(175):
> here
>
> 4 errors detected in the compilation of
> "/home/sjohnson/Downloads/dealii-9.4.1/source/lac/cuda_kernels.cu".
> make[2]: *** [source/lac/CMakeFiles/obj_lac_release.dir/build.make:583:
> source/lac/CMakeFiles/obj_lac_release.dir/cuda_kernels.cu.o] Error 1
> make[1]: *** [CMakeFiles/Makefile2:3790:
> source/lac/CMakeFiles/obj_lac_release.dir/all] Error 2
> make: *** [Makefile:130: all] Error 2
>
> --
> The deal.II project is located at http://www.dealii.org/
> For mailing list/forum options, see
> https://groups.google.com/d/forum/dealii?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "deal.II User Group" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to dealii+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/dealii/eb4eb66d-b139-4d5e-b33b-859e9838a119n%40googlegroups.com
> 
> .
>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/CAOYDWbL8gv%3Dj7XR0rmHRySbS%3D79SFNh9UgaM%3DW9oLVVKcAnZDA%40mail.gmail.com.


[deal.II] Problem compiling deal.II with CUDA

2023-04-29 Thread Sean Johnson
Hey everyone,

Sorry I have been working on this problem for a few day. I believe the 
problem is with the mating of deal.II and CUDA because after installing 
CUDA it passed all the post installation tests. The error mentions the 
atomicAdd() function for doubles which is only for compute capability 6.x+ 
according to CUDA and my gpu is 5.0 but deal.II says it only needs compute 
capability of 3.2+ so I figure the problem isn't that simple. Below is the 
error code and attached are the log files.

Thanks for any help ahead of time! And sorry if there is anything I missed 
to include as this is my first post on here. I will correct it as soon as I 
can when notified. Thank you again!

Building CUDA object 
source/lac/CMakeFiles/obj_lac_release.dir/cuda_kernels.cu.o
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 
'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a 
future release (Use -Wno-deprecated-gpu-targets to suppress warning).
/home/sjohnson/Downloads/dealii-9.4.1/include/deal.II/lac/cuda_atomic.h(54): 
error: no instance of overloaded function "atomicAdd" matches the argument 
list
argument types are: (double *, double)

/home/sjohnson/Downloads/dealii-9.4.1/include/deal.II/lac/cuda_kernels.templates.h(96):
 
error: no instance of overloaded function "atomicAdd" matches the argument 
list
argument types are: (double *, const double)
  detected during instantiation of "Number 
dealii::LinearAlgebra::CUDAWrappers::kernel::ElemSum::atomic_op(Number 
*, Number) [with Number=double]" 
/home/sjohnson/Downloads/dealii-9.4.1/source/lac/cuda_kernels.cu(160): here

/home/sjohnson/Downloads/dealii-9.4.1/include/deal.II/lac/cuda_kernels.templates.h(132):
 
error: no instance of overloaded function "atomicAdd" matches the argument 
list
argument types are: (double *, const double)
  detected during instantiation of "Number 
dealii::LinearAlgebra::CUDAWrappers::kernel::L1Norm::atomic_op(Number 
*, Number) [with Number=double]" 
/home/sjohnson/Downloads/dealii-9.4.1/source/lac/cuda_kernels.cu(161): here

/home/sjohnson/Downloads/dealii-9.4.1/include/deal.II/lac/cuda_kernels.templates.h(272):
 
error: no instance of overloaded function "atomicAdd" matches the argument 
list
argument types are: (double *, const double)
  detected during instantiation of "Number 
dealii::LinearAlgebra::CUDAWrappers::kernel::DotProduct::atomic_op(Number
 
*, Number) [with Number=double]" 
/home/sjohnson/Downloads/dealii-9.4.1/source/lac/cuda_kernels.cu(175): here

4 errors detected in the compilation of 
"/home/sjohnson/Downloads/dealii-9.4.1/source/lac/cuda_kernels.cu".
make[2]: *** [source/lac/CMakeFiles/obj_lac_release.dir/build.make:583: 
source/lac/CMakeFiles/obj_lac_release.dir/cuda_kernels.cu.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:3790: 
source/lac/CMakeFiles/obj_lac_release.dir/all] Error 2
make: *** [Makefile:130: all] Error 2

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/eb4eb66d-b139-4d5e-b33b-859e9838a119n%40googlegroups.com.
###
#
#  deal.II configuration:
#CMAKE_BUILD_TYPE:   DebugRelease
#BUILD_SHARED_LIBS:  ON
#CMAKE_INSTALL_PREFIX:   /home/sjohnson
#CMAKE_SOURCE_DIR:   /home/sjohnson/Downloads/dealii-9.4.1
#(version 9.4.1)
#CMAKE_BINARY_DIR:   /home/sjohnson/Downloads/dealii-9.4.1/build
#CMAKE_CXX_COMPILER: GNU 9.4.0 on platform Linux x86_64
#/usr/bin/c++
#C++ language standard:  C++14
#CMAKE_C_COMPILER:   /usr/bin/cc
#CMAKE_Fortran_COMPILER: /usr/bin/gfortran
#CMAKE_GENERATOR:Unix Makefiles
#
#  Base configuration (prior to feature configuration):
#DEAL_II_CXX_FLAGS:-fPIC -Wall -Wextra -Wmissing-braces -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wsuggest-override -Wswitch -Wsynth -Wwrite-strings -Wno-placement-new -Wno-deprecated-declarations -Wno-literal-suffix -Wno-psabi -Wno-class-memaccess -fopenmp-simd
#DEAL_II_CXX_FLAGS_RELEASE:-O2 -funroll-loops -funroll-all-loops -fstrict-aliasing -Wno-unused-local-typedefs
#DEAL_II_CXX_FLAGS_DEBUG:  -O0 -ggdb -Wa,--compress-debug-sections
#DEAL_II_LINKER_FLAGS: -rdynamic -fuse-ld=gold -lpthread -fopenmp
#DEAL_II_LINKER_FLAGS_RELEASE: 
#DEAL_II_LINKER_FLAGS_DEBUG:   -ggdb
#DEAL_II_DEFINITIONS:  
#DEAL_II_DEFINITIONS_RELEASE:  NDEBUG
#DEAL_II_DEFINITIONS_DEBUG: