Compartir vía


Instalación de la extensión de GPU en máquinas virtuales en el dispositivo de GPU de Azure Stack Edge Pro

SE APLICA A: Sí para Pro: SKU de GPUAzure Stack Edge Pro con GPUSí para Pro 2 SKUAzure Stack Edge Pro 2Sí para Pro R SKUAzure Stack Edge Pro R

En este artículo se describe cómo instalar la extensión de controlador de GPU para instalar los controladores de Nvidia adecuados en las máquinas virtuales de GPU que se ejecutan en el dispositivo de Azure Stack Edge. En el artículo se tratan los pasos para instalar una extensión de GPU mediante plantillas de Azure Resource Manager en VM Windows y Linux.

Nota:

Requisitos previos

Antes de instalar la extensión de GPU en las máquinas virtuales de GPU que se ejecutan en el dispositivo, asegúrese de que:

  1. Tiene acceso a un dispositivo Azure Stack Edge en el que implementa una o varias GPU VM. Vea cómo implementar una máquina virtual de GPU en el dispositivo.

    • Asegúrese de que el puerto habilitado para la red de proceso en el dispositivo está conectado y tiene acceso a Internet. Los controladores de GPU se descargan mediante el acceso a Internet.

      Este es un ejemplo en el que el puerto 2 estaba conectado a Internet y se usaba para habilitar la red de proceso. Si no se ha implementado Kubernetes en el entorno, puede omitir la dirección IP del nodo de Kubernetes y la asignación de direcciones IP del servicio externo.

      Captura de pantalla del panel Proceso de un dispositivo Azure Stack Edge. La configuración de Proceso del puerto 2 está resaltada.

  2. Descargue las plantillas de extensión de GPU y los archivos de parámetros en la máquina cliente. Descomprímalo en un directorio que utilice como directorio de trabajo.

  3. Compruebe que el cliente que va a usar para acceder al dispositivo sigue conectado a Azure Resource Manager a través de Azure PowerShell. La conexión a Azure Resource Manager expira cada 1,5 horas o si se reinicia el dispositivo Azure Stack Edge. Si esto ocurre, los cmdlets que ejecute devolverán mensajes de error porque ya no está conectado a Azure. Debe iniciar sesión nuevamente. Para consultar las instrucciones detalladas, vaya a Conexión a Azure Resource Manager en un dispositivo Azure Stack Edge Pro.

Edición del archivo de parámetros

En función del sistema operativo de la máquina virtual, podría instalar la extensión de GPU para Windows o para Linux.

Para implementar los controladores de GPU de Nvidia para una máquina virtual existente, edite el archivo de parámetros addGPUExtWindowsVM.parameters.json y, a continuación, implemente la plantilla addGPUextensiontoVM.json.

Versión 2205 y superiores

El archivo addGPUExtWindowsVM.parameters.json toma los parámetros siguientes:

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

Versiones inferiores a 2205

El archivo addGPUExtWindowsVM.parameters.json toma los parámetros siguientes:

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

Implementar plantilla

Implemente la plantilla addGPUextensiontoVM.json para instalar la extensión en una máquina virtual existente.

Ejecute el comando siguiente:

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

Nota:

La implementación de la extensión es un trabajo de larga duración y tarda unos 10 minutos en completarse.

Este es una salida de ejemplo:

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>

Seguimiento de la implementación

Para comprobar el estado de implementación de las extensiones de una máquina virtual determinada, abra otra sesión de PowerShell (ejecutar como administrador) y después ejecutar el comando siguiente:

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

Este es una salida de ejemplo:

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>

La salida de la ejecución de las extensiones se registra en el archivo siguiente: Consulte el archivo C:\Packages\Plugins\Microsoft.HpcCompute.NvidiaGpuDriverWindows\1.3.0.0\Status para realizar un seguimiento del estado de la instalación.

Una instalación correcta muestra un message con Enable Extension y status de success.

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

Comprobación de la instalación del controlador

Inicie sesión en la máquina virtual y ejecute la utilidad de la línea de comandos nvidia-smi instalada con el controlador.

Versión 2205 y superiores

El archivo nvidia-smi.exe se encuentra en C:\Windows\System32\nvidia-smi.exe. Si no ve el archivo, es posible que la instalación del controlador siga ejecutándose en segundo plano. Espere 10 minutos y vuelva a comprobarlo.

Versiones inferiores a 2205

El archivo nvidia-smi.exe se encuentra en C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe. Si no ve el archivo, es posible que la instalación del controlador siga ejecutándose en segundo plano. Espere 10 minutos y vuelva a comprobarlo.

Si el controlador está instalado, verá una salida similar a la del ejemplo siguiente:

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 más información, consulte Extensión del controlador de GPU de NVIDIA para Windows.

Nota:

Cuando termine de instalar el controlador de GPU y la extensión de GPU, ya no tendrá que usar un puerto con acceso a Internet para el proceso.

Eliminación de la extensión de GPU

Para eliminar la extensión de GPU, use el siguiente comando:

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

Este es una salida de ejemplo:

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

Pasos siguientes

Obtenga información sobre cómo: