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

Внимание

Эта статья ссылается на CentOS, дистрибутив Linux, который приближается к состоянию конца жизни (EOL). Обратите внимание на использование и план соответствующим образом. Дополнительные сведения см. в руководстве centOS End Of Life.

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

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

Примечание.

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

Примечание.

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

Необходимые компоненты

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

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

Распределение Версия
Ubuntu Linux: 20.04 LTS
Linux: Red Hat Enterprise Linux 7.9
Linux: CentOS 7

Примечание.

Последняя поддерживаемая версия драйверов 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": {
    }
  }
}

Свойства

Имя. Значение или пример Тип данных
версия_API 15.06.2015 Дата
издатель Microsoft.HpcCompute строка
type NvidiaGpuDriverLinux строка
typeHandlerVersion 1,6 INT

Настройки

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

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

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

Портал Azure

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

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

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

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

    Снимок экрана: выбор пункта

  4. Выберите Добавить.

    Снимок экрана: добавление расширения виртуальной машины для выбранной виртуальной машины.

  5. Прокрутите экран, найдите и выберите расширение драйвера GPU NVIDIA, а затем щелкните Далее.

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

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

    Снимок экрана: выбор кнопки

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

    Снимок экрана: новое расширение в списке расширений для виртуальной машины.

Шаблон Azure Resource Manager

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

Конфигурацию JSON для расширения виртуальной машины можно вложить в ресурс виртуальной машины либо поместить в корневой (верхний) уровень JSON-файла шаблона Resource Manager. Размещение конфигурации JSON влияет на значения имени и типа ресурса. Дополнительные сведения см. в разделе Указание имени и типа дочернего ресурса в шаблоне Resource Manager.

В следующем примере предполагается, что расширение виртуальной машины расположено в ресурсе виртуальной машины. Если ресурс расширения является вложенным, код 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

Представленный ниже пример в точности соответствует предыдущим примерам для Azure 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 Службы Integration Services в Linux для Hyper-V и Azure недоступны или не установлены Проверьте выходные данные lspci.
11 Для этого размера виртуальной машины не обнаружен драйвер GPU NVIDIA Используйте поддерживаемые размер виртуальной машины и ОС.
12 Предложение образа не поддерживается
13 Размер виртуальной машины не поддерживается Для развертывания используйте виртуальную машину серии N
14 Не удалось выполнить операцию. Проверьте журнал выходных данных выполнения.

Поддержка

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

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