CUDA: различия между версиями
(не показаны 4 промежуточные версии 3 участников) | |||
Строка 1: | Строка 1: | ||
CUDA | {{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 | |||
# 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 | |||
$ 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 | |||
# sh /путь/к/файлу/cuda_NNNN_linux.run | |||
{{Attention|Из run-установщика важно НЕ устанавливать компоненты драйвера(модули ядра и библиотеки), чтобы не испортить установленную систему.}} | {{Attention|Из run-установщика важно НЕ устанавливать компоненты драйвера(модули ядра и библиотеки), чтобы не испортить установленную систему.}} | ||
* Для пропуска лишних | * Для пропуска лишних компонентов в главном разделе отключить опции: | ||
CUDA Installer | CUDA Installer | ||
- [ ] Driver | |||
- [ ] Kernel Objects | |||
и в разделе Options/Driver Options включить НЕустановку дополнительных | и в разделе '''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 и для обновления кэша разделяемых библиотек потребуется запустить от привилегированного пользователя: | * По завершению установки будет создан файл {{path|/etc/ld.so.conf.d/cuda-NNNN.conf}} и для обновления кэша разделяемых библиотек потребуется запустить от привилегированного пользователя: | ||
# ldconfig | |||
* Проверить можно запуском демонстрационной программы: | * Проверить можно запуском демонстрационной программы: | ||
$ /место/установки/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 {{path|/etc/default/grub}} в параметр '''GRUB_CMDLINE_LINUX_DEFAULT''' добавить "intel_iommu=on iommu=on rd.driver.pre=pci-stub" | ||
Обновить конфигурацию GRUB командой: | Обновить конфигурацию GRUB командой: | ||
# update-grub | |||
В файл настройки модулей ядра | В файл настройки модулей ядра {{path|/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 | |||
Добавить в файл автозагрузки модулей ядра | Добавить в файл автозагрузки модулей ядра {{path|/etc/modules}} строку: | ||
vfio_pci | |||
* Обновить образ начальной инициализации '''текущего''' ядра командой: | * Обновить образ начальной инициализации '''текущего''' ядра командой: | ||
# make-initrd | |||
{{Category navigation|title=HOWTO|category=HOWTO|sortkey={{SUBPAGENAME}}}} | {{Category navigation|title=HOWTO|category=HOWTO|sortkey={{SUBPAGENAME}}}} |
Текущая версия от 11:14, 27 февраля 2024
CUDA — технология использования ресурсов видеокарты NVIDIA для ускорения параллельных вычислений.
Установка
Для установки NVIDIA CUDA нужно сделать следующее:
- Если у вас не установлен проприетарный драйвер NVIDIA, то установить его по инструкции NVIDIA: Смена открытых драйверов на проприетарные. Если проприетарный драйвер NVIDIA установлен, в файле /proc/driver/nvidia/version будет информация о нём.
- Установить необходимые пакеты:
$ 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
- Загрузить "runfile (local)" для Fedora со страницы CUDA Toolkit Archive | NVIDIA Developer
Примечание: Возможно, потребуется загрузить не самый свежий, т.к. там есть зависимость от минимальной версии драйвера.
- Запустить в эмуляторе терминала установку от привилегированного пользователя:
$ 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