Установка расширения GPU на виртуальных машинах для устройства GPU Azure Stack Edge Pro

Внимание

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

ОБЛАСТЬ ПРИМЕНЕНИЯ:Да для Pro — SKU GPUAzure Stack Edge Pro — GPUДа для SKU Pro 2Azure Stack Edge Pro 2Да для SKU R ProAzure Stack Edge Pro R

В этой статье описывается, как установить расширение драйвера GPU для установки требуемых драйверов NVIDIA на виртуальные машины GPU, которые выполняются на устройстве Azure Stack Edge. В этой статье рассматриваются шаги по установке расширения GPU с помощью шаблонов ARM на виртуальных машинах Windows и Linux.

Примечание.

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

Перед установкой расширения GPU на виртуальных машинах GPU, которые выполняются на устройстве, проверьте соблюдение следующих условий:

  1. У вас есть доступ к устройству Azure Stack Edge, на котором развернута одна или несколько виртуальных машин GPU. См. дополнительные сведения в статье Развертывание виртуальной машины GPU на устройстве.

    • Убедитесь, что разрешенный для сети вычислений порт устройства подключен и имеет доступ к Интернету. Драйверы GPU скачиваются через Интернет.

      Ниже приведен пример подключения порта 2 к Интернету и использования для включения вычислительной сети. Если Kubernetes не развернут в вашей среде, можно пропустить IP-адрес узла Kubernetes и назначение IP-адресов внешней службы.

      Снимок экрана: область вычислений для устройства Azure Stack Edge. Выделены параметры вычислений для порта 2.

  2. Скачайте шаблоны расширения GPU и файлы параметров на клиентский компьютер. Распакуйте их в каталог, который будет использоваться в качестве рабочей папки.

  3. Убедитесь, что клиент, который будет использоваться для доступа к устройству, все еще подключен к Azure Resource Manager через Azure PowerShell. Срок действия подключения к Azure Resource Manager истекает через 1,5 часа после его создания и при каждом перезапуске устройства Azure Stack Edge. В этом случае все выполняемые командлеты будут возвращать сообщения об ошибках, которые больше не подключены к Azure. Вам потребуется снова войти. Подробные инструкции см. в статье Подключение к Azure Resource Manager на устройстве Azure Stack Edge.

Изменение файла параметров

Расширение GPU можно устанавливать в операционных системах Windows или Linux. Выбор зависит от операционной системы на виртуальной машине.

Чтобы развернуть драйверы NVIDIA GPU для существующей виртуальной машины, измените файл параметров addGPUExtWindowsVM.parameters.json и разверните шаблон addGPUextensiontoVM.json.

Версия 2205 и выше

Файл addGPUExtWindowsVM.parameters.json принимает следующие параметры:

"parameters": {
	"vmName": {
	"value": "<name of the VM>"
	},
	"extensionName": {
	"value": "<name for the extension. Example: windowsGpu>"
	},
	"publisher": {
	"value": "Microsoft.HpcCompute"
	},
	"type": {
	"value": "NvidiaGpuDriverWindows"
	},
	"typeHandlerVersion": {
	"value": "1.5"
	},
	"settings": {
	"value": {
	"DriverURL" : "http://us.download.nvidia.com/tesla/511.65/511.65-data-center-tesla-desktop-winserver-2016-2019-2022-dch-international.exe",
	"DriverCertificateUrl" : "https://go.microsoft.com/fwlink/?linkid=871664",
	"DriverType":"CUDA"
	}
	}
	}

Версии ниже 2205

Файл addGPUExtWindowsVM.parameters.json принимает следующие параметры:

"parameters": {
	"vmName": {
	"value": "<name of the VM>"
	},
	"extensionName": {
	"value": "<name for the extension. Example: windowsGpu>"
	},
	"publisher": {
	"value": "Microsoft.HpcCompute"
	},
	"type": {
	"value": "NvidiaGpuDriverWindows"
	},
	"typeHandlerVersion": {
	"value": "1.3"
	},
	"settings": {
	"value": {
	"DriverURL" : "http://us.download.nvidia.com/tesla/442.50/442.50-tesla-desktop-winserver-2019-2016-international.exe",
	"DriverCertificateUrl" : "https://go.microsoft.com/fwlink/?linkid=871664",
	"DriverType":"CUDA"
	}
	}
	}

Развертывание шаблона

Разверните шаблон addGPUextensiontoVM.json для установки расширения на существующей виртуальной машине.

Выполните следующую команду:

$templateFile = "<Path to addGPUextensiontoVM.json>"
$templateParameterFile = "<Path to addGPUExtWindowsVM.parameters.json>"
RGName = "<Name of your resource group>"
New-AzureRmResourceGroupDeployment -ResourceGroupName $RGName -TemplateFile $templateFile -TemplateParameterFile $templateParameterFile -Name "<Name for your deployment>"

Примечание.

Развертывание расширения выполняется как длительное задание и может занять около 10 минут.

Ниже приведен пример выходных данных.

PS C:\WINDOWS\system32> "C:\12-09-2020\ExtensionTemplates\addGPUextensiontoVM.json"
C:\12-09-2020\ExtensionTemplates\addGPUextensiontoVM.json
PS C:\WINDOWS\system32> $templateFile = "C:\12-09-2020\ExtensionTemplates\addGPUextensiontoVM.json"
PS C:\WINDOWS\system32> $templateParameterFile = "C:\12-09-2020\ExtensionTemplates\addGPUExtWindowsVM.parameters.json"
PS C:\WINDOWS\system32> $RGName = "myasegpuvm1"
PS C:\WINDOWS\system32> New-AzureRmResourceGroupDeployment -ResourceGroupName $RGName -TemplateFile $templateFile -TemplateParameterFile $templateParameterFile -Name "deployment3"

DeploymentName          : deployment3
ResourceGroupName       : myasegpuvm1
ProvisioningState       : Succeeded
Timestamp               : 12/16/2020 12:18:50 AM
Mode                    : Incremental
TemplateLink            :
Parameters              :
                       Name             Type                       Value
                       ===============  =========================  ==========
                       vmName           String                     VM2
                       extensionName    String                     windowsgpuext
                       publisher        String                     Microsoft.HpcCompute
                       type             String                     NvidiaGpuDriverWindows
                       typeHandlerVersion  String                     1.3
                       settings         Object                     {
                         "DriverURL": "http://us.download.nvidia.com/tesla/442.50/442.50-tesla-desktop-winserver-2019-2016-international.exe",
                         "DriverCertificateUrl": "https://go.microsoft.com/fwlink/?linkid=871664",
                         "DriverType": "CUDA"
                       }

Outputs                 :
DeploymentDebugLogLevel :
PS C:\WINDOWS\system32>

Отслеживание хода развертывания

Чтобы проверка состояние развертывания расширений для данной виртуальной машины, откройте другой сеанс PowerShell (запуск от имени администратора), а затем выполните следующую команду:

Get-AzureRmVMExtension -ResourceGroupName <Name of resource group> -VMName <Name of VM> -Name <Name of the extension>

Ниже приведен пример выходных данных.

PS C:\WINDOWS\system32> Get-AzureRmVMExtension -ResourceGroupName myasegpuvm1 -VMName VM2 -Name windowsgpuext

ResourceGroupName       : myasegpuvm1
VMName                  : VM2
Name                    : windowsgpuext
Location                : dbelocal
Etag                    : null
Publisher               : Microsoft.HpcCompute
ExtensionType           : NvidiaGpuDriverWindows
TypeHandlerVersion      : 1.3
Id                      : /subscriptions/947b3cfd-7a1b-4a90-7cc5-e52caf221332/resourceGroups/myasegpuvm1/providers/Microsoft.Compute/virtualMachines/VM2/extensions/windowsgpuext
PublicSettings          : {
                            "DriverURL": "http://us.download.nvidia.com/tesla/442.50/442.50-tesla-desktop-winserver-2019-2016-international.exe",
                            "DriverCertificateUrl": "https://go.microsoft.com/fwlink/?linkid=871664",
                            "DriverType": "CUDA"
                          }
