Opencv с поддержкой CUDA на Visual C++ 2022 Ошибка cv::cudev::blockReduce [закрыто]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Opencv с поддержкой CUDA на Visual C++ 2022 Ошибка cv::cudev::blockReduce [закрыто]

Сообщение Anonymous »

Кто-нибудь знает, как исправить эту ошибку?
Я подписался на https://medium.com/@batuhanhangun/openc ... f2cc145090
Это одна из ошибок.
26>Compiling CUDA source file ..\..\..\opencv_contrib-4.9.0\modules\cudaarithm\src\cuda\mul_scalar.cu...
26>
26>C:\opencv\build_GPU_support\modules\world>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\bin\nvcc.exe" --use-local-env -ccbin "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.39.33519\bin\HostX64\x64" -x cu -IC:\opencv\build_GPU_support\modules\world -IC:\opencv\build_GPU_support\3rdparty\zlib -IC:\opencv\sources\3rdparty\zlib -IC:\opencv\sources\3rdparty\openjpeg\openjp2 -IC:\opencv\build_GPU_support\3rdparty\openjpeg\openjp2 -IC:\opencv\build_GPU_support\3rdparty\libtiff -IC:\opencv\sources\3rdparty\libtiff -IC:\opencv\sources\3rdparty\libpng -IC:\opencv\sources\3rdparty\libwebp\src -I"C:\opencv\build_GPU_support\3rdparty\libjpeg-turbo" -I"C:\opencv\sources\3rdparty\libjpeg-turbo\src" -IC:\opencv\build_GPU_support\3rdparty\ippicv\ippicv_win\icv\include -IC:\opencv\build_GPU_support\3rdparty\ippicv\ippicv_win\iw\include -I"C:\opencv\opencv_contrib-4.9.0\modules\cudev\include" -IC:\opencv\sources\modules\core\include -IC:\opencv\sources\3rdparty\ittnotify\include -IC:\opencv\sources\modules\ts\include -IC:\opencv\sources\modules\imgcodecs\include -IC:\opencv\sources\modules\videoio\include -I"C:\opencv\opencv_contrib-4.9.0\modules\cudaarithm\include" -IC:\opencv\sources\modules\flann\include -IC:\opencv\sources\modules\imgproc\include -I"C:\opencv\opencv_contrib-4.9.0\modules\intensity_transform\include" -IC:\opencv\sources\modules\ml\include -I"C:\opencv\opencv_contrib-4.9.0\modules\phase_unwrapping\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\plot\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\quality\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\reg\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\surface_matching\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\cudafilters\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\cudaimgproc\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\cudawarping\include" -IC:\opencv\sources\modules\dnn\include -I"C:\opencv\opencv_contrib-4.9.0\modules\dnn_superres\include" -IC:\opencv\sources\modules\features2d\include -I"C:\opencv\opencv_contrib-4.9.0\modules\fuzzy\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\hfs\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\line_descriptor\include" -IC:\opencv\sources\modules\photo\include -I"C:\opencv\opencv_contrib-4.9.0\modules\saliency\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\text\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\xphoto\include" -IC:\opencv\sources\modules\calib3d\include -I"C:\opencv\opencv_contrib-4.9.0\modules\cudacodec\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\cudafeatures2d\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\cudastereo\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\datasets\include" -IC:\opencv\sources\modules\highgui\include -I"C:\opencv\opencv_contrib-4.9.0\modules\mcc\include" -IC:\opencv\sources\modules\objdetect\include -I"C:\opencv\opencv_contrib-4.9.0\modules\rapid\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\rgbd\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\shape\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\structured_light\include" -IC:\opencv\sources\modules\video\include -I"C:\opencv\opencv_contrib-4.9.0\modules\wechat_qrcode\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\xfeatures2d\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\ximgproc\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\xobjdetect\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\aruco\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\bgsegm\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\bioinspired\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\ccalib\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\cudabgsegm\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\cudalegacy\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\cudaobjdetect\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\dnn_objdetect\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\dpm\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\face\include" -IC:\opencv\sources\modules\gapi\include -I"C:\opencv\opencv_contrib-4.9.0\modules\optflow\include" -IC:\opencv\sources\modules\stitching\include -I"C:\opencv\opencv_contrib-4.9.0\modules\tracking\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\cudaoptflow\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\stereo\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\superres\include" -I"C:\opencv\opencv_contrib-4.9.0\modules\videostab\include" -IC:\opencv\sources\modules\world\include -IC:\opencv\build_GPU_support\modules\world\test -IC:\opencv\sources\modules\dnn\misc\caffe -IC:\opencv\sources\modules\dnn\misc\tensorflow -IC:\opencv\sources\modules\dnn\misc\onnx -IC:\opencv\sources\modules\dnn\misc\tflite -IC:\opencv\build_GPU_support\downloads\xfeatures2d -IC:\opencv\sources\modules -IC:\opencv\sources\modules\gapi\src -IC:\opencv\sources\modules\gapi\src\3rdparty\vasot\include -I"C:\opencv\build_GPU_support\3rdparty\ade\ade-0.1.2d\sources\ade\include" -I"C:\opencv\build_GPU_support\3rdparty\NVIDIAOpticalFlowSDK_2_0_Headers\NVIDIAOpticalFlowSDK-edb50da3cf849840d680249aa6dbef248ebce2ca" -IC:\opencv\build_GPU_support -IC:\opencv\sources\3rdparty\include\opencl\1.2 -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\include" -IC:\opencv\sources\3rdparty\openexr\Half -IC:\opencv\sources\3rdparty\openexr\Iex -IC:\opencv\sources\3rdparty\openexr\IlmThread -IC:\opencv\sources\3rdparty\openexr\Imath -IC:\opencv\sources\3rdparty\openexr\IlmImf -IC:\opencv\build_GPU_support\3rdparty\openexr -IC:\opencv\sources\modules\world\PRIVATE -IC:\opencv\sources\3rdparty\flatbuffers\include -IC:\opencv\sources\3rdparty\protobuf\src -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\include" --keep-dir x64\Release -use_fast_math -maxrregcount=0 --machine 64 --compile -cudart static -std=c++14 --generate-code=arch=compute_50,code=[sm_50] -Xcudafe --display_error_number --diag-suppress 1394,1388 -Xcompiler="/EHsc -Ob2 /Gy /bigobj /Oi /fp:fast /wd4127 /wd4251 /wd4324 /wd4275 /wd4512 /wd4589 /wd4819 /MP -openmp /wd4189 /wd4505 /wd4127 /wd4324 /wd4512 /wd4127 /wd4324 /wd4512 /wd4127 /wd4100 /wd4324 /wd4512 /wd4515 /wd4127 /wd4324 /wd4512 /wd4244 /wd4267 /wd4018 /wd4355 /wd4800 /wd4251 /wd4996 /wd4146 /wd4305 /wd4127 /wd4100 /wd4512 /wd4125 /wd4389 /wd4510 /wd4610 /wd4702 /wd4456 /wd4457 /wd4065 /wd4310 /wd4661 /wd4506 /wd4125 /wd4267 /wd4127 /wd4244 /wd4512 /wd4702 /wd4456 /wd4510 /wd4610 /wd4800 /wd4701 /wd4703 /wd4505 /wd4458 /wd4127 /wd4324 /wd4512 /wd4127 /wd4100 /wd4324 /wd4512 /wd4515 /wd4127 /wd4324 /wd4512 /wd4267 /wd4127 /wd4324 /wd4512 /wd4127 /wd4130 /wd4324 /wd4512 /wd4310 /wd4127 /wd4324 /wd4512 /wd4512 /wd4458 /wd4127 /wd4324 /wd4512 /Ob2" -D_WINDOWS -DNDEBUG -D_FORCE_INLINES -DCVAPI_EXPORTS -DWIN32 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -DCV_OCL4DNN=1 -DCV_CUDA4DNN=1 -DHAVE_PROTOBUF=1 -DENABLE_PLUGINS -DNO_ICONV=1 -DOPENCV_WITH_ITT=1 -DHAVE_DIRECTML=1 -DOPENCV_MODULE_IS_PART_OF_WORLD=1 -D_VARIADIC_MAX=10 -D_WIN32_WINNT=0x0601 -D"OPENCV_ALLOCATOR_STATS_COUNTER_TYPE=long long" -D_CRT_SECURE_NO_WARNINGS=1 -D_HFS_CUDA_ON_ -DHAVE_WEBP -DHAVE_IMGCODEC_HDR -DHAVE_IMGCODEC_SUNRASTER -DHAVE_IMGCODEC_PXM -DHAVE_IMGCODEC_PFM -DHAVE_NVIDIA_OPTFLOW=2 -D_USE_MATH_DEFINES -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_FORMAT_MACROS -D__OPENCV_BUILD=1 -DHAVE_FLATBUFFERS=1 -DOPJ_STATIC -DHAVE_DSHOW -DHAVE_MSMF -DHAVE_MSMF_DXVA -DHAVE_FFMPEG_WRAPPER -DHAVE_OBSENSOR -DHAVE_OBSENSOR_MSMF -DHAVE_WIN32UI -D"CMAKE_INTDIR=\"Release\"" -D_WINDLL -D_MBCS -DWIN32 -D_WINDOWS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -DNDEBUG -DCV_OCL4DNN=1 -DCV_CUDA4DNN=1 -DHAVE_PROTOBUF=1 -DENABLE_PLUGINS -DNO_ICONV=1 -DOPENCV_WITH_ITT=1 -DHAVE_DIRECTML=1 -DOPENCV_MODULE_IS_PART_OF_WORLD=1 -D_VARIADIC_MAX=10 -D_WIN32_WINNT=0x0601 -D"OPENCV_ALLOCATOR_STATS_COUNTER_TYPE=long long" -D_CRT_SECURE_NO_WARNINGS=1 -D_HFS_CUDA_ON_ -DHAVE_WEBP -DHAVE_IMGCODEC_HDR -DHAVE_IMGCODEC_SUNRASTER -DHAVE_IMGCODEC_PXM -DHAVE_IMGCODEC_PFM -DHAVE_NVIDIA_OPTFLOW=2 -D_USE_MATH_DEFINES -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_FORMAT_MACROS -D__OPENCV_BUILD=1 -DHAVE_FLATBUFFERS=1 -DOPJ_STATIC -DHAVE_DSHOW -DHAVE_MSMF -DHAVE_MSMF_DXVA -DHAVE_FFMPEG_WRAPPER -DHAV
26>lut.cu
26>integral.cu
26>C:\opencv\opencv_contrib-4.9.0\modules\cudev\include\opencv2\cudev\grid\detail/reduce.hpp(379): error : no instance of overloaded function "cv::cudev::blockReduce" matches the argument list
26> argument types are: (cuda::std::__4::tuple, cuda::std::__4::tuple, int, cuda::std::__4::tuple)
26> blockReduce(smem_tuple(sminval, smaxval), tie(mymin, mymax), tid, make_tuple(minOp, maxOp));
26> ^
26>C:\opencv\opencv_contrib-4.9.0\modules\cudev\include\opencv2\cudev/block/reduce.hpp(72): note #3327-D: candidate function template "cv::cudev::blockReduce(const thrust::THRUST_200302_500_NS::tuple &, const thrust::THRUST_200302_500_NS::tuple &, uint, const thrust::THRUST_200302_500_NS::tuple &)" failed deduction
26> __declspec(__device__) __forceinline void blockReduce(const tuple& smem,
26> ^
26>C:\opencv\opencv_contrib-4.9.0\modules\cudev\include\opencv2\cudev/block/reduce.hpp(63): note #3327-D: candidate function template "cv::cudev::blockReduce(volatile T *, T &, uint, const Op &)" failed deduction
26> __declspec(__device__) __forceinline void blockReduce(volatile T* smem, T& val, uint tid, const Op& op)
26> ^
26> detected during:
26> instantiation of "void cv::cudev::grid_reduce_detail::MinMaxReductor::reduceGrid(work_type *, int) [with src_type=uchar, work_type=int, BLOCK_SIZE=256]" at line 412
26> instantiation of "void cv::cudev::grid_reduce_detail::reduce(SrcPtr, ResType *, MaskPtr, int, int) [with Reductor=cv::cudev::grid_reduce_detail::MinMaxReductor, BLOCK_SIZE=256, PATCH_X=4, PATCH_Y=4, SrcPtr=cv::cudev::GlobPtr, ResType=int, MaskPtr=cv::cudev::WithOutMask]" at line 421
26> instantiation of "void cv::cudev::grid_reduce_detail::reduce(const SrcPtr &, ResType *, const MaskPtr &, int, int, cudaStream_t) [with Reductor=cv::cudev::grid_reduce_detail::MinMaxReductor, Policy=cv::cudev::DefaultGlobReducePolicy, SrcPtr=cv::cudev::GlobPtr, ResType=int, MaskPtr=cv::cudev::WithOutMask]" at line 460
26> instantiation of "void cv::cudev::grid_reduce_detail::minMaxVal(const SrcPtr &, ResType *, const MaskPtr &, int, int, cudaStream_t) [with Policy=cv::cudev::DefaultGlobReducePolicy, SrcPtr=cv::cudev::GlobPtr, ResType=int, MaskPtr=cv::cudev::WithOutMask]" at line 206 of C:\opencv\opencv_contrib-4.9.0\modules\cudev\include\opencv2\cudev/grid/reduce.hpp
26> instantiation of "void cv::cudev::gridFindMinMaxVal_(const SrcPtr &, cv::cudev::GpuMat_ &, cv::cuda::Stream &) [with Policy=cv::cudev::DefaultGlobReducePolicy, SrcPtr=cv::cudev::GpuMat_, ResType=int]" at line 349 of C:\opencv\opencv_contrib-4.9.0\modules\cudev\include\opencv2\cudev/grid/reduce.hpp
26> instantiation of "void cv::cudev::gridFindMinMaxVal(const SrcPtr &, cv::cudev::GpuMat_ &, cv::cuda::Stream &) [with SrcPtr=cv::cudev::GpuMat_, ResType=int]" at line 68 of C:\opencv\opencv_contrib-4.9.0\modules\cudaarithm\src\cuda\minmax.cu
26> instantiation of "void ::minMaxImpl(const cv::cuda::GpuMat &, const cv::cuda::GpuMat &, cv::cuda::GpuMat &, cv::cuda::Stream &) [with T=uchar, R=int]" at line 92 of C:\opencv\opencv_contrib-4.9.0\modules\cudaarithm\src\cuda\minmax.cu
26>
26>C:\opencv\opencv_contrib-4.9.0\modules\cudev\include\opencv2\cudev\grid\detail/reduce.hpp(379): error : no instance of overloaded function "cv::cudev::blockReduce" matches the argument list
26> argument types are: (cuda::std::__4::tuple, cuda::std::__4::tuple, int, cuda::std::__4::tuple)
26> blockReduce(smem_tuple(sminval, smaxval), tie(mymin, mymax), tid, make_tuple(minOp, maxOp));
26> ^
26>C:\opencv\opencv_contrib-4.9.0\modules\cudev\include\opencv2\cudev/block/reduce.hpp(72): note #3327-D: candidate function template "cv::cudev::blockReduce(const thrust::THRUST_200302_500_NS::tuple &, const thrust::THRUST_200302_500_NS::tuple &, uint, const thrust::THRUST_200302_500_NS::tuple &)" failed deduction
26> __declspec(__device__) __forceinline void blockReduce(const tuple& smem,
26> ^
26>C:\opencv\opencv_contrib-4.9.0\modules\cudev\include\opencv2\cudev/block/reduce.hpp(63): note #3327-D: candidate function template "cv::cudev::blockReduce(volatile T *, T &, uint, const Op &)" failed deduction
26> __declspec(__device__) __forceinline void blockReduce(volatile T* smem, T& val, uint tid, const Op& op)
26> ^
26> detected during:
26> instantiation of "void cv::cudev::grid_reduce_detail::MinMaxReductor::reduceGrid(work_type *, int) [with src_type=schar, work_type=int, BLOCK_SIZE=256]" at line 412
26> instantiation of "void cv::cudev::grid_reduce_detail::reduce(SrcPtr, ResType *, MaskPtr, int, int) [with Reductor=cv::cudev::grid_reduce_detail::MinMaxReductor, BLOCK_SIZE=256, PATCH_X=4, PATCH_Y=4, SrcPtr=cv::cudev::GlobPtr, ResType=int, MaskPtr=cv::cudev::WithOutMask]" at line 421
26> instantiation of "void cv::cudev::grid_reduce_detail::reduce(const SrcPtr &, ResType *, const MaskPtr &, int, int, cudaStream_t) [with Reductor=cv::cudev::grid_reduce_detail::MinMaxReductor, Policy=cv::cudev::DefaultGlobReducePolicy, SrcPtr=cv::cudev::GlobPtr, ResType=int, MaskPtr=cv::cudev::WithOutMask]" at line 460
26> instantiation of "void cv::cudev::grid_reduce_detail::minMaxVal(const SrcPtr &, ResType *, const MaskPtr &, int, int, cudaStream_t) [with Policy=cv::cudev::DefaultGlobReducePolicy, SrcPtr=cv::cudev::GlobPtr, ResType=int, MaskPtr=cv::cudev::WithOutMask]" at line 206 of C:\opencv\opencv_contrib-4.9.0\modules\cudev\include\opencv2\cudev/grid/reduce.hpp
26> instantiation of "void cv::cudev::gridFindMinMaxVal_(const SrcPtr &, cv::cudev::GpuMat_ &, cv::cuda::Stream &) [with Policy=cv::cudev::DefaultGlobReducePolicy, SrcPtr=cv::cudev::GpuMat_, ResType=int]" at line 349 of C:\opencv\opencv_contrib-4.9.0\modules\cudev\include\opencv2\cudev/grid/reduce.hpp
26> instantiation of "void cv::cudev::gridFindMinMaxVal(const SrcPtr &, cv::cudev::GpuMat_ &, cv::cuda::Stream &) [with SrcPtr=cv::cudev::GpuMat_, ResType=int]" at line 68 of C:\opencv\opencv_contrib-4.9.0\modules\cudaarithm\src\cuda\minmax.cu
26> instantiation of "void ::minMaxImpl(const cv::cuda::GpuMat &, const cv::cuda::GpuMat &, cv::cuda::GpuMat &, cv::cuda::Stream &) [with T=schar, R=int]" at line 93 of C:\opencv\opencv_contrib-4.9.0\modules\cudaarithm\src\cuda\minmax.cu
26>

Followed the instruction closely, tried cmake command line as well.
No success.


Подробнее здесь: https://stackoverflow.com/questions/783 ... duce-error
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»