- Priepustnosť GPU (vDGA/VMDirectPath I/O) vo VMware mapuje plnú fyzickú GPU na virtuálny počítač, aby sa dosiahol takmer natívny výkon.
- Jeho použitie vyžaduje prísne požiadavky technické vybavenie (VT‑d/AMD‑V, IOMMU, MMIO 64‑bit) a firmvér EFI/UEFI na virtuálnom počítači.
- Povolenie vDGA má za následok stratu kľúčových funkcií vSphere, ako sú vMotion, DRS a snímky na virtuálnom počítači pomocou GPU v režime passthrough.
- V porovnaní s vGPU a inými riešeniami, vDGA uprednostňuje vyhradený výkon pred flexibilitou a možnosťou zdieľania GPU medzi viacerými virtuálnymi počítačmi.
Priame pripojenie fyzickej GPU k virtuálnemu počítaču vo VMware Je to jedna z tých zmien, ktoré robia veľký rozdiel pri práci s vysokým grafickým zaťažením. IA alebo 3D vykresľovanie. Prechod z emulovanej grafickej karty na priamy prístup cez passthrough (vDGA / VMDirectPath I/O) môže priblížiť výkon virtuálneho počítača k fyzickému počítaču, ale na oplátku prináša niekoľko požiadaviek a obmedzení, ktoré by mali byť pred začatím úplne jasné.
Okrem toho v súčasnom ekosystéme existuje niekoľko spôsobov použitia GPU vo virtualizovaných prostrediach: Vyhradený priechod, zdieľaný vGPU a technológie ako BitFusion alebo rozdelenie GPUPochopenie toho, čo každý z nich robí, v ktorých prípadoch sa hodí a ako je konfigurovaný vo vSphere/ESXi (a ako súvisí s podobnými technológiami, ako je Hyper-V DDA), je kľúčom k tomu, aby ste sa nedostali do slepej uličky s hardvérom alebo zvolenou verziou hypervízora.
Čo je GPU passthrough (vDGA / VMDirectPath I/O) vo VMware
Priepustnosť GPU vo VMware, tiež známa ako vDGA alebo VMDirectPath I/OIde o prevádzkový režim, v ktorom je fyzická grafická karta nainštalovaná v hostiteľskom systéme ESXi priamo priradená k virtuálnemu počítaču. Namiesto použitia grafického adaptéra emulovaného hypervízorom vidí hosťujúci operačný systém GPU takmer tak, ako keby bol zapojený do fyzickej základnej dosky.
Táto skratka umožňuje virtuálnemu počítaču využiť výhody všetku silu grafického čipu, jeho videopamäte a pokročilých funkcií ako napríklad CUDA, OpenCL, Direct3D a OpenGL natívne, s veľmi malou pridanou réžiou z hypervízora. V laboratórnych testoch VMware sa zvyčajne hlási strata výkonu približne 4 – 5 % v porovnaní so spustením rovnakej GPU v holom počítači.
V praxi použitie GPU passthrough znamená, že Táto karta je úplne vyhradená pre jeden virtuálny stroj.Neexistuje žiadne detailné prideľovanie zdrojov medzi viacerými virtuálnymi počítačmi, ani nie je na ESXi načítaná vrstva softvéru tretej strany na zdieľanie grafickej karty, na rozdiel od riešení vGPU, ako napríklad NVIDIA GRID.
Je dôležité odlíšiť tento prístup od iných spôsobov použitia GPU vo virtualizácii, ako napríklad NVIDIA vGPU (zdieľaný vGPU), RemoteFX/rozdelenie na riešeniach typu Hyper-V alebo BitFusion, ktoré sa snažia distribuovať GPU alebo skupinu GPU medzi viacero počítačov s rôznymi technikami virtualizácie alebo vzdialeného presmerovania.
Keď hovoríme o vDGA vo svete VMware, v podstate hovoríme o tomto priame priradenie PCIe zariadenia GPU k virtuálnemu stroju používanie VMDirectPath I/O so všetkými výhodami (výkon) aj nevýhodami (obmedzenia mobility a vysokej dostupnosti), ktoré to so sebou prináša.

Výhody použitia GPU passthrough vo vSphere
Hlavným dôvodom prechodu na vDGA je to, že Grafický a výpočtový výkon sa veľmi blíži výkonu fyzického počítača.Vynechaním veľkej časti virtualizačnej vrstvy pre dané PCIe zariadenie miznú typické úzke miesta emulovanej GPU a virtuálny počítač môže oveľa plynulejšie pracovať s hrami, 3D aplikáciami alebo AI enginami.
Toto je obzvlášť viditeľné v scenároch, kde integrované grafické karty alebo predvolená emulovaná virtuálna grafická karta výrazne zaostávajú: Pokročilý grafický dizajn, CAD, 3D modelovanie a renderovanie, strih videa, animácia a vývoj hierJe tiež kľúčový pri trénovaní modelov strojového učenia a úloh umelej inteligencie, ktoré sa vo veľkej miere spoliehajú na CUDA alebo ekvivalenty.
Ďalšou jasnou výhodou je flexibilnejšie využitie hardvéru na úrovni dátového centra. Namiesto toho, aby ste mali fyzická pracovná stanica na používateľa alebo na projektJe možné vyhradiť dostatočne veľký hostiteľ ESXi pre niekoľko virtuálnych počítačov, každý s vlastnou grafickou kartou v režime passthrough, a hrať sa s harmonogramami alebo špičkovou záťažou.
V určitých prostrediach, najmä ak sú už k dispozícii servery s voľnými slotmi PCIe, náklady na používateľa alebo na projekt Môže to byť menej ako údržba flotily výkonných fyzických pracovných staníc, najmä ak grafická karta nie je potrebná 24 hodín denne a je možné ju prekonfigurovať podľa období intenzívnej práce.
Nakoniec existuje aj nepriama výhoda z hľadiska bezpečnosti a prevádzky: zachovaním grafických úloh v rámci izolovaných virtuálnych počítačovAk sa niečo pokazí (zneužitie, problematický ovládač, zlá konfigurácia), je jednoduchšie obmedziť dopad, vrátiť sa k predchádzajúcej snímke alebo obnoviť zo zálohy, pokiaľ sa rešpektujú obmedzenia passthrough, ktoré uvidíme neskôr.
Priepustnosť GPU verzus vGPU a iné alternatívy
V ekosystéme VMware existuje niekoľko spôsobov využitia grafickej karty a nie všetky zahŕňajú jej výhradné vyhradenie pre jeden virtuálny počítač. Najznámejšie sú: vDGA / VMDirectPath I/O, vGPU (NVIDIA GRID alebo iné) a riešenia pre vzdialený prístup/výpočtové systémy, ako napríklad BitFusion.
V režime priameho priechodu (vDGA) je grafický procesor alokovaný výhradne na virtuálny strojVýpočtové jadrá a VRAM nie sú zdieľané medzi viacerými virtuálnymi počítačmi a úloha hypervízora je prakticky neexistujúca okrem smerovania zariadenia PCIe k hosťovi. Je to najjednoduchšie pochopiteľná možnosť, ktorá sa najviac podobá fyzickému serveru s vyhradenou grafickou kartou.
V prístupe vGPU sa používa špecializovaný softvér (napríklad NVIDIA GRID vGPU na VMware vSphereSpracováva virtualizáciu GPU na úrovni ovládača a sprístupňuje virtuálne inštancie GPU, ktoré je možné priradiť viacerým virtuálnym počítačom súčasne. Každý hosťujúci počítač vidí „výrez“ GPU so zaručenými alebo zdieľanými zdrojmi.
vGPU umožňujú viacerým virtuálnym desktopom alebo serverom zdieľať jednu grafickú kartu, čo je veľmi užitočné v VDI, ľahké akcelerované kancelárske prostredia, grafické pracovné stanice prvej línie v maloobchode alebo pohostinstvealebo scenáre, kde je maximálne využitie grafiky medzi používateľmi nerovnomerné. V dôsledku toho dochádza k určitej réžii a nedosiahne sa rovnaký špičkový výkon ako pri použití celej fyzickej grafickej karty vyhradenej pre jeden virtuálny počítač.
Existujú aj riešenia ako napr. BitFusion Flexdirect a podobné technológiektoré umožňujú spotrebu grafických procesorov (GPU) cez sieť z rôznych virtuálnych počítačov, čo je ideálne pre úlohy umelej inteligencie a vysokovýkonných výpočtov (HPC), kde GPU funguje skôr ako vzdialený výpočtový zdroj než ako grafická karta pre grafické rozhranie používateľa.
Vyberte si medzi vDGA, vGPU alebo modelom vzdialenej GPU Záleží na tom, či potrebujete plne využiť GPU pre jeden stroj (passthrough), či chcete distribuovať drahú kartu medzi mnohých používateľov so stredným zaťažením (vGPU), alebo či je kľúčom orchestrácia poolu GPU pre distribuované výpočty (BitFusion a podobné).
Hardvérové požiadavky na používanie vDGA na ESXi
Pred plánovaním nasadenia GPU passthrough vo VMware sa musíte uistiť, že Hardvérová platforma spĺňa niekoľko podmienok ktoré idú nad rámec „pripojenia grafickej karty k serveru“.
Po prvé, procesor a čipová sada základnej dosky hostiteľa ESXi musia podporovať virtualizácia s IOMMU. V Intel Toto sa dosahuje pomocou Intel VT-x plus VT-dy a prostredníctvom AMD prostredníctvom AMD-V s IOMMU. BIOS/UEFI servera má na to zvyčajne špecifické možnosti. aktivovať rozšírenia virtualizácie vstupno-výstupných dát.
Po druhé, musíte skontrolovať, či je nosná doska Mapovanie pamäte MMIO nad 4 GB (niekedy označované ako „Dekódovanie nad 4G“, „mapované I/O s pamäťou nad 4G“ alebo podobne). Toto je obzvlášť dôležité pri špičkových GPU, ako napríklad tesla, P100, V100 a ekvivalenty, ktoré deklarujú veľmi veľké pamäťové oblasti vo svojich BAR (základných adresných registroch).
Niektoré z týchto špičkových kariet dokážu mapovať viac ako 16 GB MMIO priestoruPreto okrem hrania BIOSPotom bude potrebné upraviť určité parametre v rozšírených nastaveniach virtuálneho počítača vo vSphere tak, aby sa mohol spustiť s danou grafickou kartou bez chýb nedostatku zdrojov.
Samozrejme, samotná grafická karta musí byť kompatibilný so serverovou platformou a byť podporovaný výrobcom hostiteľského systému (Dell, HPE, Lenovoatď.) pri použití v režime passthrough. V praxi funguje väčšina moderných grafických kariet PCIe, ale je vhodné skontrolovať zoznamy kompatibility, najmä pri GRID kartách alebo úplne nových modeloch.
Softvérové požiadavky a kompatibilita verzií
Na úrovni softvéru je dôležité mať jasno v tom, že VMware podporuje vDGA vo verzii vSphere 6.x a novších.Niektorí používatelia však hlásili špecifické problémy s určitými hardvérovými kombináciami (napríklad grafické karty NVIDIA GRID v serveroch Dell R720 s ESXi 6.x).
V týchto prípadoch sa bežne vyskytujú chyby ako „zariadenie sa už používa“ alebo príznaky, ktoré naznačujú, že Priepustnosť prestala fungovať po aktualizácii z ESXi 5.5 na 6.xv skutočnosti ide o konkrétne chyby, zmeny v správe zariadení PCI alebo ovládačov, a nie o oficiálne stiahnutie podpory.
Hosťovský operačný systém, ktorý bude používať GPU v režime passthrough, musí mať oficiálne ovládače výrobcu nainštalované vo virtuálnom počítači (NVIDIA, AMD, Intel), pretože ESXi pri použití VMDirectPath I/O nenačíta žiadny špecifický ovládač pre danú kartu; hypervízor jednoducho sprístupní zariadenie hosťovi.
Okrem toho musí byť virtuálny počítač nakonfigurovaný na spustenie v Režim EFI alebo UEFI pri použití grafických procesorov, ktoré deklarujú veľké oblasti pamäte MMIO. Tento detail je kritický: nesprávny firmvér virtuálneho počítača môže viesť k zlyhaniam topánka alebo že GPU sa z hosťujúceho operačného systému neinicializuje správne.
Na strane klienta, ak prístup k virtuálnemu počítaču prebieha prostredníctvom Vzdialená pracovná plocha (RDP alebo iné protokoly)Bude potrebné aktivovať príslušné politiky, aby hosťovský systém používal hardvérový grafický adaptér vo vzdialených reláciách a nebol zaseknutý na generickom ovládači bez akcelerácie.

Konfigurácia hostiteľa ESXi na používanie GPU v režime passthrough
Prvým praktickým krokom je príprava Server vSphere/ESXi na sprístupnenie GPU ako I/O zariadenia DirectPathTo zahŕňa prístup do BIOSu, kontrolu inventára PCI na hostiteľovi a označenie karty, aby ju bolo možné priradiť k virtuálnym počítačom.
Ak grafická karta vyžaduje veľké pamäťové oblasti MMIO (16 GB alebo viac), musíte v systéme BIOS/UEFI servera vyhľadať možnosti ako „Dekódovanie nad 4G“ alebo „Spracovanie 64-bitových zdrojov PCI nad 4G“ a aktivujte ich. Konkrétny názov sa líši v závislosti od výrobcu, ale zvyčajne ho nájdete v nastaveniach PCI alebo v sekcii rozšírených zdrojov.
Po spustení ESXi s týmito nastaveniami môžete v klientovi vSphere prejsť na príslušný hostiteľ a získať prístup „Konfigurovať → Hardvér → Zariadenia PCI → Upraviť“ Ak chcete zobraziť zoznam zistených zariadení PCI, uvidíte karty NVIDIA, AMD alebo podobné karty spolu so zvyškom hardvéru PCI servera.
Ak grafická karta ešte nie je povolená pre DirectPath I/O, jednoducho začiarknite políčko. priechodná schránka pri vašom vchode v tomto zozname. Pri ukladaní zmien vás vSphere vyzve na reštartovanie hostiteľa, aby sa konfigurácia aplikovala, pretože hypervízor potrebuje rezervovať a pripraviť zariadenie na opätovné priradenie k virtuálnym počítačom.
Po reštarte, po návrate do sekcie „Konfigurovať → Hardvér → Zariadenia PCI“ Zobrazí sa okno s názvom niečo ako „Zariadenia DirectPath I/O PCI dostupné pre virtuálne počítače“ so zoznamom všetkých zariadení, ktoré sú k dispozícii na použitie vo virtuálnych počítačoch, vrátane grafických kariet (GPU) a v mnohých prípadoch aj pokročilých sieťových adaptérov, ako je Mellanox.
Príprava a konfigurácia virtuálneho počítača
Keď je hostiteľ pripravený, ďalším krokom je vytvorenie alebo prispôsobenie virtuálneho počítača, ktorý bude používať GPU. Najprv je potrebné zabezpečiť, aby virtuálny počítač Bol vytvorený s vhodným firmvérom EFI/UEFI., najmä v scenároch s špičkovými grafickými kartami a vysokým MMIO.
V klientovi vSphere jednoducho vyberte virtuálny počítač a prejdite na „Upraviť nastavenia → Možnosti virtuálneho počítača → Možnosti spustenia“ a overte, či je v poli „Firmvér“ vybratá možnosť „EFI“ alebo „UEFI“. Ak nie je, bude potrebné ju zmeniť (a v niektorých prípadoch bude potrebné znova vytvoriť virtuálny počítač alebo operačný systém, ak nepodporuje túto výmenu za chodu).
Pri použití passthrough s kartami, ktoré mapujú viac ako 16 GB priestoru MMIO, je vhodné upraviť niektoré pokročilé parametre v konfigurácii virtuálneho počítača, ktorá je prístupná z „Upraviť nastavenia → Možnosti virtuálneho počítača → Rozšírené → Konfiguračné parametre → Upraviť konfiguráciu“Tam môžete pridať kľúče súvisiace s pciPassthru na ovládanie spôsobu rezervácie adresného priestoru.
Konkrétne je zvyčajne povolené použitie 64-bitového MMIO a pre danú oblasť je definovaná veľkosť, vypočítaná z Koľko špičkových GPU bude pridelených virtuálnemu stroju?Pravidlom je zvyčajne vynásobiť 16 počtom GPU a výsledok zaokrúhliť nahor na najbližšiu mocninu dvoch (napríklad dve takéto GPU by mali 64 GB 64-bitového MMIO).
Po nastavení týchto parametrov sa vykoná inštalácia alebo sa overí, či Hosťovský operačný systém podporuje EFI/UEFI a je schopný spracovať danú veľkosť pamäte a grafickú kartu.V tomto bode grafická karta ešte nie je pripojená k virtuálnemu počítaču; prostredie sa len pripravuje, aby sa po jej pripojení všetko spustilo bez chýb spôsobených nedostatkom zdrojov alebo nekompatibilným firmvérom.
Priraďte GPU k virtuálnemu počítaču pomocou VMDirectPath I/O
Keď hostiteľ označí grafickú kartu ako dostupnú pre DirectPath I/O a virtuálny počítač je správne nakonfigurovaný, je čas fyzicky priradiť kartu k danému virtuálnemu počítačuTento krok musí byť vykonaný s úplne vypnutým virtuálnym počítačom.
Z klienta vSphere vyberte virtuálny počítač a zadajte „Upraviť nastavenia“ na kontrolu virtuálneho hardvéruV zozname zariadení môžete kliknúť na „Pridať nové zariadenie“ a vybrať „Zariadenie PCI“, ak grafická karta ešte nie je uvedená. Potom vyberte zariadenie PCI zodpovedajúce grafickej karte (napríklad kartu NVIDIA alebo AMD zistenú na hostiteľovi).
Po uložení konfigurácie virtuálny počítač zobrazí na svojom hardvéri niečo podobné „PCI Device 0“ priradené ku konkrétnej grafickej karteOd tohto bodu sa pri spustení hosťujúceho operačného systému zobrazí ďalší adaptér PCIe zodpovedajúci fyzickej grafickej karte.
Je nevyhnutné, aby virtuálny stroj mal rezervovala všetku pamäť, ktorá jej bola pridelenáVo vSphere sa to konfiguruje v časti „Upraviť nastavenia → Virtuálny hardvér → Pamäť“, pričom hodnota „Rezervácia“ sa nastaví na množstvo RAM nakonfigurované pre virtuálny počítač. Bez tejto úplnej rezervácie môže priechod PCI zlyhať alebo sa môžu vyskytnúť občasné problémy.
Po zapnutí virtuálneho počítača v systéme Linux Prítomnosť GPU je možné overiť pomocou príkazy typ lspci | grep nvidia, zatiaľ čo v systéme Windows sa zobrazí v časti „Grafické adaptéry“ v Správca zariadeníJe normálne vidieť grafický adaptér emulovaný VMware aj vyhradenú fyzickú grafickú kartu.
Posledným krokom je nainštalovať nasledujúce na hosťovské zariadenie: ovládače Predstavitelia výrobcu grafických kariet, stiahnuté z webových stránok NVIDIA, AMD alebo Intel, pričom sa vyhnite používaniu generických ovládačov alebo ovládačov dodaných spoločnosťou Windows Updatektoré nemusia byť optimalizované pre scenáre prechodu.
Obmedzenia vSphere a funkcie, ktoré nefungujú s vDGA
Nevýhodou priepustnosti GPU vo VMware je, že Stratilo sa niekoľko pokročilých funkcií platformy priamym vyhradením fyzického zariadenia virtuálnemu stroju. To je cena, ktorú treba zaplatiť za takmer natívny výkon.
Prvá veľká obeť je vMotion a DRSVirtuálny počítač s grafickou kartou v režime passthrough nie je možné migrovať za chodu na iný hostiteľ, pretože karta je fyzicky uzamknutá k pôvodnému serveru. Nie je možné použiť ani automatizované politiky vyvažovania záťaže, ktoré zahŕňajú presun virtuálneho počítača medzi hostiteľmi v klastri.
Funkcie ako napríklad Tradičné snímky alebo určité mechanizmy vysokej dostupnosti pre daný konkrétny virtuálny počítač. Keďže sa spolieha na veľmi špecifický fyzický hardvér, schopnosť zmraziť a obnoviť zložité stavy je ohrozená.
Ďalším aspektom, ktorý treba zvážiť, je, že v tomto režime GPU nie je zdieľaný medzi viacerými virtuálnymi počítačmiAk je na tom istom počítači potrebných viacero desktopov alebo serverov s grafickou akceleráciou, bude potrebná jedna karta na virtuálny počítač, alebo alternatívne je možné použiť model vGPU, kde je karta virtualizovaná naprieč viacerými inštanciami.
Na strane podpory môžu existovať špecifické prípady, kedy Určité kombinácie hardvéru a ovládačov môžu spôsobiť problémyAko niektorí používatelia poznamenali pri aktualizácii na ESXi 6.x s kartami NVIDIA GRID na konkrétnych serveroch (napr. Dell R720), v týchto scenároch je vhodné preštudovať si dokumentáciu výrobcu VMware a GPU a v prípade potreby otvoriť prípady podpory.
Na záver treba poznamenať, že určité technológie alebo služby, ktoré interagujú s grafikou, ako napríklad vzdialené pracovné plochy, podsystémy Linuxu vo Windowse alebo pokročilé funkcie operačného systémuMôžu rušiť alebo spôsobovať chyby „Kód 43“ v ovládačoch NVIDIA, ak zistia, že pracujete vo virtuálnom počítači s priechodom GPU.
Priepustnosť GPU v iných hypervízoroch: paralelne s Hyper-V
Hoci sa tu zameriavame na VMware, stojí za to pochopiť, ako iné hypervízory (napríklad virtualizácia s KVM a virt-managerom) riešia rovnakú potrebu prideliť fyzickú grafickú kartu virtuálnemu strojupretože terminológia a nástroje sa menia, ale základná myšlienka je podobná.
V Hyper-V je ekvivalentom VMware VMDirectPath I/O priame priradenie zariadení pomocou DDA (Discrete Device Assignment)Táto technika umožňuje mapovanie konkrétneho zariadenia PCIe, ako napríklad GPU alebo NVMe, priamo v rámci virtuálneho počítača so systémom Windows s úrovňou kontroly a výkonu podobnou passthrough v ESXi.
Staršie verzie systému Windows Server používali túto technológiu RemoteFX ponúkať virtualizáciu GPU a zdieľať grafickú kartu medzi viacerými virtuálnymi počítačmi. S časKvôli bezpečnostným problémom a obmedzeniam výkonu (ako napríklad limit 1 GB VRAM na virtuálny počítač a 30 FPS) spoločnosť Microsoft ukončila technológiu RemoteFX a ponechala DDA ako primárnu cestu pre scenáre s dedikovanou grafickou kartou.
V systéme Windows 10 a windows 11Najmä pri určitých kompiláciách sa objavuje podpora pre Rozdelenie GPU a opätovne použité mechanizmy z WSL2 a Windows SandboxJeho konfigurácia však zvyčajne zahŕňa zložité skripty a kopírovanie ovládačov z hostiteľa na hosťa, čo nie je také jednoduché ako priradenie zariadenia vo vSphere.
Poznanie týchto alternatív nám umožňuje vidieť, že Filozofia ponúkania takmer natívneho prístupu k GPU prostredníctvom priameho kanála PCIe Je to spoločné pre niekoľko hypervízorov, hoci každý má svoje vlastné nuansy, príkazy a obmedzenia kompatibility.
Celý tento ekosystém passthrough, vGPU a DDA demonštruje, že pri správnej konfigurácii a so správnym hardvérom, Je úplne možné použiť výkonné grafické karty v rámci virtuálne stroje pre produkciu Pre pracovné zaťaženia od náročných grafických desktopov až po umelú inteligenciu a HPC, vždy predpokladajte, že sa budete musieť vzdať určitých výhod tradičnej virtualizácie a venovať zvýšenú pozornosť ovládačom, verziám hypervízora a podpore výrobcov grafických kariet.
Vášnivý spisovateľ o svete bajtov a technológií všeobecne. Milujem zdieľanie svojich vedomostí prostredníctvom písania, a to je to, čo urobím v tomto blogu, ukážem vám všetko najzaujímavejšie o gadgetoch, softvéri, hardvéri, technologických trendoch a ďalších. Mojím cieľom je pomôcť vám orientovať sa v digitálnom svete jednoduchým a zábavným spôsobom.
