Не удалось обнаружить устройство с поддержкой CUDA в графическом процессоре Opencv

Привет,

Я пытаюсь использовать Opencv GPU с CUDA. Я использовал CMake для компиляции opencv 2.3.1 с cuda 4.0. Но когда я пытаюсь использовать функцию cv::gpu:getCudaEnabledDevice(), она возвращает мне ноль, что означает отсутствие доступного устройства .

Хотя в моей системе есть графический процессор с поддержкой CUDA. Кто-нибудь, пожалуйста, помогите мне с этим, я много пробовал, в cmake он показывает, что CUDA_SDK_ROOT_CIR не найден. Какой путь следует указать здесь?

Заранее спасибо,


person user1393349    schedule 21.05.2012    source источник
comment
дублирующий вопрос stackoverflow.com/ вопросы/10613809/   -  person john ktejik    schedule 28.12.2012


Ответы (3)


Вам следует обновить драйвер NVIDIA до последней версии с здесь

person jwdmsd    schedule 21.05.2012
comment
Спасибо за ваш ответ. opencv 2.3.1 поддерживает только cuda 4.0, и я уже загрузил последний набор инструментов, совместимый с cuda 4.0. - person user1393349; 21.05.2012
comment
OpenCV 2.4 поддерживает набор инструментов 4.1 и 4.2. Однако CUDA обратно совместима, я думаю, вам просто нужно обновить драйвер графического процессора. - person jwdmsd; 21.05.2012
comment
Доступна ли полная версия OpenCv 2.4 или это только бета-версия? И имеет ли значение, что у меня должна быть последняя версия, поскольку я использую OpenCv 2.3.1, который совместим с cuda 4.0. Также не могли бы вы рассказать мне, что означает CUDA_SDK_ROOT_DIR и почему opencv не может обнаружить устройство с поддержкой cuda? - person user1393349; 21.05.2012
comment
Окончательная версия OpenCV 2.4 была выпущена 1 мая 2012 года. Загрузите ее здесь - person sgarizvi; 21.05.2012
comment
CUDA_SDK_ROOT_DIR — это путь к корневому каталогу установки CUDA SDK. - person jwdmsd; 21.05.2012
comment
означает C:\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.0 (64-разрядная) ИЛИ C:\NVIDIA Corporation ИЛИ C:\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.0 (64-разрядная)\C ИЛИ C:\ Что из этого? - person user1393349; 21.05.2012

Вы уверены, что ваш графический процессор с поддержкой cuda не проиндексирован как нулевое устройство? Кроме того, попробуйте выполнить примеры cuda SDK, чтобы проверить правильность настройки cuda.

person fflannery    schedule 22.05.2012

Следуйте контрольному списку:

  1. Проверьте версию проприетарного видеодрайвера.
  2. Проверьте бинарник, который вы скомпилировали с помощью ldd — библиотеки на месте?
  3. В примерах CUDA скомпилируйте и запустите deviceQuery - проверьте вывод
  4. Используйте устройство в выделенном режиме, т.е. если вы используете X11, проверьте конфиг, что любые ссылки на драйвер nvidia и т. д. полностью удалены отсюда.
  5. Скомпилируйте X11 и дополнительные библиотеки из исходников, НЕ берите их из предварительно скомпилированных бинарных пакетов.

Этот контрольный список точно охватывает 80% почтовых функций CUDA — проверял сам.

person Alexey Vesnin    schedule 03.11.2013