Compartilhar via


Instalar a extensão de GPU em VMs do dispositivo de GPU do Azure Stack Edge Pro

APLICA-SE A: Sim para Pro – SKU de GPUAzure Stack Edge Pro - GPUSim, ao SKU do Pro 2Azure Stack Edge Pro 2Sim, ao SKU do Pro RAzure Stack Edge Pro R

Este artigo descreve como instalar a extensão do driver GPU para instalar os drivers Nvidia apropriados nas VMs de GPU em execução no dispositivo do Azure Stack Edge. O artigo aborda as etapas de instalação para instalar uma extensão de GPU usando modelos do Azure Resource Manager em VMs do Windows e do Linux.

Observação

Pré-requisitos

Antes de instalar a extensão de GPU nas VMs de GPU em execução no dispositivo, verifique se:

  1. Você tem acesso a um dispositivo do Azure Stack Edge no qual implantou uma ou mais VMs de GPU. Consulte como Implantar uma VM de GPU no dispositivo.

    • Verifique se a porta habilitada para rede de computação no dispositivo esteja conectada à Internet e tenha acesso. Os drivers GPU são baixados por meio do acesso à Internet.

      Veja um exemplo em que a Porta 2 foi conectada à Internet e usada para habilitar a rede de computação. Se o Kubernetes não estiver implantado no ambiente, é possível ignorar o IP do nó do Kubernetes e a atribuição do IP do serviço externo.

      Captura de tela do painel computação para um dispositivo do Azure Stack Edge. As configurações de computação para a porta 2 estão realçadas.

  2. Baixe os modelos de extensão de GPU e os arquivos de parâmetros na máquina cliente. Descompacte-o em um diretório que você usa como um diretório de trabalho.

  3. Verifique se o cliente que será usado para acessar o dispositivo ainda está conectado ao Azure Resource Manager pelo Azure PowerShell. A conexão com o Azure Resource Manager expira a cada 1,5 horas, ou se o dispositivo Azure Stack Edge for reiniciado. Se isso acontecer, todos os cmdlets que forem executados retornarão mensagens de erro informando que você não está mais conectado ao Azure. Você precisa entrar novamente. Para obter instruções detalhadas, consulte Conectar-se a Azure Resource Manager no dispositivo Azure Stack Edge.

Editar arquivo de parâmetros

Dependendo do sistema operacional da VM, é possível instalar a extensão de GPU para Windows ou para Linux.

Para implantar drivers GPU da Nvidia para uma VM existente, edite o addGPUExtWindowsVM.parameters.json arquivo de parâmetros e implante o modelo addGPUextensiontoVM.json.

Versão 2205 e superiores

O arquivo addGPUExtWindowsVM.parameters.json usa os seguintes parâmetros:

"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"
	}
	}
	}

Versões inferiores à 2205

O arquivo addGPUExtWindowsVM.parameters.json usa os seguintes parâmetros:

"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"
	}
	}
	}

Implantar modelo

Implante o modelo addGPUextensiontoVM.json para instalar a extensão em uma VM existente.

Execute o comando a seguir:

$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>"

Observação

A implantação da extensão é um trabalho de execução prolongada e demora cerca de 10 minutos para ser concluída.

Aqui está um exemplo de saída:

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>

Acompanhar a implantação

Para verificar o estado de implantação de extensões de uma determinada VM, abra outra sessão do PowerShell (execute como administrador) e execute o seguinte comando:

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

Aqui está um exemplo de saída:

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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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>

A saída de execução da extensão é registrada no arquivo a seguir. Consulte este arquivo C:\Packages\Plugins\Microsoft.HpcCompute.NvidiaGpuDriverWindows\1.3.0.0\Status para acompanhar o status da instalação.

Uma instalação bem-sucedida exibe um message com Enable Extension e status de success.

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

Verificar a instalação de drivers

Entre na VM e execute o utilitário de linha de comando nvidia-smi instalado com o driver.

Versão 2205 e superiores

O nvidia-smi.exe está localizado em C:\Windows\System32\nvidia-smi.exe. Se você não visualizar o arquivo, talvez a instalação do driver ainda esteja em execução em segundo plano. Aguarde 10 minutos e verifique novamente.

Versões inferiores à 2205

O nvidia-smi.exe está localizado em C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe. Se você não visualizar o arquivo, talvez a instalação do driver ainda esteja em execução em segundo plano. Aguarde 10 minutos e verifique novamente.

Se o driver estiver instalado, você verá uma saída semelhante ao seguinte exemplo:

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>

Para obter mais informações, consulte Extensão de driver GPU da Nvidia para Windows.

Observação

Depois de concluir a instalação do driver de GPU e da extensão de GPU, você não precisará mais usar uma porta com acesso à Internet para computação.

Remover a extensão de GPU

Para remover a extensão de GPU, use o seguinte comando:

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

Aqui está um exemplo de saída:

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

Próximas etapas

Saiba como: