CUDA: различия между версиями

Материал из ALT Linux Wiki
 
(не показаны 4 промежуточные версии 3 участников)
Строка 1: Строка 1:
CUDA - технология использования ресурсов видеокарты NVIDIA для ускорения параллельных вычислений.
{{epm|cuda-z}}
CUDA технология использования ресурсов видеокарты NVIDIA для ускорения параллельных вычислений.


= Установка =
== Установка ==


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


* Если у вас не установлен проприетарный драйвер NVIDIA, то установить его по инструкции [[Nvidia#Смена_открытых_драйверов_на_проприетарные|NVIDIA: Смена открытых драйверов на проприетарные]]. Если проприетарный драйвер NVIDIA установлен, в файле /proc/driver/nvidia/version будет информация о нём.
* Если у вас не установлен проприетарный драйвер NVIDIA, то установить его по инструкции [[Nvidia#Смена_открытых_драйверов_на_проприетарные|NVIDIA: Смена открытых драйверов на проприетарные]]. Если проприетарный драйвер NVIDIA установлен, в файле {{path|/proc/driver/nvidia/version}} будет информация о нём.


* Установить необходимые пакеты:
* Установить необходимые пакеты:
  $ su -l root
$ su -l root
  # apt-get -o APT::Install::VirtualVersion=true -o APT::Install::Virtual=true install libcuda gcc libglut libGLU nvidia-modprobe
# apt-get -o APT::Install::VirtualVersion=true -o APT::Install::Virtual=true install libcuda gcc libglut libGLU nvidia-modprobe


* Убедиться, что версия пакета libcuda совпадает с версией используемого видеодрайвера:
* Убедиться, что версия пакета {{pkg|libcuda}} совпадает с версией используемого видеодрайвера:
  $ rpm -q libcuda
$ rpm -q libcuda
  $ cat /proc/driver/nvidia/version
$ cat /proc/driver/nvidia/version
* Загрузить "runfile (local)" для Fedora со страницы [https://developer.nvidia.com/cuda-toolkit-archive CUDA Toolkit Archive | NVIDIA Developer]
* Загрузить "runfile (local)" для Fedora со страницы [https://developer.nvidia.com/cuda-toolkit-archive CUDA Toolkit Archive | NVIDIA Developer]
{{note|Возможно, потребуется загрузить не самый свежий, т.к. там есть зависимость от минимальной версии драйвера.}}
{{note|Возможно, потребуется загрузить не самый свежий, т.к. там есть зависимость от минимальной версии драйвера.}}
* Запустить в эмуляторе терминала установку от привилегированного пользователя:
* Запустить в эмуляторе терминала установку от привилегированного пользователя:
  $ su -l root
$ su -l root
  # sh /путь/к/файлу/cuda_NNNN_linux.run
# sh /путь/к/файлу/cuda_NNNN_linux.run
{{Attention|Из run-установщика важно НЕ устанавливать компоненты драйвера(модули ядра и библиотеки), чтобы не испортить установленную систему.}}
{{Attention|Из run-установщика важно НЕ устанавливать компоненты драйвера(модули ядра и библиотеки), чтобы не испортить установленную систему.}}
* Для пропуска лишних компонент в главном разделе отключить опции  
* Для пропуска лишних компонентов в главном разделе отключить опции:
   CUDA Installer
   CUDA Installer
  - [ ] Driver
- [ ] Driver
  - [ ] Kernel Objects
- [ ] Kernel Objects
и в разделе Options/Driver Options включить НЕустановку дополнительных компонент драйвера
и в разделе '''Options/Driver Options''' включить НЕустановку дополнительных компонентов драйвера:
  Options
Options
  Driver Options
  Driver Options
    [X] Do not install any of the OpenGL-related driver files
  [X] Do not install any of the OpenGL-related driver files
    [X] Do not install the nvidia-drm kernel module
  [X] Do not install the nvidia-drm kernel module
* По завершению установки будет создан файл /etc/ld.so.conf.d/cuda-NNNN.conf и для обновления кэша разделяемых библиотек потребуется запустить от привилегированного пользователя:
* По завершению установки будет создан файл {{path|/etc/ld.so.conf.d/cuda-NNNN.conf}} и для обновления кэша разделяемых библиотек потребуется запустить от привилегированного пользователя:
  # ldconfig
# ldconfig
* Проверить можно запуском демонстрационной программы:
* Проверить можно запуском демонстрационной программы:
  $ /место/установки/cuda/extras/demo_suite/randomFog
$ /место/установки/cuda/extras/demo_suite/randomFog
{{note|При необходимости нужно инициировать CUDA запуском '''nvidia-modprobe'''.}}
{{note|При необходимости нужно инициировать CUDA запуском '''nvidia-modprobe'''.}}


= Настройка сервера виртуализации =
== Настройка сервера виртуализации ==
 
На примере системы с процессором Intel в качестве хост-машины для Proxmos VE.
На примере системы с процессором Intel в качестве хост-машины для Proxmos VE.
* Если выключена поддержка IOMMU(ошибка "No IOMMU detected"), необходимо включить в настройках BIOS/UEFI опцию '''Intel Virtualization Technology''' в значение '''IOMMU''' или '''VT-d'''.
* Если выключена поддержка 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 {{path|/etc/default/grub}} в параметр '''GRUB_CMDLINE_LINUX_DEFAULT''' добавить "intel_iommu=on iommu=on rd.driver.pre=pci-stub"


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


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


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


, где указать PCI-идентификаотры пробрасываемых устройств. Узнать PCI-идентификаторы можно командой:
где указать PCI-идентификаторы пробрасываемых устройств. Узнать PCI-идентификаторы можно командой:
  $ lspci -nn | grep -e '\[03' | grep -i nvidia
$ lspci -nn | grep -e '\[03' | grep -i nvidia


Добавить в файл автозагрузки модулей ядра '''/etc/modules''' строки
Добавить в файл автозагрузки модулей ядра {{path|/etc/modules}} строку:
  vfio_pci
vfio_pci
* Обновить образ начальной инициализации '''текущего''' ядра командой:
* Обновить образ начальной инициализации '''текущего''' ядра командой:
  # make-initrd
# make-initrd


{{Category navigation|title=HOWTO|category=HOWTO|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=HOWTO|category=HOWTO|sortkey={{SUBPAGENAME}}}}

Текущая версия от 11:14, 27 февраля 2024

Есть рецепт в epm!
epm play cuda-z


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

Установка

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

  • Установить необходимые пакеты:
$ su -l root
# apt-get -o APT::Install::VirtualVersion=true -o APT::Install::Virtual=true install libcuda gcc libglut libGLU nvidia-modprobe
  • Убедиться, что версия пакета 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