Gpu-k előkészítése az Azure Local-hoz
A következőkre vonatkozik: Azure Local 2311.2 és újabb verziók
Ez a cikk azt ismerteti, hogyan készíthet elő grafikus feldolgozási egységeket (GPU-kat) az Azure Local-példányon az Arc virtuális gépeken (VM-en) és az Azure Arc által engedélyezett AKS-en futó számítási feladatokhoz. A GPU-kat olyan számítási feladatokhoz használják, mint a gépi tanulás és a mély tanulás.
GPU-k csatolása az Azure Local-on
A GPU-kat két módon csatolhatja az Azure Localhoz:
Különálló eszköz-hozzárendelés (DDA) – lehetővé teszi, hogy fizikai GPU-t szenteljen a számítási feladatnak. A DDA-üzemelő példányokban a virtualizált számítási feladatok a natív illesztőprogramon futnak, és általában teljes hozzáféréssel rendelkeznek a GPU funkcióihoz. A DDA a legmagasabb szintű alkalmazáskompatibilitást és a lehetséges teljesítményt kínálja.
GPU particionálás (GPU-P) – lehetővé teszi a GPU több számítási feladattal való megosztását a GPU dedikált törtpartíciókra való felosztásával.
Vegye figyelembe az alábbi funkciókat és a gpu-k használatának két lehetősége közötti támogatási különbségeket:
Leírás | Különálló eszköz hozzárendelése | GPU particionálása |
---|---|---|
GPU-erőforrásmodell | Teljes eszköz | Egyenlően particionált eszköz |
Virtuális gép sűrűsége | Alacsony (egy GPU-ról egy virtuális gépre) | Magas (egy GPU-hoz több virtuális gép) |
Alkalmazáskompatibilitás | A gyártó által biztosított összes GPU-képesség (DX 12, OpenGL, CUDA) | A gyártó által biztosított összes GPU-képesség (DX 12, OpenGL, CUDA) |
GPU videómemória | A GPU által támogatott VRAM-ig | A GPU által partíciónként támogatott VRAM-értékig |
GPU-illesztő a vendég rendszerben | GPU-gyártói illesztőprogram (NVIDIA) | Az NVIDIA GPU-gyártói illesztőprogramok |
Támogatott GPU-modellek
A támogatott megoldások és GPU-k teljes listájának megtekintéséhez tekintse meg az Azure Local Solutionst , és válassza a GPU-támogatás lehetőséget a bal oldali menüben a lehetőségekért.
Az NVIDIA a virtuális GPU-szoftverével külön támogatja a számítási feladatokat. További információ: Microsoft Azure Local – Támogatott NVIDIA GPU-k és érvényesített kiszolgálóplatformok.
Az AKS-számítási feladatokhoz tekintse meg az AKS for Arc gpu-jait.
A következő GPU-modellek DDA és GPU-P for Arc virtuálisgép-számítási feladatokhoz is támogatottak:
- NVIDIA A2
- NVIDIA A16
A további GPU-modellek a GPU-P használatával (csak) Arc virtuális gép számítási feladatokhoz támogatottak:
- NVIDIA A10
- NVIDIA A40
- NVIDIA L4
- NVIDIA L40
- NVIDIA L40S
Gazda követelmények
Az Azure helyi környezetének meg kell felelnie a következő követelményeknek:
A rendszernek GPU-támogatással kell támogatnia egy Azure Local-megoldást. A beállítások tallózásához tekintse meg az Azure Helyi katalógust.
Hozzáféréssel rendelkezik az Azure Local szolgáltatáshoz.
Homogén konfigurációt kell létrehoznia a GPU-khoz a rendszer összes gépén. A homogén konfiguráció a GPU ugyanazon modelljének és típusának telepítéséből áll.
GPU-P esetén győződjön meg arról, hogy a virtualizálási támogatás és az SR-IOV engedélyezve van a rendszer minden egyes gépének BIOS-jában. Ha nem tudja azonosítani a BIOS-ban a megfelelő beállítást, forduljon a hardver gyártójához.
Készítse elő a GPU-illesztőprogramokat minden egyes kiszolgálón.
Az egyes gépek GPU-illesztőinek előkészítésének és telepítésének folyamata némileg eltér a DDA és a GPU-P között. Kövesse a helyzetre vonatkozó eljárást.
GPU-k keresése minden egyes gazdagépen
Először győződjön meg arról, hogy nincs telepítve illesztőprogram az egyes gépekhez. Ha van telepítve illesztőprogram, távolítsa el az illesztőprogramot, majd indítsa újra a gépet.
Miután eltávolította a gazdagép-illesztőprogramot, vagy ha nem telepített illesztőprogramot, futtassa rendszergazdaként a PowerShellt a következő paranccsal:
Get-PnpDevice -Status Error | fl FriendlyName, ClusterId
Meg kell látnia, hogy a GPU-eszközök hibaállapotban jelennek meg, ahogyan az a példakimenetben látható, amely felsorolja a GPU barátságos nevét és azonosítóját:
[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
A DDA használata
Kövesse ezt a folyamatot a DDA használata esetén:
1. Gpu-k letiltása és leválasztása a gazdagépről
DDA esetében, amikor eltávolítja az illesztőprogramot, vagy új Azure Local-beállítást hoz létre, a fizikai grafikus processzor hibás állapotba kerül. A folytatáshoz le kell választania az összes GPU-eszközt. Az Eszközkezelő vagy a PowerShell használatával letilthatja és leválaszthatja a GPU-t a korábban megszerzett ClusterID
segítségével.
$id1 = "GPU_instance_ID"
Disable-PnpDevice -ClusterId $id1 -Confirm:$false
Dismount-VMHostAssignableDevice -ClusterPath $id1 -Force
Ellenőrizze, hogy a GPU-k megfelelően lettek-e leválasztva a gazdagépről. A GPU-k most a következő állapotban Unknown
lesznek:
Get-PnpDevice -Status Unknown | fl FriendlyName, ClusterId
Ismételje meg ezt a folyamatot a rendszer minden egyes gépén a GPU-k előkészítéséhez.
2. A kockázatcsökkentő illesztőprogram letöltése és telepítése
A szoftver tartalmazhat olyan összetevőket, amelyeket az NVIDIA Corporation vagy annak licencadói fejlesztettek ki és birtokoltak. Ezeknek az összetevőknek a használatát az NVIDIA végfelhasználói licencszerződése szabályozza.
A vonatkozó NVIDIA-megoldásillesztő letöltéséhez tekintse meg az NVIDIA dokumentációját . Az illesztőprogram letöltése után bontsa ki az archívumot, és telepítse a hibaelhárító illesztőprogramot az egyes gazdagépeken. A következő PowerShell-szkripttel töltse le és bontsa ki a hibaelhárítási illesztőprogramot:
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
A kockázatcsökkentő illesztőprogram-fájlok kinyerése után keresse meg a GPU megfelelő modelljének verzióját, és telepítse azt. Ha például egy NVIDIA A2 csökkentőillesztőprogramot telepít, futtassa a következőket:
pnputil /add-driver nvidia_azure_stack_A2_base.inf /install /force
Az illesztőprogramok telepítésének megerősítéséhez futtassa a következőt:
pnputil /enum-devices OR pnputil /scan-devices
A helyesen azonosított GPU-knak a következő helyen Get-PnpDevice
kell megjelenniük:
Get-PnpDevice -Class Display | fl FriendlyName, ClusterId
Ismételje meg a fenti lépéseket az Azure Local egyes gazdagépeinek esetében.
GPU-P használata
Kövesse ezt a folyamatot GPU-P használata esetén:
Hoszt illesztőprogram letöltése és telepítése
A GPU-P gazdaszintű illesztőprogramokat igényel, amelyek eltérnek a DDA-tól. NVIDIA GPU-k esetén minden gazdagépen és minden GPU-P-t használó virtuális gépen NVIDIA vGPU szoftveres grafikus illesztőprogramra lesz szükség. További információkért tekintse meg az NVIDIA vGPU dokumentációjának legújabb verzióját, valamint a licencelés részleteit az ügyféllicencelés felhasználói útmutatójában.
Miután azonosította a GPU-kat 3D Video Controller
a hosztgépen, töltse le a hosztgép vGPU-illesztőprogramját. Az NVIDIA GRID licencével be kell tudnia szerezni a megfelelő gazdagép-illesztőprogram .zip fájlját.
Szerezze be és helyezze át a következő mappát a gazdagépére: \vGPU_<Your_vGPU_version>_GA_Azure_Stack_HCI_Host_Drivers
Lépjen a \vGPU_<Your_vGPU_version>_GA_Azure_Stack_HCI_Host_Drivers\Display.Driver elemre, és telepítse az illesztőprogramot.
pnputil /add-driver .\nvgridswhci.inf /install /force
Az illesztőprogramok telepítésének megerősítéséhez futtassa a következőt:
pnputil /enum-devices
A helyesen azonosított GPU-knak a következő helyen Get-PnpDevice
kell megjelenniük:
Get-PnpDevice -Class Display | fl FriendlyName, ClusterId
Az NVIDIA rendszerfelügyeleti felületét nvidia-smi
is futtatva listázhatja a gpu-kat a gazdaszámítógépen az alábbiak szerint:
nvidia-smi
Ha az illesztőprogram megfelelően van telepítve, az alábbi példához hasonló kimenet jelenik meg:
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 |
+-----------------------------------------------------------------------------+
GPU-partíciók számának konfigurálása
A GPU-partíciók számának a PowerShellben való konfigurálásához kövesse az alábbi lépéseket:
Megjegyzés
A PowerShell használatakor manuálisan kell gondoskodnia arról, hogy a GPU-konfiguráció homogén legyen az Azure Local összes gépén.
Csatlakozzon ahhoz a géphez, amelynek GPU-partíciószámát konfigurálni szeretné.
Futtassa a
Get-VMHostPartitionableGpu
parancsot, és tekintse meg a Név és a ValidPartitionCounts értékeket.Futtassa a következő parancsot a partíciószám konfigurálásához. Cserélje le a
GPU-name
elemet a Név értékkel, és apartition-count
elemet a ValidPartitionCounts érték egyik támogatott számok közül.Set-VMHostPartitionableGpu -Name "<GPU-name>" -PartitionCount <partition-count>
A következő parancs például a partíciók számát a következőre
4
konfigurálja: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
A parancs
Get-VMHostPartitionableGpu | FL Name,ValidPartitionCounts,PartitionCount
ismételt futtatásával ellenőrizheti, hogy a partíciók száma be van-e állítva4
.Íme egy mintakimenet:
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
A konfiguráció egységesen tartásához ismételje meg a partíciószám konfigurációs lépéseit a rendszer minden egyes gépén.
Vendégkövetelmények
A GPU-felügyelet a következő Arc virtuálisgép-számítási feladatokhoz támogatott:
2. generációs virtuális gépek
Támogatott 64 bites operációs rendszer a legújabb NVIDIA vGPU-támogatással támogatott termékekben leírtak szerint