ProtectedSettings       :
ProvisioningState       : Creating
Statuses                :
SubStatuses             :
AutoUpgradeMinorVersion : True
ForceUpdateTag          :

PS C:\WINDOWS\system32>

Выходные данные выполнения расширения регистрируются в следующем файле. Проверьте файл C:\Packages\Plugins\Microsoft.HpcCompute.NvidiaGpuDriverWindows\1.3.0.0\Status для отслеживания состояния установки.

В случае успешной установки message будет иметь значение Enable Extension, а status — значение success.

"status":  {
                       "formattedMessage":  {
                                                "message":  "Enable Extension",
                                                "lang":  "en"
                                            },
                       "name":  "NvidiaGpuDriverWindows",
                       "status":  "success",

Проверка установки драйверов

Войдите на виртуальную машину и запустите программу командной строки nvidia-smi, которая устанавливается вместе с драйвером.

Версия 2205 и выше

nvidia-smi.exe находится по адресу C:\Windows\System32\nvidia-smi.exe. Если файл не отображается, возможно, установка драйвера по-прежнему выполняется в фоновом режиме. Подождите 10 минут и проверьте файл снова.

Версии ниже 2205

nvidia-smi.exe находится по адресу C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe. Если файл не отображается, возможно, установка драйвера по-прежнему выполняется в фоновом режиме. Подождите 10 минут и проверьте файл снова.

Если драйвер установлен, отобразятся выходные данные примерно такого вида:

PS C:\Users\Administrator> cd "C:\Program Files\NVIDIA Corporation\NVSMI"
PS C:\Program Files\NVIDIA Corporation\NVSMI> ls

    Directory: C:\Program Files\NVIDIA Corporation\NVSMI

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        2/26/2020  12:00 PM         849640 MCU.exe
-a----        2/26/2020  12:00 PM         443104 nvdebugdump.exe
-a----        2/25/2020   2:06 AM          81823 nvidia-smi.1.pdf
-a----        2/26/2020  12:01 PM         566880 nvidia-smi.exe
-a----        2/26/2020  12:01 PM         991344 nvml.dll

PS C:\Program Files\NVIDIA Corporation\NVSMI> .\nvidia-smi.exe
Wed Dec 16 00:35:51 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 442.50       Driver Version: 442.50       CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name            TCC/WDDM | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla T4            TCC  | 0000503C:00:00.0 Off |                    0 |
| N/A   35C    P8    11W /  70W |      8MiB / 15205MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+
PS C:\Program Files\NVIDIA Corporation\NVSMI>

Дополнительные сведения см. в статье Расширение драйвера GPU NVIDIA для Windows.

Примечание.

После завершения установки драйвера GPU и расширения GPU вам больше не потребуется использовать порт с доступом к Интернету для вычислений.

Удаление расширения GPU

Чтобы удалить расширение GPU, используйте следующую команду:

Remove-AzureRmVMExtension -ResourceGroupName <Resource group name> -VMName <VM name> -Name <Extension name>

Ниже приведен пример выходных данных.

PS C:\azure-stack-edge-deploy-vms> Remove-AzureRmVMExtension -ResourceGroupName rgl -VMName WindowsVM -Name windowsgpuext
Virtual machine extension removal operation
This cmdlet will remove the specified virtual machine extension. Do you want to continue? [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y
Requestld IsSuccessStatusCode StatusCode ReasonPhrase
--------- ------------------- ---------- ------------
          True                OK         OK

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

Вы узнаете, как выполнять следующие задачи: