Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: Azure Local 2311.2 i nowsze
W tym artykule opisano, jak przygotować graficzne jednostki przetwarzania (GPU) na lokalnym wystąpieniu platformy Azure dla obciążeń wymagających dużej mocy obliczeniowej, które działają na lokalnych maszynach wirtualnych uruchomionych dzięki Azure Arc i Azure Kubernetes Service (AKS) w ramach Azure Arc. GPU są używane do obciążeń wymagających dużej mocy obliczeniowej, takich jak uczenie maszynowe i uczenie głębokie.
Dołączanie procesorów GPU na platformie Azure lokalnie
Możesz dołączyć procesory GPU na jeden z dwóch sposobów dla usługi Azure Local:
Dyskretne przypisanie urządzenia (DDA) — umożliwia przypisanie fizycznego procesora GPU do zadania. We wdrożeniu DDA zwirtualizowane obciążenia są uruchamiane na sterowniku natywnym i zwykle mają pełny dostęp do funkcji procesora GPU. DDA oferuje najwyższy poziom zgodności aplikacji i potencjalną wydajność.
Partycjonowanie procesora GPU (GPU-P) — umożliwia udostępnianie procesora GPU z wieloma obciążeniami przez podzielenie procesora GPU na dedykowane partycje ułamkowe.
Rozważ następujące funkcje i różnice w obsłudze między dwiema opcjami korzystania z procesorów GPU:
opis | Przypisanie urządzeń dyskretnych | Partycjonowanie procesora GPU |
---|---|---|
Model zasobów procesora GPU | Całe urządzenie | Równo partycjonowane urządzenie |
Gęstość maszyn wirtualnych | Niski (jeden procesor GPU do jednej maszyny wirtualnej) | Wysoki (jeden procesor GPU do wielu maszyn wirtualnych) |
Zgodność aplikacji | Wszystkie możliwości procesora GPU udostępniane przez dostawcę (DX 12, OpenGL, CUDA) | Wszystkie możliwości procesora GPU udostępniane przez dostawcę (DX 12, OpenGL, CUDA) |
Pamięć VRAM GPU | Maksymalna ilość VRAM obsługiwana przez GPU | Maksymalna ilość VRAM obsługiwana przez GPU na partycję. |
Sterownik GPU w systemie gościa | Sterownik dostawcy procesora GPU (NVIDIA) | Sterownik dostawcy procesora GPU (NVIDIA) |
Obsługiwane modele procesora GPU
Aby wyświetlić pełną listę obsługiwanych rozwiązań i dostępnych procesorów GPU, zobacz Rozwiązania lokalne platformy Azure i wybierz pozycję Obsługa procesora GPU w menu po lewej stronie, aby uzyskać opcje.
Firma NVIDIA obsługuje obciążenia oddzielnie przy użyciu oprogramowania wirtualnego procesora GPU. Aby uzyskać więcej informacji, zobacz Microsoft Azure Local — supported NVIDIA GPU and Validated Server Platforms (Lokalne — obsługiwane procesory GPU FIRMY NVIDIA i zweryfikowane platformy serwerów).
W przypadku obciążeń usługi AKS zobacz Procesory GPU dla usługi AKS dla usługi Arc.
Następujące modele procesora GPU są obsługiwane przy użyciu zarówno DDA, jak i GPU-P dla obciążeń maszyn wirtualnych lokalnych platformy Azure:
- NVIDIA A2
- NVIDIA A16
Te dodatkowe modele procesora GPU są obsługiwane przy użyciu GPU-P (tylko) dla obciążeń maszyn wirtualnych:
- NVIDIA A10
- NVIDIA A40
- NVIDIA L4
- NVIDIA L40
- NVIDIA L40S
Wymagania dotyczące hosta
Host lokalny platformy Azure musi spełniać następujące wymagania:
System musi obsługiwać rozwiązanie lokalne platformy Azure z obsługą procesora GPU. Aby przeglądać opcje, zobacz Katalog lokalny platformy Azure.
Masz dostęp do usługi Azure Local.
Należy utworzyć jednorodną konfigurację procesorów GPU na wszystkich maszynach w systemie. Jednorodna konfiguracja polega na instalowaniu tego samego modelu i marki GPU.
W przypadku GPU-P upewnij się, że obsługa wirtualizacji i SR-IOV są włączone w BIOS każdej maszyny w systemie. Skontaktuj się z dostawcą sprzętu, jeśli nie możesz zidentyfikować poprawnego ustawienia w systemie BIOS.
Przygotowywanie sterowników procesora GPU na każdym hoście
Proces przygotowywania i instalowania sterowników procesora GPU dla każdej maszyny różni się nieco między procesorem DDA i procesorem GPU-P. Postępuj zgodnie z odpowiednim procesem w danej sytuacji.
Znajdowanie procesorów GPU na każdym hoście
Najpierw upewnij się, że dla każdej maszyny nie zainstalowano sterownika. Jeśli jest zainstalowany sterownik hosta, odinstaluj sterownik hosta i uruchom ponownie maszynę.
Po odinstalowaniu sterownika hosta lub braku zainstalowanego sterownika uruchom program PowerShell jako administrator za pomocą następującego polecenia:
Get-PnpDevice -Status Error | fl FriendlyName, ClusterId
Urządzenia GPU powinny być wyświetlane w stanie błędu, tak jak pokazano w przykładowych danych wyjściowych, które zawierają przyjazną nazwę i identyfikator wystąpienia GPU.
[ASRR1N26R02U46A]: PS C:\Users\HCIDeploymentUser\Documents> Get-PnpDevice - Status Error
Status Class FriendlyName
------ ----- ------------
Error SD Host Controller
Error 3D Video Controller
Error 3D Video Controller
Error USB Unknown USB Device (Device Descriptor Request Failed)
[ASRR1N26R02U46A]: PS C:\Users\HCIDeploymentUser\Documents> Get-PnpDevice - Status Error | f1 InstanceId
InstanceId : PCI\VEN_8086&DEV_18DB&SUBSYS_7208086REV_11\3&11583659&0&E0
InstanceId : PCI\VEN_10DE&DEV_25B6&SUBSYS_157E10DE&REV_A1\4&23AD3A43&0&0010
InstanceId : PCI\VEN_10DE&DEV_25B6&SUBSYS_157E10DE&REV_A1\4&17F8422A&0&0010
InstanceId : USB\VID_0000&PID_0002\S&E492A46&0&2
Korzystanie z narzędzia DDA
Postępuj zgodnie z tym procesem, jeśli używasz narzędzia DDA:
1. Wyłączanie i odinstalowywanie procesorów GPU z hosta
W przypadku DDA podczas odinstalowywania sterownika hosta lub nowej konfiguracji lokalnej platformy Azure fizyczny procesor GPU przechodzi w stan błędu. Aby kontynuować, należy odinstalować wszystkie urządzenia gpu. Możesz użyć Menedżera urządzeń lub PowerShell, aby wyłączyć i odmontować procesor GPU przy użyciu uzyskanego ClusterID
w poprzednim kroku.
$id1 = "GPU_instance_ID"
Disable-PnpDevice -ClusterId $id1 -Confirm:$false
Dismount-VMHostAssignableDevice -ClusterPath $id1 -Force
Upewnij się, że GPU zostały poprawnie odłączone od komputera hosta. Procesory GPU będą się teraz znajdować w stanie Unknown
.
Get-PnpDevice -Status Unknown | fl FriendlyName, ClusterId
Powtórz ten proces dla każdej maszyny w systemie, aby przygotować procesory GPU.
2. Pobierz i zainstaluj sterownik ograniczania ryzyka
Oprogramowanie może zawierać składniki opracowane i należące do firmy NVIDIA Corporation lub jej licencjodawców. Korzystanie z tych składników podlega umowie licencyjnej użytkownika końcowego firmy NVIDIA.
Zapoznaj się z dokumentacją firmy NVIDIA , aby pobrać odpowiedni sterownik ograniczania ryzyka firmy NVIDIA. Po pobraniu sterownika rozwiń archiwum i zainstaluj sterownik ograniczania ryzyka na każdej maszynie hosta. Użyj następującego skryptu programu PowerShell, aby pobrać sterownik ograniczania ryzyka i wyodrębnić go:
Invoke-WebRequest -Uri "https://docs.nvidia.com/datacenter/tesla/gpu-passthrough/nvidia_azure_stack_inf_v2022.10.13_public.zip" -OutFile "nvidia_azure_stack_inf_v2022.10.13_public.zip"
mkdir nvidia-mitigation-driver
Expand-Archive .\nvidia_azure_stack_inf_v2022.10.13_public.zip .\nvidia-mitigation-driver
Po wyodrębnieniu plików sterowników ograniczania ryzyka znajdź wersję odpowiedniego modelu procesora GPU i zainstaluj go. Jeśli na przykład zainstalowano sterownik ograniczania ryzyka NVIDIA A2, uruchom następujące polecenie:
pnputil /add-driver nvidia_azure_stack_A2_base.inf /install /force
Aby potwierdzić instalację tych sterowników, uruchom polecenie:
pnputil /enum-devices OR pnputil /scan-devices
Powinny być widoczne prawidłowo zidentyfikowane procesory GPU w programie Get-PnpDevice
:
Get-PnpDevice -Class Display | fl FriendlyName, ClusterId
Powtórz powyższe kroki dla każdego hosta w środowisku lokalnym platformy Azure.
Korzystanie z procesora GPU-P
Postępuj zgodnie z tym procesem, jeśli używasz procesora GPU-P:
Pobieranie i instalowanie sterownika hosta
Procesor GPU-P wymaga sterowników na poziomie hosta, które różnią się od DDA. W przypadku procesorów GPU firmy NVIDIA na każdym hoście i na każdej maszynie wirtualnej, która będzie używać procesora GPU-P, będzie potrzebny sterownik graficzny nvidia vGPU. Aby uzyskać więcej informacji, zobacz najnowszą wersję dokumentacji procesorów vGPU firmy NVIDIA i szczegółowe informacje na temat licencjonowania klienta w Podręczniku użytkownika licencjonowania klienta.
Po zidentyfikowaniu GPU jako 3D Video Controller
na maszynie hosta, pobierz sterownik vGPU hosta. Dzięki swojej licencji NVIDIA GRID powinieneś móc uzyskać odpowiedni plik sterownika hosta w formacie .zip.
Należy uzyskać i przenieść następujący folder na maszynę hosta: \vGPU_<Your_vGPU_version>_GA_Azure_Stack_HCI_Host_Drivers
Przejdź do \vGPU_<Your_vGPU_version>_GA_Azure_Stack_HCI_Host_Drivers\Display.Driver i zainstaluj sterownik.
pnputil /add-driver .\nvgridswhci.inf /install /force
Aby potwierdzić instalację tych sterowników, uruchom polecenie:
pnputil /enum-devices
Powinny być widoczne prawidłowo zidentyfikowane procesory GPU w programie Get-PnpDevice
:
Get-PnpDevice -Class Display | fl FriendlyName, ClusterId
Możesz również uruchomić interfejs nvidia-smi
zarządzania systemem NVIDIA, aby wyświetlić listę procesorów GPU na maszynie hosta w następujący sposób:
nvidia-smi
Jeśli sterownik jest poprawnie zainstalowany, zobaczysz dane wyjściowe podobne do następującego przykładu:
Wed Nov 30 15:22:36 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 527.27 Driver Version: 527.27 CUDA Version: N/A |
|-------------------------------+----------------------+----------------------+
| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA A2 WDDM | 00000000:65:00.0 Off | 0 |
| 0% 24C P8 5W / 60W | 15192MiB / 15356MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
| 1 NVIDIA A2 WDDM | 00000000:66:00.0 Off | 0 |
| 0% 24C P8 5W / 60W | 15192MiB / 15356MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
Konfigurowanie liczby partycji procesora GPU
Wykonaj następujące kroki, aby skonfigurować liczbę partycji procesora GPU w programie PowerShell:
Uwaga
W przypadku korzystania z programu PowerShell należy ręcznie upewnić się, że konfiguracja procesora GPU jest jednorodna na wszystkich maszynach w środowisku lokalnym platformy Azure.
Nawiąż połączenie z maszyną, której liczba partycji procesora GPU ma zostać skonfigurowana.
Uruchom polecenie
Get-VMHostPartitionableGpu
i odnieś się do wartości Name i ValidPartitionCounts.Uruchom następujące polecenie, aby skonfigurować liczbę partycji. Zastąp
GPU-name
wartością Name ipartition-count
jedną z obsługiwanych liczb z ValidPartitionCountsSet-VMHostPartitionableGpu -Name "<GPU-name>" -PartitionCount <partition-count>
Na przykład następujące polecenie konfiguruje liczbę partycji na wartość
4
:PS C:\Users> Set-VMHostPartitionableGpu -Name "\\?\PCI#VEN_10DE&DEV_25B6&SUBSYS_157E10DE&REV_A1#4&18416dc3&0&0000#{064092b3-625e-43bf-9eb5-dc845897dd59}" -PartitionCount 4
Możesz ponownie uruchomić polecenie
Get-VMHostPartitionableGpu | FL Name,ValidPartitionCounts,PartitionCount
, aby sprawdzić, czy liczba partycji jest ustawiona na4
.Oto przykładowe dane wyjściowe:
PS C:\Users> Get-VMHostPartitionableGpu | FL Name,ValidPartitionCounts,PartitionCount Name : \\?\PCI#VEN_10DE&DEV_25B6&SUBSYS_157E10DE&REV_A1#4&18416dc3&0&0000#{064092b3-625e-43bf-9eb5-dc845897dd59} ValidPartitionCounts : {16, 8, 4, 2...} PartitionCount : 4 Name : \\?\PCI#VEN_10DE&DEV_25B6&SUBSYS_157E10DE&REV_A1#4&5906f5e&0&0010#{064092b3-625e-43bf-9eb5-dc845897dd59} ValidPartitionCounts : {16, 8, 4, 2...} PartitionCount : 4
Aby zachować jednorodność konfiguracji, powtórz kroki konfiguracji liczby partycji na każdej maszynie w systemie.
Wymagania dotyczące gościa
Zarządzanie procesorem GPU jest obsługiwane w przypadku następujących obciążeń maszyn wirtualnych:
Maszyny wirtualne generacji 2
Obsługiwany 64-bitowy system operacyjny zgodny z opisem w najnowszej sekcji dozwolonych produktów obsługiwanych przez vGPU firmy NVIDIA.