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 拡張機能をインストールするための手順について説明します。
Note
- Azure portal では、VM の作成時または VM のデプロイ後に GPU 拡張機能をインストールできます。 手順と要件については、GPU 仮想マシンをデプロイ するに関する記事を参照してください。
- Windows 2016 VHD を実行している場合は、2205 以降に GPU 拡張機能をインストールする前に、VM 内で TLS 1.2 を有効にする必要があります。 詳細な手順については、「Azure Stack Edge Pro GPU 上の GPU VM 向け GPU 拡張機能に関する問題のトラブルシューティング」を参照してください。
前提条件
デバイスで実行されている GPU VM に GPU 拡張機能をインストールする前に、次のことを確認してください。
1 つ以上の GPU VM をデプロイする Azure Stack Edge デバイスにアクセスできること。 デバイスに GPU VM をデプロイする方法に関するページを参照してください。
デバイス上のコンピューティング ネットワーク用に有効になっているポートがインターネットに接続されていて、アクセス可能であることを確認してください。 GPU ドライバーは、インターネット アクセスを通じてダウンロードされます。
次の例では、ポート 2 がインターネットに接続され、コンピューティング ネットワークを有効にするために使用されています。 環境に Kubernetes がデプロイされていない場合は、Kubernetes ノード IP と外部サービス IP の割り当てをスキップできます。
クライアント コンピューターに GPU 拡張テンプレートとパラメーター ファイルをダウンロードします。 それを、作業ディレクトリとして使用するディレクトリに解凍します。
デバイスへのアクセスに使用するクライアントが、Azure PowerShell 経由で Azure Resource Manager にまだ接続されていることを確認します。 Azure Stack Edge デバイスが再起動されると、Azure Resource Manager への接続は 1.5 時間ごとに有効期限が切れます。 この場合、実行するすべてのコマンドレットで、Azure に接続されていないことを示すエラー メッセージが返されます。 もう一度サインインする必要があります。 詳細な手順については、「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>"
Note
拡張機能のデプロイは長時間実行されるジョブであり、完了するまでに約 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
ファイルを参照してください。
正常にインストールされると、success
の Enable Extension
と status
を含む message
が表示されます。
"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 ドライバー拡張機能」を参照してください。
Note
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
次のステップ
具体的には、次の方法を学習します。