Расширение драйвера GPU NVIDIA для Linux

Это расширение устанавливает драйверы GPU NVIDIA на виртуальных машинах серии N для Linux. В зависимости от семейства виртуальных машин расширение устанавливает драйверы CUDA или GRID. При установке драйверов NVIDIA с помощью этого расширения вы принимаете и соглашаетесь с условиями лицензионного соглашения NVIDIA End-User. Во время установки драйвера виртуальная машина может быть перезагружена для завершения процедуры.

Доступны инструкции по установке драйверов вручную и сведения о поддерживаемых сейчас версиях. Расширение также доступно для установки драйверов GPU NVIDIA на виртуальных машинах серии N Windows серии N.

Примечание.

Это расширение будет продолжать использовать версию 18.x, пока мы не завершим развертывание версии 20.x в Q3 CY2026.

Примечание.

При активации безопасной загрузки все компоненты загрузки ОС (загрузчик, ядро, драйверы ядра) должны быть подписаны доверенными издателями. (ключ, доверенный для системы). Безопасная загрузка не поддерживается с помощью расширений Windows или Linux. Дополнительные сведения об установке драйверов GPU вручную с поддержкой безопасной загрузки см. в разделе Azure настройка драйвера GPU серии N для Linux.

Примечание.

Расширения драйверов GPU не обновляют драйвер автоматически после установки расширения. Если вам нужно перейти к более новой версии драйвера, то вручную скачайте и установите драйвер или удалите и снова добавьте расширение.

Примечание.

Попробуйте использовать виртуальную машину для ускорения диагностики. Мы рекомендуем запустить Помощник VM для Windows или Помощник VM для Linux. Эти средства диагностики на основе скриптов помогают выявить распространенные проблемы, влияющие на Azure гостевого агента виртуальной машины и общую работоспособность виртуальных машин.

Если у вас возникли проблемы с производительностью виртуальных машин, перед обращением в службу поддержки запустите эти средства.

Предварительные условия

Операционная система

Это расширение поддерживает указанные ниже дистрибутивы, в зависимости от поддержки драйвера в конкретной версии ОС.

Водитель Linux: Ubuntu Linux: Red Hat Enterprise Linux
CUDA 20.04 LTS 7.9
СЕТКА 22.04 LTS
24.04 LTS
8.2

Примечание.

Последняя поддерживаемая версия драйверов CUDA для виртуальных машин серии NC в настоящее время: 470.82.01. Более поздние версии драйверов не поддерживаются на картах K80 в серии NC. Пока обновляется расширение с учетом завершения поддержки NC, вы можете вручную установить драйверы CUDA для карт K80 в серии NC.

Внимание

Этот документ ссылается на версию Linux, которая приближается к окончанию срока службы (EOL). Пожалуйста, рассмотрите возможность обновления до более текущей версии.

Подключение к Интернету

Расширение Microsoft Azure для драйверов GPU NVIDIA требует, чтобы целевая виртуальная машина подключена к Интернету и имеет доступ.

Схема расширения

Следующий код JSON демонстрирует схему расширения:

{
  "name": "<myExtensionName>",
  "type": "extensions",
  "apiVersion": "2015-06-15",
  "location": "<location>",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', <myVM>)]"
  ],
  "properties": {
    "publisher": "Microsoft.HpcCompute",
    "type": "NvidiaGpuDriverLinux",
    "typeHandlerVersion": "1.6",
    "autoUpgradeMinorVersion": true,
    "settings": {
    }
  }
}

Свойства

Имя. Значение или пример Тип данных
apiVersion 15.06.2015 Дата
издатель Майкрософт. HpcCompute струна
тип NvidiaGpuDriverLinux струна
версияТипаОбработчика 1,6 инт

Настройки

Все эти параметры не являются обязательными. По умолчанию ядро не обновляется, если это не требуется для установки драйвера, затем устанавливается последний поддерживаемый драйвер и набор инструментов CUDA Toolkit (если применимо).

Имя. Описание: Значение по умолчанию Допустимые значения Тип данных
обновление ОС Обновите ядро, даже если это не требуется для установки драйвера. неправда истинно, ложно булевый
версия драйвера NV: версия драйвера GRID
NC/ND: версия набора инструментов CUDA Toolkit. Последние версии драйверов для выбранного CUDA устанавливаются автоматически.
последний List поддерживаемых версий драйверов струна
installCUDA Установка набора инструментов CUDA Toolkit. Это относится только к виртуальным машинам серии NC/ND. истина истинно, ложно булевый

Развертывание

портал Azure

