Проблемы совместимости OpenCV 3.4, CUDA 9 и возможностей Device Compute - PullRequest
0 голосов
/ 21 апреля 2020

Я хочу создать собственные ядра CUDA, которые будут использовать изображения, читаемые как типы Mat, используя OpenCV. У меня есть несколько вопросов о совместимости CUDA, OpenCV и вычислительных возможностей моего устройства. Я читал из многих мест, но у меня не было четкого ответа.

Устройство: Tesla C2070, вычислительные возможности: 2.0

Версия CUDA: 9.1

Версия OpenCV: 3.4

Теперь, выполняя простой пример CUDA, я столкнулся с этой ошибкой: terminate вызывается после создания экземпляра cv :: Exception what (): OpenCV (3.4.10-dev) / opt / opencv /modules/cudev/include/opencv2/cudev/grid/detail/transform.hpp:334: ошибка: (-217: вызов API Gpu) отсутствует образ ядра для выполнения на устройстве в функции 'call'

Пример:

#include <iostream>
#include "opencv2/opencv.hpp"

int main (int argc, char* argv[])
{
    //Read Two Images 
    cv::Mat h_img1 = cv::imread("cameraman.tif");
    cv::Mat h_img2 = cv::imread("circles.png");
    //Create Memory for storing Images on device
    cv::cuda::GpuMat d_result1,d_img1, d_img2;
    cv::Mat h_result1;
    //Upload Images to device     
    d_img1.upload(h_img1);
    d_img2.upload(h_img2);
    std::cout << "All is good till here" << std::endl;

    cv::cuda::add(d_img1,d_img2, d_result1);

    return 0;
}

Я прочитал это потому, что CUDA 9 не поддерживает вычислительные возможности 2 (источник: Cuda - nv cc - Образ ядра недоступен для выполнения на устройстве. В чем проблема? ).

Мне кажется, мне нужно найти подходящую версию CUDA, которая совместима с OpenCV и вычислительными возможностями моего устройства. Я мог найти список версий CUDA, совместимых с определенной вычислительной возможностью, здесь: https://en.wikipedia.org/wiki/CUDA. Тем не менее, я не вижу списка, говорящего о том, какие версии CUDA и OpenCV совместимы. Есть ли такая вещь? И это мой единственный вариант? Это заняло у меня так много времени, и при установке возникло много проблем, поэтому я хочу убедиться в этом, прежде чем переустановить все.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...