Как использовать NVIDIA CUDA в ОС Linux на базе poky/yocto?

Как использовать NVIDIA CUDA в ОС Linux на базе poky/yocto?

У меня есть плата разработки 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:

  1. Убедитесь, что ваше изображение IMAGE_FEATURES += "package-management"включено.
  2. В local.conf измените PACKAGE_CLASSESнаpackage_deb
  3. Добавить 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

И вуаля, готово!

Источник

Связанный контент