다음을 통해 공유


Azure Stack Edge Pro GPU 디바이스에서 VM에 GPU 확장 설치

적용 대상: Pro - GPU SKU의 경우 예Azure Stack Edge Pro - GPUPro 2 SKU의 경우 예Azure Stack Edge Pro 2Pro R SKU의 경우 예Azure Stack Edge Pro R

이 문서에서는 Azure Stack Edge 디바이스에서 실행되는 GPU VM에 적절한 Nvidia 드라이버를 설치하기 위해 GPU 드라이버 확장을 설치하는 방법을 설명합니다. 이 문서에서는 Windows 및 Linux VM 둘 다에서 Azure Resource Manager 템플릿을 사용하여 GPU 확장을 설치하는 설치 단계에 대해 설명합니다.

참고 항목

필수 조건

디바이스에서 실행되는 GPU VM에 GPU 확장을 설치하기 전에 다음을 확인합니다.

  1. 하나 이상의 GPU VM을 배포하는 Azure Stack Edge 디바이스에 액세스할 수 있습니다. 디바이스에 GPU VM을 배포하는 방법을 참조하세요.

    • 디바이스의 컴퓨팅 네트워크에 대해 사용하도록 설정된 포트가 인터넷에 연결되어 있고 액세스 권한이 있는지 확인합니다. 인터넷 액세스를 통해 GPU 드라이버가 다운로드됩니다.

      다음은 포트 2가 인터넷에 연결되어 있고 컴퓨팅 네트워크를 사용하도록 설정하는 데 사용된 경우의 예입니다. Kubernetes가 환경에 배포되지 않은 경우 Kubernetes 노드 IP 및 외부 서비스 IP 할당을 건너뛰어도 됩니다.

      Azure Stack Edge 디바이스에 대한 Compute 창의 스크린샷. 포트 2의 컴퓨팅 설정이 강조 표시됩니다.

  2. 클라이언트 머신에 GPU 확장 템플릿 및 매개 변수 파일을 다운로드합니다. 작업 디렉터리로 사용하는 디렉터리에 압축을 풉니다.

  3. 디바이스에 액세스하는 데 사용하려는 클라이언트가 Azure PowerShell을 통해 Azure Resource Manager에 여전히 연결되어 있는지 확인합니다. Azure Resource Manager에 대한 연결은 1시간 30분마다 또는 Azure Stack Edge Pro 디바이스를 다시 시작하는 경우 만료됩니다. 이런 경우 실행 하는 모든 cmdlet은 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>"

참고 항목

확장 배포는 장기 실행 작업이며 완료하는 데 약 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/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>

확장 실행 출력은 다음 파일에 기록됩니다. 설치 상태를 추적하려면 이 파일 C:\Packages\Plugins\Microsoft.HpcCompute.NvidiaGpuDriverWindows\1.3.0.0\Status을 참조하세요.

설치가 성공적으로 완료되면 successEnable Extensionstatus가 포함된 message가 표시됩니다.

"status":  {
                       "formattedMessage":  {
                                                "message":  "Enable Extension",
                                                "lang":  "en"
                                            },
                       "name":  "NvidiaGpuDriverWindows",
                       "status":  "success",

드라이버 설치 확인

VM에 로그인하고 드라이버와 함께 설치된 nvidia-smi 명령줄 유틸리티를 실행합니다.

버전 2205 이상

nvidia-smi.exeC:\Windows\System32\nvidia-smi.exe에 있습니다. 이 파일이 표시되지 않아도 드라이버 설치는 백그라운드에서 계속 실행될 수 있습니다. 10분 동안 기다린 후 다시 확인합니다.

2205보다 낮은 버전

nvidia-smi.exeC:\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

다음 단계

다음의 방법을 알아보세요.