Condividi tramite


Installare l'estensione GPU nelle macchine virtuali per il dispositivo AZURE Stack Edge Pro GPU

Attenzione

Questo articolo fa riferimento a CentOS, una distribuzione Linux vicina allo stato end of life (EOL). Prendere in considerazione l'uso e la pianificazione di conseguenza. Per altre informazioni, vedere le linee guida per la fine della vita di CentOS.

SI APPLICA A:Sì per Pro - SKU GPUAzure Stack Edge Pro - GPUSì per lo SKU Pro 2Azure Stack Edge Pro 2Sì per lo SKU Pro RAzure 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

Prerequisiti

Prima di installare l'estensione GPU nelle macchine virtuali GPU in esecuzione nel dispositivo, assicurarsi che:

  1. È possibile accedere a un dispositivo Azure Stack Edge in cui sono state distribuite 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.

      Screenshot del riquadro Calcolo per un dispositivo Azure Stack Edge. Le impostazioni di calcolo per la porta 2 sono evidenziate.

  2. Scaricare i modelli di estensione GPU e i file di parametri nel computer client. Decomprimerlo in una directory che verrà usata come directory di lavoro.

  3. 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. Sarà necessario eseguire di nuovo l'accesso. Per istruzioni dettagliate, vedere Connessione ad Azure Resource Manager nel dispositivo Azure Stack Edge.

Modificare il file dei parametri

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 addGPUExtWindowsVM.parameters.json file dei parametri 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.

Ecco 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>

Ecco 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/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>

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 riuscita è indicata da e messageEnable Extensionstatus come 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

l'oggetto 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

l'oggetto 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, viene visualizzato un output 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 GPU, usare il comando seguente:

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

Ecco 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: