在適用於 Azure Stack Edge Pro GPU 裝置的 VM 上安裝 GPU 延伸模組
適用於:Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure Stack Edge Pro R
本文說明如何安裝 GPU 驅動程式延伸模組,以便為在 Azure Stack Edge 裝置上執行的 GPU VM 安裝適當的 Nvidia 驅動程式。 本文介紹在 Windows 和 Linux VM 上使用 Azure Resource Manager 範本安裝 GPU 延伸模組的步驟。
注意
- 在 Azure 入口網站中,您可以在 VM 建立期間或部署完成後安裝 GPU 延伸模組。 如需了解步驟和需求,請參閱部署 GPU 虛擬機器。
- 如果您執行 Windows 2016 VHD,您必須先在 VM 內啟用 TLS 1.2,才能在 2205 和更新版本上安裝 GPU 延伸模組。 如需詳細步驟,請參閱針對 Azure Stack Edge Pro GPU 上 GPU VM 的 GPU 延伸模組問題進行疑難排解。
必要條件
在裝置內執行的 GPU VM 上安裝 GPU 延伸模組之前,請確認以下事項:
您可以存取已部署一部或多部 GPU VM 的 Azure Stack Edge 裝置。 了解如何在裝置上部署 GPU VM。
請確定您裝置上針對計算網路啟用的連接埠,已連線到網際網路且具存取權。 GPU 驅動程式會透過網際網路存取下載。
以下是連接埠 2 連線到網際網路並用於啟用計算網路的範例。 如果您的環境未部署 Kubernetes,請略過 Kubernetes 節點 IP 和外部服務 IP 指派。
將 GPU 延伸模組範本和參數檔案下載到您的用戶端機器。 將其解壓縮到您用作工作目錄的目錄。
確認您將用來存取裝置的用戶端仍透過 Azure PowerShell 連線到 Azure Resource Manager。 與 Azure Resource Manager 的連線只能維持 1.5 小時,或維持到您的 Azure Stack Edge 裝置重新啟動為止。 如果斷線,由於您與 Azure 的連線已經中斷,因此所執行的任何 Cmdlet 都會傳回錯誤訊息。 您必須再次登入。 如需詳細指示,請參閱連線到 Azure Stack Edge 裝置上的 Azure Resource Manager。
編輯參數檔案
視 VM 的作業系統而定,您可以安裝適用於 Windows 或 Linux 的 GPU 延伸模組。
若要為現有的 VM 部署 Nvidia GPU 驅動程式,請編輯 addGPUExtWindowsVM.parameters.json
參數檔案,然後部署範本 addGPUextensiontoVM.json
。
第 2205 版和更新版本
addGPUExtWindowsVM.parameters.json
檔案需要下列參數:
"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"
}
}
}
版本低於 2205
addGPUExtWindowsVM.parameters.json
檔案需要下列參數:
"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"
}
}
}
部署範本
部署範本 addGPUextensiontoVM.json
,即可在現有的 VM 上安裝延伸模組。
執行下列命令:
$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>"
注意
延伸模組部署是長時間執行的作業,大約需要 10 分鐘才能完成。
以下是範例輸出:
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>
追蹤部署
若要檢查指定 VM 的延伸模組部署狀態,請開啟另一個 PowerShell 工作階段 (以系統管理員身分執行),然後執行下列命令:
Get-AzureRmVMExtension -ResourceGroupName <Name of resource group> -VMName <Name of VM> -Name <Name of the extension>
以下是範例輸出:
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>
擴充功能執行輸出會記錄至下列檔案。 請參考此檔案 C:\Packages\Plugins\Microsoft.HpcCompute.NvidiaGpuDriverWindows\1.3.0.0\Status
來追蹤安裝狀態。
成功安裝會顯示具有 Enable Extension
的 message
和 success
的 status
。
"status": {
"formattedMessage": {
"message": "Enable Extension",
"lang": "en"
},
"name": "NvidiaGpuDriverWindows",
"status": "success",
確認驅動程式安裝
請登入 VM 並執行與驅動程式一起安裝的 nvidia-smi 命令列公用程式。
第 2205 版和更新版本
nvidia-smi.exe
位於 C:\Windows\System32\nvidia-smi.exe
中。 如果您沒有看到檔案,代表驅動程式安裝可能仍在背景中執行。 等候 10 分鐘,然後再檢查一次。
版本低於 2205
nvidia-smi.exe
位於 C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe
中。 如果您沒有看到檔案,代表驅動程式安裝可能仍在背景中執行。 等候 10 分鐘,然後再檢查一次。
如果已安裝驅動程式,您會看到類似以下樣本的輸出:
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>
如需詳細資訊,請參閱適用於 Windows 的 Nvidia GPU 驅動程式延伸模組。
注意
安裝 GPU 驅動程式和 GPU 延伸模組之後,您不必再使用可存取網際網路的連接埠進行計算。
移除 GPU 延伸模組
若要移除 GPU 延伸模組,請使用下列命令:
Remove-AzureRmVMExtension -ResourceGroupName <Resource group name> -VMName <VM name> -Name <Extension name>
以下是範例輸出:
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
下一步
了解如何: