Компилировать OpenCV с Cuda не удается - PullRequest
0 голосов
/ 04 ноября 2011

Я пытаюсь собрать OpenCV с функциональностью GPU. Так что мне нужно скомпилировать OpenCV с CUDA. Я скачал opencv, также я установил cuda с учебником http://wiki.accelereyes.com/wiki/index.php/Installing_CUDA_Under_Ubuntu_10.04 на мою Ubuntu.

Когда я пытаюсь cmake -D WITH_CUDA=ON на выходе, он говорит:

Не удалось найти CUDA: найдена неподходящая версия ".", Но требуется на минимум "4.0" (найдено / usr / local / cuda)

эта проблема сводит меня с ума! Я не могу заставить это работать! Я уверен, что все переменные среды и путь являются правильными для CUDA.

Какие решения вы можете придумать?

Ответы [ 2 ]

3 голосов
/ 10 июля 2012

Я сделал этот урок сам (ну, я действительно собрал его).Я попробовал это на Ubuntu 11.10, и я думаю, что это хорошее начало для начинающих, как я.Надеюсь, что он вам пригодится.

1-CUDA не работает с gcc 4.5 или выше, поэтому, если ваша версия gcc выше, вы должны установить gcc 4.4:

$ sudo apt-get install build-essential gcc-4.4 g++-4.4

2 - Теперь загрузите иустановите соответствующий драйвер CUDA:

$ sudo apt-get install \
nvidia-current \
nvidia-current-dev \
nvidia-current-updates \
nvidia-current-updates-dev

3 - Загрузите инструментарий CUDA и SDK с веб-сайта nvidia (http://developer.nvidia.com/cuda-downloads) Обратите внимание, что некоторые версии драйверов CUDA работают только с определенными версиями инструментария (например, драйвер 280.13 работаетс инструментарием 4.0 или ниже). Далее, если вы столкнулись с сообщением об ошибке, указывающим, что драйвер CUDA и время выполнения не совпадают, вам следует вернуться и установить более низкую версию инструментария. Не беспокойтесь во время процесса переустановки, он удалит предыдущийодин, даже если это более высокая версия. Вы можете проверить версию драйвера CUDA по:

$ cat /proc/driver/nvidia/version

Вы можете проверить версию инструментария по:

nvcc –version

4-Copy и установите два.run файлы, которые вы только что скачали: $ Chmod + x (имя файла) $ ./( имя файла)

5-Для компиляции примеров SDK вам также понадобится:

$ sudo apt-get install freeglut3-dev libxi-dev

И создайте эти ссылки

sudo ln -s /usr/lib/libXmu.so.6 /usr/lib/libXmu.so
sudo ln -s /usr/lib/nvidia-173/libGL.so /usr/lib/libGL.so

6 - Добавьте CUDA на свой путь:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH: /usr/local/cuda/lib64

7 - Теперь добавьте пути к библиотекам:

cat /etc/ld.so.conf.d/nvidia_settings.conf  \
/usr/lib/nvidia-setting  \
/usr/local/cuda/lib64 \
/usr/local/cuda/lib

sudo ldconfig

8-Теперь перейдите в папку NVIDIA_GPU_COMPUTING_SDK _... и откройте файл C / common / common.mk с помощью текстового редактора, такого как vim, и измените следующие строки:

LINKFLAGS  +=

На LINKFLAGS + =-L / usr / lib / nvidia-current

И NVCCFLAGS: = Для NVCCFLAGS: = -ccbin /usr/bin/gcc-4.4

9-Наконец, вы должны скомпилировать и запустить примерчтобы подтвердить, что установка завершена.Снова перейдите в папку NVIDIA_GPU_COMPUTING_SDK и запустите make:

sudo make

Для запуска примеров перейдите в NVIDIA_GPU_COMPUTING_SDK / C / bin / linux / release И запустите пример с помощью: ./(name одного из файлов впапка)

10-Позже, когда вы хотите написать свою собственную программу CUDA, вы должны отредактировать один из примеров в папке NVIDIA_GPU_COMPUTING_SDK и скомпилировать его, как вы только что сделали для примеров.

Вотнекоторые сайты, на которые вы можете ссылаться:

Источник1 Источник2

0 голосов
/ 04 ноября 2011

Проверьте значение CUDA_ARCH_BIN. Это должно быть 1.1 1.2 1.3 2.0 или что-то вроде этого.

А также проверьте CUDA_ARCH_PTX и убедитесь, что он правильный и соответствует вашей архитектуре. Теоретически, это может быть ноль, но кто знает?

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