CUDA

Материал из ALT Linux Wiki

CUDA - технология использования ресурсов видеокарты NVIDIA для ускорения параллельных вычислений.

Установка

Для установки NVIDIA CUDA нужно сделать следующее:

  • Установить необходимые пакеты:
 $ su -l root
 # apt-get -o APT::Install::VirtualVersion=true -o APT::Install::Virtual=true install libcuda gcc libglut libGLU
  • Убедиться, что версия пакета libcuda совпадает с версией используемого видеодрайвера:
 $ rpm -q libcuda
 $ cat /proc/driver/nvidia/version
Примечание: Возможно, потребуется загрузить не самый свежий, т.к. там есть зависимость от минимальной версии драйвера.
  • Запустить в эмуляторе терминала установку от привилегированного пользователя:
  $ su -l root
  # sh /путь/к/файлу/cuda_NNNN_linux.run
Внимание! Из run-установщика важно НЕ устанавливать компоненты драйвера(модули ядра и библиотеки), чтобы не испортить установленную систему.
  • Для пропуска лишних компонент в главном разделе отключить опции
 CUDA Installer
  - [ ] Driver
  - [ ] Kernel Objects

и в разделе Options/Driver Options включить НЕустановку дополнительных компонент драйвера

 Options
  Driver Options
   [X] Do not install any of the OpenGL-related driver files
   [X] Do not install the nvidia-drm kernel module
  • По завершению установки будет создан файл /etc/ld.so.conf.d/cuda-NNNN.conf и для обновления кэша разделяемых библиотек потребуется запустить от привилегированного пользователя:
  # ldconfig
  • Проверить можно запуском демонстрационной программы:
  $ /место/установки/cuda/extras/demo_suite/randomFog
Примечание: При необходимости нужно инициировать CUDA запуском nvidia-modprobe.


Настройка сервера виртуализации

На примере системы с процессором Intel в качестве хост-машины для Proxmos VE.

  • Если выключена поддержка IOMMU(ошибка "No IOMMU detected"), необходимо включить в настройках BIOS/UEFI опцию Intel Virtualization Technology в значение IOMMU или VT-d.
  • Настройить параметры запуска ядра:

В файле настройек загрузчика GRUB /etc/default/grub в параметр GRUB_CMDLINE_LINUX_DEFAULT добавить "intel_iommu=on iommu=on rd.driver.pre=pci-stub"

Обновить конфигурацию GRUB командой:

  # update-grub

В файл настройки модулей ядра /etc/modprobe.d/nvidia-to-ve.conf добавить строку

 options pci-stub ids=NNNN:NNNN,MMMM:MMMM,...

, где указать PCI-идентификаотры пробрасываемых устройств. Узнать PCI-идентификаторы можно командой:

  $ lspci -nn | grep -e '\[03' | grep -i nvidia

Добавить в файл автозагрузки модулей ядра /etc/modules строки

 vfio_pci
  • Обновить образ начальной инициализации текущего ядра командой:
  # make-initrd