Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Which OpenCV and CUDA versions are compatible?

Hello, I want to make custom CUDA kernels that will use images read as Mat types using OpenCV. I have some questions about compatibility of CUDA, OpenCV and my device’s compute capability. I’ve read from many places but I have not had a clear answer. Device: Name: Tesla C2070 Compute capability: 2.0

CUDA version: 9.1

OpenCV version: 3.4

Now, while running a simple CUDA example I came across this error: terminate called after throwing an instance of 'cv::Exception' what(): OpenCV(3.4.10-dev) /opt/opencv/modules/cudev/include/opencv2/cudev/grid/detail/transform.hpp:334: error: (-217:Gpu API call) no kernel image is available for execution on the device in function 'call'

I read here it’s because CUDA 9 doesn’t support compute capability 2 (source: https://stackoverflow.com/questions/55538036/cuda-nvcc-no-kernel-image-is-available-for-execution-on-the-device-what-is ).

To me, it seems I need to find an appropriate version of CUDA that is both compatible with OpenCV and my device’s compute capability I could find a list of versions of CUDA compatible with a certain compute capability here: https://en.wikipedia.org/wiki/CUDA. However, I see no list saying which CUDA and OpenCV versions are compatible. Is there any such thing? And is this my only option left?