Вы можете развернуть расширения виртуальных машин NVIDIA Azure на портале Azure.

  1. В браузере перейдите на портал Azure.

  2. Перейдите к виртуальной машине, на которой требуется установить драйвер.

  3. В меню слева выберите "Расширения".

    Скриншот, показывающий выбор пункта

  4. Нажмите кнопку "Добавить".

    Снимок экрана: добавление расширения V M для выбранного V M.

  5. Прокрутите страницу, чтобы найти и выбрать расширение драйвера GPU NVIDIA, а затем нажмите кнопку "Далее".

    Снимок экрана: выбор расширения драйвера NVIDIA G P U.

  6. Выберите "Просмотр и создание" и нажмите кнопку "Создать". Подождите несколько минут, пока завершится развертывание драйвера.

    Снимок экрана, на котором показано нажатие кнопки

  7. Убедитесь, что расширение добавлено в список установленных.

    Снимок экрана: новое расширение в списке расширений для V M.

шаблон Azure Resource Manager

Для развертывания расширений виртуальных машин Azure можно использовать шаблоны Azure Resource Manager. Шаблоны идеально подходят для развертывания одной или нескольких виртуальных машин, требующих настройки после развертывания.

Конфигурация JSON для расширения виртуальной машины может быть вложена в ресурс виртуальной машины или помещена на корневой или верхний уровень шаблона RESOURCE MANAGER JSON. Размещение конфигурации JSON влияет на значения имени и типа ресурса. Дополнительные сведения см. в разделе "Задание имени и типа" для дочерних ресурсов.

В следующем примере предполагается, что расширение встроено в ресурс виртуальной машины. Когда ресурс расширения является вложенным, JSON-код помещается в объект виртуальной машины "resources": [].

{
  "name": "myExtensionName",
  "type": "extensions",
  "location": "[resourceGroup().location]",
  "apiVersion": "2015-06-15",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', myVM)]"
  ],
  "properties": {
    "publisher": "Microsoft.HpcCompute",
    "type": "NvidiaGpuDriverLinux",
    "typeHandlerVersion": "1.6",
    "autoUpgradeMinorVersion": true,
    "settings": {
    }
  }
}

PowerShell

Set-AzVMExtension
    -ResourceGroupName "myResourceGroup" `
    -VMName "myVM" `
    -Location "southcentralus" `
    -Publisher "Microsoft.HpcCompute" `
    -ExtensionName "NvidiaGpuDriverLinux" `
    -ExtensionType "NvidiaGpuDriverLinux" `
    -TypeHandlerVersion 1.6 `
    -SettingString '{ `
	}'

Azure CLI

Следующий пример отражает предыдущие Resource Manager и примеры PowerShell:

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name NvidiaGpuDriverLinux \
  --publisher Microsoft.HpcCompute \
  --version 1.6

Также этот пример добавляет два необязательных настраиваемых параметра, чтобы продемонстрировать установку драйвера в конфигурации, отличной от конфигурации по умолчанию. В частности, ядро ОС обновляется до последней версии и устанавливается определенный драйвер версии CUDA Toolkit. Снова обратите внимание, что --settings является необязательным и имеет значение по умолчанию. Обновление ядра может замедлить установку расширения. Кроме того, некоторые (старые) версии CUDA Toolkit не всегда совместимы с новыми ядрами.

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name NvidiaGpuDriverLinux \
  --publisher Microsoft.HpcCompute \
  --version 1.6 \
  --settings '{ \
    "updateOS": true, \
    "driverVersion": "10.0.130" \
  }'

Устранение неполадок и поддержка

Устранение неполадок

Данные о состоянии развертываний расширений можно получить на портале Azure и с помощью Azure PowerShell и Azure CLI. Чтобы просмотреть состояние развертывания расширений для определенной виртуальной машины, выполните следующую команду:

Get-AzVMExtension -ResourceGroupName myResourceGroup -VMName myVM -Name myExtensionName
az vm extension list --resource-group myResourceGroup --vm-name myVM -o table

Выходные данные выполнения расширения регистрируются в следующем файле. Для отслеживания состояния любой долгой установки и устранения сбоев обратитесь к этому файлу.

/var/log/azure/nvidia-vmext-status

Коды выхода

Код выхода Значение Возможное действие
0 Операция выполнена успешно
1 Неправильное использование расширения Проверьте журнал выходных данных выполнения.
10 Службы Linux Integration Services для Hyper-V и Azure недоступны или не установлены Проверьте выходные данные lspci.
11 Для этого размера виртуальной машины не обнаружен драйвер GPU NVIDIA Используйте поддерживаемый размер виртуальной машины и ОС.
12 Поддержка функции изображения не предоставляется
13 (тринадцать) Размер виртуальной машины не поддерживается Для развертывания используйте виртуальную машину серии N
14 Не удалось выполнить операцию. Проверьте журнал выходных данных выполнения.

