
У меня есть плата разработки NVidia Jetson TK1 (ARM Cortex A15) с графическим процессором Keplar, поддерживающим CUDA. Я хочу сделать на ней ту же обработку изображений с OpenCV 3.0, используя CUDA.
Читая документацию NVidida, я узнал, что CUDA можно установить только на поддерживаемых дистрибутивах Linux. Проблема в том, что я не использую ОС Ubuntu, которая идет в комплекте, а легковесную встроенную ОС, которую я кросс-компилировал с помощью Yocto Project. OpenCV скомпилирован и установлен с поддержкой CUDA, но он не может использовать графические процессоры.
Но я знаю, что это возможно, потому что кто-то в списке рассылки уже делал это раньше.Здесьэто разговор. Все, что мне нужно сделать, это поместить нужные двоичные файлы в нужные места.
Проблема в том, что я не знаю, где взять "предкомпилированный пакет драйверов от nvidia" для моей архитектуры и куда их положить. Любая помощь будет оценена.
решение1
Это возможно. И это легко, если у вас есть apt и dpkg. В моем случае у меня не было ни того, ни другого, и мне пришлось их установить. Перейдите к разделу "Установка CUDA", если у вас уже есть apt.
Вам нужно установить apt install the CUDA binaries. Вам нужно выполнить следующие два шага, чтобы убедиться, что ваш образ имеет apt:
- Убедитесь, что ваше изображение
IMAGE_FEATURES += "package-management"
включено. - В local.conf измените
PACKAGE_CLASSES
наpackage_deb
- Добавить
gnupg
иapt
кCORE_IMAGE_EXTRA_INSTALL
Установка CUDA.
Итак, все, что вам нужно сделать, это загрузить файл .deb для CUDA Toolkit для L4T либо с помощью веб-браузера на устройстве, либо загрузить на свой ПК, а затем скопировать файл на свое устройство с помощью USB-флеш-накопителя или по сети. (Убедитесь, что вы загружаете Toolkit для L4T, а не Toolkit для Ubuntu, поскольку он предназначен для кросс-компиляции, а не для нативной компиляции).
Вам нужно скачать набор инструментов, соответствующий вашей версии L4T. Например, я использую R21.4, поэтому я могу скачать свой сздесь. Наэтотна странице вы найдете исполняемые файлы последней версии.
Теперь установите метаданные репозитория CUDA, которые вы скачали вручную для L4T.
sudo dpkg -i cuda-repo-l4t-<version-you-downloaded>_armhf.deb
Загрузите и установите фактический CUDA Toolkit, включая OpenGL toolkit от NVIDIA. Он загружается всего около 15 МБ. Во второй команде ниже установите "cuda-toolkit-6-0", если вы скачали CUDA 6.0, или "cuda-toolkit-6-5", если вы скачали CUDA 6.5 и т. д.
sudo apt-get update
sudo apt-get install cuda-toolkit-x-x
Добавьте себя в группу «видео», чтобы разрешить доступ к графическому процессору
sudo usermod -a -G video $USER
Добавьте пути 32-битной CUDA в ваш скрипт входа .bashrc и начните использовать его в текущей консоли:
echo "# Add CUDA bin & library paths:" >> ~/.bashrc
echo "export PATH=/usr/local/cuda/bin:$PATH" >> ~/.bashrc
echo "export LD_LIBRARY_PATH=/usr/local/cuda/lib:$LD_LIBRARY_PATH" >> ~/.bashrc
source ~/.bashrc
Наконец, проверьте, установлен ли на вашем устройстве набор инструментов CUDA:
nvcc -V
И вуаля, готово!