Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Внимание
Эта статья ссылается на CentOS, дистрибутив Linux, для которого поддержка прекращена (EOL). Учтите своё использование и планируйте соответствующим образом. Дополнительные сведения см. в руководстве centOS End Of Life.
Область применения: ✔️ виртуальные машины Linux
Это важно
Чтобы соответствовать инклюзивной языковой практике, мы заменили термин "черный список" на "блок-список" в этой документации. Это изменение отражает нашу приверженность предотвращению терминологии, которая может нести непреднамеренные отрицательные коннотации или воспринимаемую расовую предвзятость. Однако в фрагментах кода и технических ссылках, где "черный список" является частью установленного синтаксиса или инструментов (например, файлов конфигурации, параметров командной строки), исходный термин сохраняется для сохранения функциональной точности. Это использование строго техническое и не подразумевает никаких дискриминационных намерений.
Чтобы воспользоваться всеми преимуществами GPU виртуальных машин Azure серии N, необходимо установить драйверы GPU NVIDIA. Расширение драйвера GPU NVIDIA устанавливает необходимые драйверы CUDA или GRID NVIDIA на виртуальную машину серии N. Для установки расширения и управления им можно использовать портал Azure или такие инструменты, как Azure CLI и шаблоны Azure Resource Manager. Сведения о поддерживаемых дистрибутивах и этапах развертывания см. в документации по расширению драйвера GPU NVIDIA.
Если вы решили установить драйверы GPU NVIDIA вручную, то в этой статье вы найдете сведения о поддерживаемых дистрибутивах, ссылки на драйверы и инструкции по установке и проверке. Сведения о ручной установке драйверов также доступны для виртуальных машин Windows.
Характеристики виртуальных машин серии N, сведения о дисках и объеме памяти см. в статье Размеры виртуальных машин Linux, оптимизированных для GPU.
Предупреждение
Установка драйверов NVIDIA с помощью методов, отличных от описанных в этом руководстве, может привести к сбою предполагаемой установки драйвера. Чтобы обеспечить правильную функциональность и поддержку, выполните только действия по установке и используйте версии драйверов, указанные в этой документации.
Поддерживаемые дистрибутивы и драйверы
Драйверы NVIDIA CUDA
Актуальные драйверы CUDA и поддерживаемые операционные системы см. на веб-сайте NVIDIA. Убедитесь, что вы установили последнюю версию драйверов CUDA для своего дистрибутива или выполнили обновление до этой версии.
Примечание.
Последний поддерживаемый драйвер CUDA для исходных виртуальных машин SKU серии NC в настоящее время составляет 470.82.01. Более поздние версии драйверов не поддерживаются на картах K80 в серии NC.
Примечание.
Виртуальные машины Azure NVads A10 версии 5 поддерживают только версии драйверов GRID 17.x или более поздней версии. Драйвер VGPU для SKU A10 — это единый драйвер, поддерживающий как графические, так и вычислительные рабочие нагрузки.
Внимание
Безопасная загрузка и vTPM должны быть отключены, так как процесс зависает при их включении.
Совет
Вместо ручной установки драйвера CUDA на виртуальной машине Linux можно развернуть образ виртуальной машины для обработки и анализа данных Azure. Выпуск DSVM для Ubuntu 16.04 LTS предустановляет драйверы NVIDIA CUDA, библиотеку глубокой нейронной сети CUDA и другие средства.
Драйверы NVIDIA GRID
Примечание.
VGPU18 доступен для NCasT4_v3 серии.
VGPU18 теперь доступен только для NVadsA10_v5 серии в общедоступных регионах. vGPU18 для NVadsA10_v5-серии пока не поддерживается в регионах Mooncake и Fairfax. Мы предоставим обновление, как только vGPU18 получит поддержку для серии NVadsA10_v5 в регионах Mooncake и Fairfax.
Корпорация Майкрософт распространяет установщики драйверов NVIDIA GRID для виртуальных машин серии NV и NVv3, используемых в качестве виртуальных рабочих станций или виртуальных приложений. Эти драйверы GRID следует устанавливать только на виртуальные машины Azure серии NV под управлением операционных систем, перечисленных в следующей таблице. Эти драйверы содержат лицензии на ПО виртуального графического процессора GRID в Azure. Вам не нужно настраивать сервер лицензирования программного обеспечения NVIDIA vGPU.
Драйверы GRID, распространяемые Azure, не работают на большинстве виртуальных машин не серии NV, таких как серии NC, NCv2, NCv3, ND и NDv2, но они работают на серии NCasT4v3.
Дополнительные сведения о конкретных версиях vGPU и драйверов см. на веб-сайте NVIDIA .
| Распределение | Драйвер |
|---|---|
| Ubuntu 20.04 LTS, 22.04 LTS, 24.04 LTS Red Hat Enterprise Linux 8.6, 8.8, 8.9, 8.10, 9.0, 9.2, 9.3, 9.4, 9.5 SUSE Linux Enterprise Server 15 SP2, 12 SP2, 12 SP5 Рокки Linux 8.4 |
NVIDIA vGPU 18.5, ветвь драйвера R570 NVIDIA vGPU 18.5, ветвь драйвера R570 |
Примечание.
Для виртуальных машин Azure NVads A10 версии 5 рекомендуется использовать последнюю версию драйвера. Последняя основная версия драйвера NVIDIA (n) обратно совместима только с предыдущей основной версией (n-1). Например, vGPU 17.x является обратно совместимым только с vGPU 16.x. Сбои драйверов могут возникать на любых виртуальных машинах, которые по-прежнему работают n-2 или ниже, когда последняя ветвь драйвера развертывается на узлах Azure.
NVs_v3 виртуальные машины поддерживают только версии драйверов vGPU 16 или более поздних версий.
Драйвер GRID 17.3 в настоящее время поддерживает только NCasT4_v3 серии виртуальных машин. Чтобы использовать этот драйвер, скачайте и установите драйвер GRID 17.3 вручную.
Драйверы GRID имеют проблемы с установкой в ядре Azure 6.11. Чтобы разблокировать, понизьте ядро до версии 6.8. Дополнительные сведения см. в разделе "Известные проблемы".
Полный список всех ссылок на все драйверы GRID предыдущих версий компании NVIDIA см. на сайте GitHub.
Предупреждение
Установка стороннего программного обеспечения на продуктах Red Hat может нарушать условия технической поддержки Red Hat. Ознакомьтесь со статьей из базы знаний Red Hat.
Установка драйверов CUDA на виртуальные машины серии N
Ниже приведены инструкции по установке драйверов CUDA из набора средств NVIDIA CUDA Toolkit на виртуальные машины серии N.
Разработчики на языках C и C++ могут дополнительно установить полный набор средств для создания приложений, использующих ускорение на GPU. Дополнительные сведения см. в руководстве по установке CUDA.
Чтобы установить драйверы CUDA, установите SSH-подключение к каждой виртуальной машине. Убедитесь, что в системе есть графический процессор с архитектурой CUDA, выполнив следующую команду:
lspci | grep -i NVIDIA
lspci перечисляет устройства PCIe на виртуальной машине, включая сетевую карту InfiniBand и GPU (если есть). Если lspci не возвращается успешно, может потребоваться установить LIS в CentOS/RHEL.
Затем выполните команды установки, относящиеся к используемому дистрибутиву.
Убунту
Ubuntu поставляет проприетарные драйверы NVIDIA. Эти драйверы приходят непосредственно из NVIDIA и просто упаковываются Ubuntu, чтобы они могли управляться системой автоматически. Скачивание и установка драйверов из другого источника может привести к сломанной системе. Кроме того, для установки сторонних драйверов требуются дополнительные действия на виртуальных машинах с поддержкой TrustedLaunch и Secure Boot. Пользователю требуется добавить новый ключ владельца компьютера для загрузки системы. Драйверы из Ubuntu подписаны Canonical и будут работать с безопасной загрузкой (Secure Boot).
Установите утилиту
ubuntu-drivers.sudo apt update && sudo apt install -y ubuntu-drivers-commonУстановите последние драйверы NVIDIA:
sudo ubuntu-drivers installПерезагрузите виртуальную машину после установки драйвера GPU:
sudo rebootСкачайте и установите набор средств CUDA из NVIDIA:
Примечание.
В примере показан путь пакета CUDA для Ubuntu 24.04 LTS. Используйте путь, характерный для используемой версии.
Посетите центр загрузки NVIDIA или страницу ресурсов NVIDIA CUDA , чтобы получить полный путь, характерный для каждой версии.
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb sudo apt install -y ./cuda-keyring_1.1-1_all.deb sudo apt update sudo apt -y install cuda-toolkit-12-5Установка может занять несколько минут.
Перезагрузите виртуальную машину после завершения установки:
sudo rebootУбедитесь, что GPU правильно распознается (после перезагрузки):
nvidia-smi
Обновления драйверов NVIDIA
Мы рекомендуем периодически обновлять драйверы NVIDIA после развертывания.
sudo apt update
sudo apt full-upgrade
CentOS или Red Hat Enterprise Linux
Обновите ядро (рекомендуется). Если вы решили не обновлять ядро, убедитесь, что версии
kernel-develядра иdkmsподходят для вашего ядра.sudo yum install kernel kernel-tools kernel-headers kernel-devel sudo rebootУстановите последнюю версию Linux Integration Services для Hyper-V и Azure. Проверьте, требуется ли LIS (Linux Integration Services) по результатам выполнения команды lspci. Если все устройства GPU указаны должным образом, установка LIS не требуется.
LIS применимо к Red Hat Enterprise Linux, CentOS и Oracle Red Hat Compatible Kernel 5.2-5.11, 6.0-6.10 и 7.0-7.7. Для получения дополнительных сведений см. документацию по службам Linux Integration Services. Пропустите этот шаг, если вы планируете использовать CentOS/RHEL 7.8 (или более поздние версии), так как для этих версий LIS уже не требуется.
wget https://aka.ms/lis tar xvzf lis cd LISISO sudo ./install.sh sudo rebootПовторно подключитесь к виртуальной машине и продолжите установку с помощью следующих команд:
sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo sudo yum clean all sudo yum -y install nvidia-driver-latest-dkms cuda-driversУстановка может занять несколько минут.
Примечание.
Посетите репозитории Fedora и NVIDIA CUDA, чтобы подобрать подходящий пакет для выбранной версии CentOS или RHEL.
Например, CentOS 8 и RHEL 8 должны выполнить следующие действия.
sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo yum install dkms
sudo wget https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo -O /etc/yum.repos.d/cuda-rhel8.repo
sudo yum install cuda-drivers
Чтобы дополнительно установить полный набор средств CUDA, введите следующую команду.
sudo yum install cudaПримечание.
Если появляется сообщение об ошибке, связанное с отсутствием пакетов, таких как vulkan-filesystem, возможно, потребуется изменить файл /etc/yum.repos.d/rh-cloud, найти раздел optional-rpms и включить его, установив значение enabled в 1.
Перезапустите виртуальную машину и приступите к проверке установки.
Проверка установки драйверов
Чтобы запросить состояние устройства GPU, установите SSH-подключение к виртуальной машине и запустите служебную программу командной строки nvidia smi, установленную вместе с драйвером.
Если драйвер установлен, Nvidia SMI перечисляет GPU-Util как N/A, пока не будет запущена рабочая нагрузка GPU на виртуальной машине.
Сетевое подключение RDMA
Сетевое подключение RDMA можно включить на виртуальных машинах серии N с поддержкой RDMA, таких как NC24r, развернутых в одной и той же группе доступности или в одной и той же группе размещения в масштабируемом наборе виртуальных машин. Сеть RDMA поддерживает трафик интерфейса передачи сообщений (MPI) для приложений, работающих с Intel MPI 5.x или более поздней версии:
Распределения
Разверните виртуальные машины серии N с поддержкой RDMA из одного из следующих образов Azure Marketplace, поддерживающих подключение RDMA на виртуальных машинах серии N:
Ubuntu 16.04 LTS. Настройте драйверы RDMA на виртуальной машине и выполните регистрацию на сайте Intel, чтобы скачать Intel MPI.
Установите dapl, rdmacm, ibverbs и mlx4.
sudo apt-get update sudo apt-get install libdapl2 libmlx4-1В /etc/waagent.conf включите RDMA, раскомментировав следующие строки конфигурации. Для изменения этого файла требуется доступ с правами root.
OS.EnableRDMA=y OS.UpdateRdmaDriver=yДобавьте или измените следующие параметры памяти в КБ в файле /etc/security/limits.conf. Для изменения этого файла требуется доступ с правами root. В целях тестирования можно также задать неограниченное значение для параметра memlock. Например:
<User or group name> hard memlock unlimited.<User or group name> hard memlock <memory required for your application in KB> <User or group name> soft memlock <memory required for your application in KB>Установите библиотеку Intel MPI Купите и скачайте библиотеку с сайта Intel или скачайте бесплатную пробную версию.
wget http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9278/l_mpi_p_5.1.3.223.tgzПоддерживаются только среды выполнения Intel MPI 5.x.
Шаги установки см. в руководстве по установке библиотеки Intel MPI.
Включите ptrace для некорневых процессов без отладчика (требуется для последних версий Intel MPI).
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
HPC версии 7.4 на основе CentOS. Драйверы RDMA и Intel MPI 5.1 будут установлены на виртуальной машине.
HPC на основе CentOS — CentOS-HPC версии 7.6 и более поздних (для SKU, где InfiniBand поддерживается с использованием технологии SR-IOV). На этих изображениях предварительно установлены библиотеки Mellanox OFED и MPI.
Примечание.
Карты CX3-Pro поддерживают только LTS-версии Mellanox OFED. Используйте LTS Mellanox OFED версии (4.9–0.1.7.0) на виртуальных машинах серии N с картами ConnectX3-Pro. См. дополнительные сведения о драйверах Linux.
Кроме того, некоторые из последних образов HPC для Azure Marketplace включают Mellanox OFED 5.1 и более поздних версий, которые не поддерживают карты ConnectX3-Pro. Проверьте версию Mellanox OFED в образе HPC, прежде чем использовать ее на виртуальных машинах с картами ConnectX3-Pro.
Ниже перечислены новейшие образы CentOS-HPC, которые поддерживают карты ConnectX3-Pro:
- OpenLogic:CentOS-HPC:7.6:7.6.2020062900
- OpenLogic:CentOS-HPC:7_6gen2:7.6.2020062901;
- OpenLogic:CentOS-HPC:7.7:7.7.2020062600;
- OpenLogic:CentOS-HPC:7_7-gen2:7.7.2020062601;
- OpenLogic:CentOS-HPC:8_1:8.1.2020062400;
- OpenLogic:CentOS-HPC:8_1-gen2:8.1.2020062401;
Установка драйверов GRID на виртуальные машины серии NV или NVv3
Чтобы установить драйверы GRID NVIDIA на виртуальных машинах серии NV или NVv3, подключитесь по протоколу SSH к каждой виртуальной машине и выполните действия, необходимые для вашего дистрибутива Linux.
Убунту
Выполните команду
lspci. Убедитесь, что карта или карты NVIDIA M60 отображаются как устройства PCI.Установка обновлений.
sudo apt-get update sudo apt-get upgrade -y sudo apt-get dist-upgrade -y sudo apt-get install build-essential ubuntu-desktop -y sudo apt-get install linux-azure -yОтключите драйвер ядра Nouveau, который несовместим с драйвером NVIDIA. (Используйте только драйвер NVIDIA на виртуальных машинах NV или NVv2.) Чтобы отключить драйвер, создайте файл с
/etc/modprobe.dименемnouveau.confсо следующим содержимым:blacklist nouveau blacklist lbm-nouveauПерезагрузите виртуальную машину и подключитесь повторно. Выйдите из X-сервера:
sudo systemctl stop lightdm.serviceЗагрузите и установите драйвер GRID.
wget -O NVIDIA-Linux-x86_64-grid.run https://go.microsoft.com/fwlink/?linkid=874272 chmod +x NVIDIA-Linux-x86_64-grid.run sudo ./NVIDIA-Linux-x86_64-grid.runКогда появится запрос на запуск служебной программы nvidia-xconfig для обновления файла конфигурации X, выберите Да.
После завершения установки скопируйте /etc/nvidia/gridd.conf.template в новый файл gridd.conf в расположении /etc/nvidia/.
sudo cp /etc/nvidia/gridd.conf.template /etc/nvidia/gridd.confДобавьте следующую строку в файл
/etc/nvidia/gridd.conf:IgnoreSP=FALSE EnableUI=FALSEУдалите следующее из
/etc/nvidia/gridd.conf, если оно присутствует:FeatureType=0Перезапустите виртуальную машину и приступите к проверке установки.
Установка драйвера GRID в Ubuntu с включенной безопасной загрузкой
Процесс установки драйвера GRID не предоставляет никаких параметров для пропуска сборки и установки модуля ядра и выбора другого источника подписанных модулей ядра, поэтому безопасная загрузка должна быть отключена на виртуальных машинах Linux, чтобы использовать их с GRID после установки подписанных модулей ядра.
CentOS или Red Hat Enterprise Linux
Обновите ядро и DKMS (рекомендуется). Если вы решите не обновлять ядро, убедитесь, что версии
kernel-develиdkmsподходят вашему ядру.sudo yum update sudo yum install kernel-devel sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo yum install dkms sudo yum install hyperv-daemonsОтключите драйвер ядра Nouveau, который несовместим с драйвером NVIDIA. (Используйте только драйвер NVIDIA на виртуальных машинах NV или NV3.) Для этого создайте файл с
/etc/modprobe.dименемnouveau.confсо следующим содержимым:blacklist nouveau blacklist lbm-nouveauПерезагрузите виртуальную машину, повторно подключитесь и установите последнюю версию служб интеграции Linux для Hyper-V и Azure. Проверьте, требуется ли LIS (Linux Integration Services) по результатам выполнения команды lspci. Если все устройства GPU указаны должным образом, установка LIS не требуется.
Пропустите этот шаг, если вы планируете использовать CentOS/RHEL 7.8 (или более поздние версии), так как для этих версий LIS уже не требуется.
wget https://aka.ms/lis tar xvzf lis cd LISISO sudo ./install.sh sudo rebootПовторно подключитесь к виртуальной машине и выполните команду
lspci. Убедитесь, что карта или карты NVIDIA M60 отображаются как устройства PCI.Загрузите и установите драйвер GRID.
wget -O NVIDIA-Linux-x86_64-grid.run https://go.microsoft.com/fwlink/?linkid=874272 chmod +x NVIDIA-Linux-x86_64-grid.run sudo ./NVIDIA-Linux-x86_64-grid.runКогда появится запрос на запуск служебной программы nvidia-xconfig для обновления файла конфигурации X, выберите Да.
После завершения установки скопируйте /etc/nvidia/gridd.conf.template в новый файл gridd.conf в расположении /etc/nvidia/.
sudo cp /etc/nvidia/gridd.conf.template /etc/nvidia/gridd.confДобавьте две строки в
/etc/nvidia/gridd.conf:IgnoreSP=FALSE EnableUI=FALSEУдалите одну строку из
/etc/nvidia/gridd.conf, если она присутствует:FeatureType=0Перезапустите виртуальную машину и приступите к проверке установки.
Проверка установки драйверов
Чтобы запросить состояние устройства GPU, установите SSH-подключение к виртуальной машине и запустите служебную программу командной строки nvidia smi, установленную вместе с драйвером.
Если драйвер установлен, Nvidia SMI будет перечислять GPU-Util как N/A, пока не будет запущена рабочая нагрузка GPU на виртуальной машине.
Сервер X11
Если вам требуется сервер X11 для удаленных подключений к виртуальной машине NV или NVv2, рекомендуем использовать x11vnc, так как он поддерживает аппаратное ускорение графики. BusID устройства M60 должен быть добавлен вручную в файл конфигурации X11 (обычно etc/X11/xorg.conf). Добавьте раздел "Device", аналогичный приведенному ниже.
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "Tesla M60"
BusID "PCI:0@your-BusID:0:0"
EndSection
Кроме того, обновите раздел "Screen", чтобы использовать это устройство.
Десятичный шинный идентификатор можно найти, выполнив команду
nvidia-xconfig --query-gpu-info | awk '/PCI BusID/{print $4}'
BusID может измениться, если виртуальная машина будет перераспределена или перезагружена. Поэтому, возможно, стоит создать сценарий для обновления BusID в конфигурации X11 при перезагрузке виртуальной машины. Например, создайте сценарий busidupdate.sh (или выберите другое имя) примерно со следующим содержимым:
#!/bin/bash
XCONFIG="/etc/X11/xorg.conf"
OLDBUSID=`awk '/BusID/{gsub(/"/, "", $2); print $2}' ${XCONFIG}`
NEWBUSID=`nvidia-xconfig --query-gpu-info | awk '/PCI BusID/{print $4}'`
if [[ "${OLDBUSID}" == "${NEWBUSID}" ]] ; then
echo "NVIDIA BUSID not changed - nothing to do"
else
echo "NVIDIA BUSID changed from \"${OLDBUSID}\" to \"${NEWBUSID}\": Updating ${XCONFIG}"
sed -e 's|BusID.*|BusID '\"${NEWBUSID}\"'|' -i ${XCONFIG}
fi
Затем создайте запись для вашего скрипта обновления в /etc/rc.d/rc3.d, чтобы сценарий запускался от имени пользователя root при загрузке.
Устранение неполадок
Когда необходимо запрашивать карты, для быстрого получения выходных данных команды можно задать режим сохранения с помощью команды
nvidia-smi. Чтобы задать режим сохраняемости, выполните командуnvidia-smi -pm 1. Если виртуальная машина перезапущена, параметр режима исчезнет. Вы всегда можете скриптировать параметр режима, который будет выполняться при запуске.Если вы обновили драйверы CUDA NVIDIA до последней версии и обнаруживаете, что подключение RDMA больше не работает, переустановите драйверы RDMA, чтобы восстановить подключение.
Если при установке LIS определенная версия ОС CentOS/RHEL (или ядра) не поддерживается для LIS, выдается ошибка "Неподдерживаемая версия ядра". Сообщите об этой ошибке вместе с версиями ОС и ядра.
Если задания прерываются ошибками ECC на GPU (как исправляемыми, так и неисправимыми), сначала проверьте, соответствует ли GPU любому из критериев RMA для ошибок ECC NVIDIA. Если GPU имеет право на RMA, обратитесь в службу поддержки по поводу его обслуживания; в противном случае перезагрузите виртуальную машину, чтобы повторно подключить GPU, как описано здесь. Менее инвазивные методы, например
nvidia-smi -r, не работают с решением виртуализации, развернутым в Azure.
Следующие шаги
- Чтобы записать образ виртуальной машины Linux с установленными драйверами NVIDIA, см. статью Как подготовить к работе и записать образ виртуальной машины Linux.