Известные проблемы

  1. Драйверы GRID 16.x и 17.x имеют проблемы с установкой на ядре Azure версии 6.11. Nvidia работает над решением этой проблемы, тем временем, понизив уровень ядра Azure до 6,8, выполнив следующие действия. Попробуйте переустановить драйверы вручную или с помощью расширения после понижения уровня ядра до 6.8.
// Get the installed kernel. If kernel 6.11 is installed,  downgrade it to 6.8.
uname -a

// Install  kernel 6.8. Note that kernel  6.11  is not supported.
$ sudo apt install linux-image-6.8.0-1015-azure

// Get the list of installed kernels.
dpkg --list | egrep -i --color 'linux-image|linux-headers|linux-modules' | awk '{ print $2 }'

// Uninstall any 6.11 kernels.
sudo apt purge linux-headers-6.11.0-1013-azure  linux-image-6.11.0-1013-azure  linux-modules-6.11.0-1013-azure

// Run the following command to ensure only 6.8 images, headers, and modules are installed and no other versions are present.
dpkg --list | egrep -i --color 'linux-image|linux-headers|linux-modules' | awk '{ print $2 }'

// Results from the previous command:
linux-headers-6.8.0-1015-azure
linux-image-6.8.0-1015-azure
linux-modules-6.8.0-1015-azure

// Open the grub settings and modify the GRUB_DEFAULT="0" to GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.8.0-1015-azure".
$ sudo vim /etc/default/grub 
 
// The grub file will look like the following:
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.8.0-1015-azure"
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
///////////////////

// Update GRUB and reboot.
$ sudo update-grub && sudo update-grub2
$ sudo reboot

// Reinstall the driver after reboot.
  1. NvidiaGpuDriverLinux В настоящее время устанавливает последние 17.5 драйверы GRID, которые имеют проблемы с CUDA в серии A10. NVIDIA работает над решением этой проблемы, тем временем используйте драйвер 16.5 GRID, передав параметр среды выполнения в расширение.
az vm extension set  --resource-group <rg-name> --vm-name <vm-name>  --name NvidiaGpuDriverLinux --publisher Microsoft.HpcCompute --settings "{'driverVersion':'535.161'}"
{
  "name": "NvidiaGpuDriverLinux",
  "type": "extensions",
  "apiVersion": "2015-06-15",
  "location": "<location>",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', <myVM>)]"
  ],
  "properties": {
    "publisher": "Microsoft.HpcCompute",
    "type": "NvidiaGpuDriverLinux",
    "typeHandlerVersion": "1.11",
    "autoUpgradeMinorVersion": true,
    "settings": {
         "driverVersion": "535.161"
    }
  }
}
  1. Версия 17.x драйвера GRID несовместима с NVv3 (NVIDIA Tesla M60). Поддерживаются драйверы GRID до версии 16.5 . NvidiaGpuDriverLinux устанавливает последние драйверы, несовместимые с NVv3 SKU. Вместо этого используйте следующие параметры среды выполнения, чтобы принудительно установить более раннюю версию драйвера. Дополнительные сведения о версиях драйверов см. в разделе ресурсы GPUNVIDIA.
az vm extension set  --resource-group <rg-name> --vm-name <vm-name>  --name NvidiaGpuDriverLinux --publisher Microsoft.HpcCompute --settings "{'driverVersion':'535.161'}"
{
  "name": "NvidiaGpuDriverLinux",
  "type": "extensions",
  "apiVersion": "2015-06-15",
  "location": "<location>",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', <myVM>)]"
  ],
  "properties": {
    "publisher": "Microsoft.HpcCompute",
    "type": "NvidiaGpuDriverLinux",
    "typeHandlerVersion": "1.11",
    "autoUpgradeMinorVersion": true,
    "settings": {
         "driverVersion": "535.161"
    }
  }
}
  1. Драйвер Grid 17.5 для Linux имеет ошибку, которая влияет на рабочие нагрузки, связанные с CUDA. Подпись ошибки обычно указывает на недоступность устройств CUDA. Хотя Azure работает над решением этой проблемы, используйте драйвер GRID 16.5 для продолжения выполнения рабочей нагрузки.

Поддержка

Если вам нужна дополнительная помощь в любой момент этой статьи, обратитесь к экспертам Azure по MSDN Azure и форумам Stack Overflow. Кроме того, можно подать запрос в службу поддержки Azure. Перейдите на поддержка Azure и выберите Получить поддержку. Дополнительные сведения об использовании поддержка Azure см. в статье поддержка Azure вопросы и ответы.

Следующие шаги