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: Azure Stack Edge Pro con GPUAzure Stack Edge Pro 2Azure 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:
- En Azure Portal, puede instalar una extensión de GPU durante la creación de la VM o posteriormente. Para ver los pasos y requisitos, consulte Implementación de máquinas virtuales de GPU.
- Si ejecuta un VHD de Windows 2016, debe habilitar TLS 1.2 dentro de la máquina virtual antes de instalar la extensión de GPU en 2205 y versiones posteriores. Para pasos más detallados, consulte Solución de problemas de extensión de GPU para VM de GPU en GPU de Azure Stack Edge Pro.
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:
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.
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.
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: