Installare l'estensione GPU nelle macchine virtuali per il dispositivo Azure Stack Edge Pro GPU
SI APPLICA A: Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure Stack Edge Pro R
Questo articolo descrive come installare l'estensione del driver GPU per installare i driver Nvidia appropriati nelle macchine virtuali GPU in esecuzione nel dispositivo Azure Stack Edge. L'articolo illustra i passaggi di installazione per l'installazione di un'estensione GPU usando i modelli di Azure Resource Manager nelle macchine virtuali Windows e Linux.
Nota
- Nel portale di Azure, è possibile installare un'estensione GPU durante la creazione della macchina virtuale o dopo la distribuzione della macchina virtuale. Per i passaggi e i requisiti, vedere Distribuire macchine virtuali GPU.
- Se si esegue un disco rigido virtuale Windows 2016, è necessario abilitare TLS 1.2 all'interno della macchina virtuale prima di installare l'estensione GPU su 2205 e versioni successive. Per i passaggi dettagliati, vedere Risolvere i problemi di estensione GPU per le macchine virtuali GPU in Azure Stack Edge Pro GPU.
Prerequisiti
Prima di installare l'estensione GPU nelle macchine virtuali GPU in esecuzione nel dispositivo, assicurarsi che:
sia possibile accedere a un dispositivo Azure Stack Edge in cui si distribuiscono una o più macchine virtuali GPU. Vedere come distribuire una macchina virtuale GPU nel dispositivo.
Assicurarsi che la porta abilitata per la rete di calcolo nel dispositivo sia connessa a Internet e abbia accesso. I driver GPU vengono scaricati tramite l'accesso a Internet.
Ecco un esempio in cui la porta 2 è stata connessa a Internet ed è stata usata per abilitare la rete di calcolo. Se Kubernetes non viene distribuito nell'ambiente, è possibile ignorare l'assegnazione IP del nodo Kubernetes e l'indirizzo IP del servizio esterno.
Scaricare i modelli di estensione GPU e i file di parametri nella macchina client. Decomprimerlo in una directory usata come directory di lavoro.
Verificare che il client che si userà per accedere al dispositivo sia ancora connesso ad Azure Resource Manager tramite Azure PowerShell. La connessione ad Azure Resource Manager scade ogni 1,5 ore o se il dispositivo Azure Stack Edge viene riavviato. In questo caso, tutti i cmdlet eseguiti restituiranno messaggi di errore all'effetto che non si è più connessi ad Azure. È necessario eseguire di nuovo l'accesso. Per istruzioni dettagliate, vedere Connettersi ad Azure Resource Manager nel dispositivo Azure Stack Edge.
Modificare file dei parametri JSON
A seconda del sistema operativo per la macchina virtuale, è possibile installare l'estensione GPU per Windows o per Linux.
Per distribuire driver GPU Nvidia per una macchina virtuale esistente, modificare il file dei parametri addGPUExtWindowsVM.parameters.json
e quindi distribuire il modello addGPUextensiontoVM.json
.
Versione 2205 e successive
Il file addGPUExtWindowsVM.parameters.json
accetta i parametri seguenti:
"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"
}
}
}
Versioni inferiori a 2205
Il file addGPUExtWindowsVM.parameters.json
accetta i parametri seguenti:
"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"
}
}
}
Distribuire un modello
Distribuire il modello addGPUextensiontoVM.json
per installare l'estensione in una macchina virtuale esistente.
Eseguire il comando riportato di seguito:
$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 distribuzione dell'estensione è un processo a esecuzione prolungata e il completamento richiede circa 10 minuti.
Di seguito è riportato un output di esempio:
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>
Tenere traccia della distribuzione
Per controllare lo stato di distribuzione delle estensioni per una determinata macchina virtuale, aprire un'altra sessione di PowerShell (esegui come amministratore) e quindi eseguire il comando seguente:
Get-AzureRmVMExtension -ResourceGroupName <Name of resource group> -VMName <Name of VM> -Name <Name of the extension>
Di seguito è riportato un output di esempio:
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>
L'output dell'esecuzione dell'estensione viene registrato nel file seguente. Fare riferimento a questo file C:\Packages\Plugins\Microsoft.HpcCompute.NvidiaGpuDriverWindows\1.3.0.0\Status
per tenere traccia dello stato dell'installazione.
Un'installazione completata visualizza un oggetto message
con Enable Extension
e status
di success
.
"status": {
"formattedMessage": {
"message": "Enable Extension",
"lang": "en"
},
"name": "NvidiaGpuDriverWindows",
"status": "success",
Verificare l'installazione del driver
Accedere alla macchina virtuale ed eseguire l'utilità della riga di comando nvidia-smi installata con il driver.
Versione 2205 e successive
nvidia-smi.exe
si trova in C:\Windows\System32\nvidia-smi.exe
. Se il file non viene visualizzato, è possibile che l'installazione del driver sia ancora in esecuzione in background. Attendere 10 minuti e riprovare.
Versioni inferiori a 2205
nvidia-smi.exe
si trova in C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe
. Se il file non viene visualizzato, è possibile che l'installazione del driver sia ancora in esecuzione in background. Attendere 10 minuti e riprovare.
Se il driver è installato, l'output sarà simile all'esempio seguente:
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>
Per altre informazioni, vedere Estensione del driver GPU Nvidia per Windows.
Nota
Al termine dell'installazione del driver GPU e dell'estensione GPU, non è più necessario usare una porta con accesso a Internet per il calcolo.
Rimuovere l'estensione GPU
Per rimuovere l'estensione della GPU, usare il comando seguente:
Remove-AzureRmVMExtension -ResourceGroupName <Resource group name> -VMName <VM name> -Name <Extension name>
Di seguito è riportato un output di esempio:
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
Passaggi successivi
Scopri come: