Skip to content

Commit f2854f4

Browse files
Merge pull request #4097 from JohnZhang-Tetra:use_different_namespace_for_cuda_13.2
Use different namespace for cuda 13.2#4097 ### Pull Request Readiness Checklist Hi Alexander, you mentioned we should define the namespace in CMake and keep the original namespace but after reviewing the new CUDA 13.2 namespaces with coworker @daniel-mitchell-tt, we think the new namespace should be used to replace old namespace. CUDA 13.2 namespace: /usr/local/cuda-13.2/targets/sbsa-linux/include/cccl/cuda/std/__internal/namespaces.h:45:# define _CCCL_BEGIN_NAMESPACE_CUDA_STD _LIBCUDACXX_PROLOGUE_INCLUDE_CHECK() namespace cuda::std { inline namespace _LIBCUDACXX_ABI_NAMESPACE { CUDA 12.6 namespace: /usr/local/cuda-12.6/targets/x86_64-linux/include/cuda/std/detail/libcxx/include/__config:1216:# define _LIBCUDACXX_BEGIN_NAMESPACE_STD_NOVERSION namespace cuda { namespace std { Comment Daniel made: #4091 (comment) Fix: #4091 Related to: #4095 (closed PR) See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request - [x] I agree to contribute to the project under Apache 2 License. - [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV - [x] The PR is proposed to the proper branch - [x] There is a reference to the original bug report and related work - [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable Patch to opencv_extra has the same branch name. - [x] The feature is well documented and sample code can be built with the project CMake
1 parent 3544a75 commit f2854f4

File tree

1 file changed

+9
-0
lines changed
  • modules/cudev/include/opencv2/cudev/ptr2d

1 file changed

+9
-0
lines changed

modules/cudev/include/opencv2/cudev/ptr2d/zip.hpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,12 @@ template <class PtrTuple> struct PtrTraits< ZipPtrSz<PtrTuple> > : PtrTraitsBase
179179
}}
180180

181181
#if defined(__CUDACC_VER_MAJOR__) && (__CUDACC_VER_MAJOR__ > 12 || (__CUDACC_VER_MAJOR__ == 12 && __CUDACC_VER_MINOR__ >= 4))
182+
#if (__CUDACC_VER_MAJOR__ > 13 || (__CUDACC_VER_MAJOR__ == 13 && __CUDACC_VER_MINOR__ >= 2))
183+
_CCCL_BEGIN_NAMESPACE_CUDA_STD
184+
#else
182185
_LIBCUDACXX_BEGIN_NAMESPACE_STD
186+
#endif
187+
183188

184189
template< class... Types >
185190
struct tuple_size< cv::cudev::ZipPtr<tuple<Types...> > >
@@ -198,7 +203,11 @@ template<size_t N, class... Types >
198203
struct tuple_element<N, cv::cudev::ZipPtrSz<tuple<Types...> > >
199204
: tuple_element<N, tuple<Types...> > { };
200205

206+
#if (__CUDACC_VER_MAJOR__ > 13 || (__CUDACC_VER_MAJOR__ == 13 && __CUDACC_VER_MINOR__ >= 2))
207+
_CCCL_END_NAMESPACE_CUDA_STD
208+
#else
201209
_LIBCUDACXX_END_NAMESPACE_STD
210+
#endif
202211

203212
#endif
204213
#endif

0 commit comments

Comments
 (0)