Příprava GPU pro místní Azure (Preview)
Platí pro: Azure Local 2311.2 a novější
Tento článek popisuje přípravu grafických procesorů (GPU) na místní instanci Azure pro výpočetní úlohy spuštěné na virtuálních počítačích Arc a AKS s podporou Azure Arc. Gpu se používají pro úlohy náročné na výpočty, jako je strojové učení a hluboké učení.
Důležité
Tato funkce je aktuálně ve verzi PREVIEW. Právní podmínky, které platí pro funkce Azure, které jsou ve verzi beta, verzi Preview nebo které zatím nejsou veřejně dostupné, najdete v Dodatečných podmínkách použití pro Microsoft Azure verze Preview.
Připojení grafických procesorů v Místním prostředí Azure
Gpu můžete připojit jedním ze dvou způsobů pro místní Azure:
Diskrétní přiřazení zařízení (DDA) – umožňuje vyhradit fyzické GPU pro vaši úlohu. V nasazení DDA běží virtualizované úlohy na nativním ovladači a obvykle mají úplný přístup k funkcím GPU. DDA nabízí nejvyšší úroveň kompatibility aplikací a potenciálního výkonu.
Dělení GPU (GPU-P) – umožňuje sdílet GPU s několika úlohami rozdělením GPU na vyhrazené zlomkové oddíly.
Vezměte v úvahu následující funkce a podporu rozdílů mezi těmito dvěma možnostmi použití grafických procesorů:
Popis | Přiřazení diskrétního zařízení | Dělení GPU |
---|---|---|
Model prostředků GPU | Celé zařízení | Rovnoměrně dělené zařízení |
Hustota virtuálních počítačů | Nízká (jeden GPU na jeden virtuální počítač) | Vysoká (jeden GPU na mnoho virtuálních počítačů) |
Kompatibilita aplikací | Všechny možnosti GPU poskytované dodavatelem (DX 12, OpenGL, CUDA) | Všechny možnosti GPU poskytované dodavatelem (DX 12, OpenGL, CUDA) |
GPU VRAM | Až VRAM podporované GPU | Až VRAM podporované GPU na oddíl |
Ovladač GPU v hostu | Ovladač dodavatele GPU (NVIDIA) | Ovladač dodavatele GPU (NVIDIA) |
Podporované modely GPU
Úplný seznam podporovaných řešení a grafických procesorů, které jsou k dispozici, najdete v tématu Místní řešení Azure a výběrem podpory GPU v nabídce vlevo zobrazíte možnosti.
NVIDIA podporuje své úlohy samostatně pomocí svého virtuálního softwaru GPU. Další informace naleznete v tématu Microsoft Azure Local – Podporované grafické procesory NVIDIA a ověřené serverové platformy.
Úlohy AKS najdete v tématu GPU pro AKS pro Arc.
Následující modely GPU se podporují pomocí DDA i GPU-P pro úlohy virtuálních počítačů Arc:
- NVIDIA A2
- NVIDIA A16
Tyto další modely GPU se podporují pomocí GPU-P (pouze) pro úlohy virtuálních počítačů Arc:
- NVIDIA A10
- NVIDIA A40
- NVIDIA L4
- NVIDIA L40
- NVIDIA L40S
Požadavky na hostitele
Místní hostitel Azure musí splňovat následující požadavky:
Váš systém musí podporovat místní řešení Azure s podporou GPU. Pokud chcete procházet možnosti, podívejte se na místní katalog Azure.
Máte přístup k místnímu Azure verze 23H2.
Musíte vytvořit homogenní konfiguraci pro GPU napříč všemi počítači ve vašem systému. Homogenní konfigurace se skládá z instalace stejného modelu a modelu GPU.
V případě GPU-P se ujistěte, že podpora virtualizace a SR-IOV jsou povoleny v systému BIOS každého počítače v systému. Pokud nemůžete identifikovat správné nastavení v systému BIOS, obraťte se na dodavatele hardwaru.
Příprava ovladačů GPU na každém hostiteli
Proces přípravy a instalace ovladačů GPU pro každý počítač se mírně liší mezi DDA a GPU-P. Postupujte podle příslušného procesu pro vaši situaci.
Vyhledání grafických procesorů na každém hostiteli
Nejprve se ujistěte, že pro každý počítač není nainstalovaný žádný ovladač. Pokud je nainstalovaný ovladač hostitele, odinstalujte ovladač hostitele a restartujte počítač.
Po odinstalaci ovladače hostitele nebo pokud jste žádný ovladač nenainstalovali, spusťte PowerShell jako správce pomocí následujícího příkazu:
Get-PnpDevice -Status Error | fl FriendlyName, ClusterId
Zařízení s GPU by se měla zobrazit v chybovém stavu, jak 3D Video Controller
je znázorněno v ukázkovém výstupu se seznamem popisného názvu a ID instance 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
Použití DDA
Pokud používáte DDA, postupujte podle tohoto postupu:
1. Zakažte a odpojte gpu od hostitele.
Když pro DDA odinstalujete ovladač hostitele nebo máte nové místní nastavení Azure, fyzický GPU přejde do chybového stavu. Abyste mohli pokračovat, musíte odpojit všechna zařízení s GPU. Pomocí Správce zařízení nebo PowerShellu můžete gpu zakázat a odpojit pomocí ClusterID
získaného v předchozím kroku.
$id1 = "GPU_instance_ID"
Disable-PnpDevice -ClusterId $id1 -Confirm:$false
Dismount-VMHostAssignableDevice -ClusterPath $id1 -Force
Ověřte, že se grafické procesory správně odpojí z hostitelského počítače. Grafické procesory teď budou ve Unknown
stavu:
Get-PnpDevice -Status Unknown | fl FriendlyName, ClusterId
Tento postup opakujte pro každý počítač v systému a připravte gpu.
2. Stáhněte a nainstalujte ovladač pro zmírnění rizik.
Software může zahrnovat komponenty vyvinuté a vlastněné společností NVIDIA Corporation nebo jejími licencemi. Použití těchto komponent se řídí licenční smlouvou s koncovým uživatelem NVIDIA.
Informace o stažení příslušného ovladače pro zmírnění rizik NVIDIA najdete v dokumentaci NVIDIA. Po stažení ovladače rozbalte archiv a nainstalujte ovladač pro zmírnění rizik na každý hostitelský počítač. Pomocí následujícího skriptu PowerShellu stáhněte ovladač pro zmírnění rizik a extrahujte ho:
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 extrahování souborů ovladače pro zmírnění rizik vyhledejte verzi správného modelu GPU a nainstalujte ho. Pokud jste například nainstalovali ovladač pro zmírnění rizik NVIDIA A2, spusťte následující příkaz:
pnputil /add-driver nvidia_azure_stack_A2_base.inf /install /force
Pokud chcete potvrdit instalaci těchto ovladačů, spusťte:
pnputil /enum-devices OR pnputil /scan-devices
Měli byste být schopni zobrazit správně identifikované grafické procesory v Get-PnpDevice
:
Get-PnpDevice -Class Display | fl FriendlyName, ClusterId
Opakujte výše uvedené kroky pro každého hostitele v místním prostředí Azure.
Použití GPU-P
Pokud používáte GPU-P, postupujte podle tohoto postupu:
Stažení a instalace ovladače hostitele
GPU-P vyžaduje ovladače na úrovni hostitele, které se liší od DDA. U grafických procesorů NVIDIA budete potřebovat softwarový grafický ovladač NVIDIA vGPU na každém hostiteli a na každém virtuálním počítači, který bude používat GPU-P. Další informace naleznete v nejnovější verzi dokumentace NVIDIA vGPU a podrobnosti o licencování v Uživatelské příručce k licencování klienta.
Po identifikaci gpu jako 3D Video Controller
na hostitelském počítači stáhněte ovladač vGPU hostitele. Prostřednictvím vaší licence NVIDIA GRID byste měli být schopni získat správný ovladač hostitele .zip soubor.
Budete muset získat a přesunout následující složku do hostitelského počítače: \vGPU_<Your_vGPU_version>_GA_Azure_Stack_HCI_Host_Drivers
Přejděte na \vGPU_<Your_vGPU_version>_GA_Azure_Stack_HCI_Host_Drivers\Display.Driver a nainstalujte ovladač.
pnputil /add-driver .\nvgridswhci.inf /install /force
Pokud chcete potvrdit instalaci těchto ovladačů, spusťte:
pnputil /enum-devices
Měli byste být schopni zobrazit správně identifikované grafické procesory v Get-PnpDevice
:
Get-PnpDevice -Class Display | fl FriendlyName, ClusterId
Můžete také spustit rozhraní NVIDIA System Management Interface nvidia-smi
a zobrazit tak seznam GPU na hostitelském počítači následujícím způsobem:
nvidia-smi
Pokud je ovladač správně nainstalovaný, zobrazí se výstup podobný následujícímu příkladu:
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 |
+-----------------------------------------------------------------------------+
Konfigurace počtu oddílů GPU
Pokud chcete nakonfigurovat počet oddílů GPU v PowerShellu, postupujte takto:
Poznámka:
Při použití PowerShellu musíte ručně zajistit, aby konfigurace GPU byla homogenní ve všech počítačích v místním prostředí Azure.
Připojte se k počítači, jehož počet oddílů GPU chcete nakonfigurovat.
Get-VMHostPartitionableGpu
Spusťte příkaz a odkazujte na hodnoty Name a ValidPartitionCounts.Spuštěním následujícího příkazu nakonfigurujte počet oddílů. Nahraďte
GPU-name
hodnotou Name a jedním z podporovaných počtů zpartition-count
:Set-VMHostPartitionableGpu -Name "<GPU-name>" -PartitionCount <partition-count>
Například následující příkaz nakonfiguruje počet oddílů na
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
Spuštěním příkazu
Get-VMHostPartitionableGpu | FL Name,ValidPartitionCounts,PartitionCount
můžete znovu ověřit, zda je počet oddílů nastavený na4
hodnotu .Tady je ukázkový výstup:
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
Pokud chcete zachovat homogenní konfiguraci, opakujte kroky konfigurace počtu oddílů na každém počítači ve vašem systému.
Požadavky hosta
Správa GPU se podporuje pro následující úlohy virtuálních počítačů Arc:
Virtuální počítače 2. generace
Podporovaný 64bitový operační systém, jak je podrobně popsáno v nejnovější podpoře NVIDIA vGPU, podporované produkty