- Propusnost GPU-a (vDGA/VMDirectPath I/O) u VMware-u mapira kompletnu fizičku GPU na virtuelnu mašinu kako bi se postigle gotovo nativne performanse.
- Njegova upotreba zahtijeva stroge uslove hardver (VT‑d/AMD‑V, IOMMU, MMIO 64‑bit) i EFI/UEFI firmver na virtuelnoj mašini.
- Omogućavanje vDGA rezultira gubitkom ključnih vSphere funkcija kao što su vMotion, DRS i snimci na VM-u koji koristi GPU u prolaznom režimu.
- U poređenju sa vGPU i drugim rješenjima, vDGA daje prioritet namenskim performansama u odnosu na fleksibilnost i mogućnost dijeljenja GPU-a između više virtuelnih mašina.
Direktno povezivanje fizičkog GPU-a na virtuelnu mašinu u VMware-u To je jedna od onih promjena koje čine svu razliku pri radu s velikim grafičkim opterećenjima. IA ili 3D renderiranje. Prelazak sa emulirane grafičke kartice na direktan pristup putem prolaza (vDGA / VMDirectPath I/O) može približiti performanse virtuelne mašine performansama fizičke mašine, ali zauzvrat dodaje popriličan broj zahtjeva i ograničenja koja bi trebala biti vrlo jasna prije početka.
Nadalje, u trenutnom ekosistemu koegzistira nekoliko načina korištenja GPU-a u virtualiziranim okruženjima: Namjenski prolaz, dijeljeni vGPU i tehnologije poput BitFusiona ili GPU particioniranjaRazumijevanje čemu svaki od njih služi, u kojim slučajevima odgovara i kako je konfigurisan u vSphere/ESXi (i kako se odnosi na slične tehnologije poput Hyper-V DDA) ključno je da se ne dođe do ćorsokaka sa hardverom ili odabranom verzijom hipervizora.
Šta je GPU passthrough (vDGA / VMDirectPath I/O) u VMware-u
Propusnost GPU-a u VMware-u, također poznata kao vDGA ili VMDirectPath I/OOvo je način rada u kojem je fizička grafička kartica instalirana na ESXi hostu direktno dodijeljena virtualnoj mašini. Umjesto korištenja grafičkog adaptera koji emulira hipervizor, gostujući operativni sistem vidi GPU gotovo kao da je priključen na fizičku matičnu ploču.
Ova prečica omogućava virtuelnoj mašini da iskoristi sva snaga grafičkog čipa, njegove video memorije i naprednih funkcija kao što su CUDA, OpenCL, Direct3D i OpenGL izvorno, uz vrlo malo dodatnog opterećenja od strane hipervizora. U VMware laboratorijskim testovima, obično se prijavljuje gubitak performansi od oko 4-5% u poređenju sa pokretanjem iste GPU u bare metal okruženju.
U praksi, korištenje GPU prolaza znači da Ta kartica je u potpunosti posvećena jednoj virtuelnoj mašini.Ne postoji precizna alokacija resursa između više virtuelnih mašina, niti postoji sloj softvera treće strane učitan na ESXi za dijeljenje grafičke kartice, za razliku od onoga što se dešava sa vGPU rješenjima kao što su NVIDIA GRID.
Važno je razlikovati ovaj pristup od drugih načina korištenja GPU-a u virtualizaciji, kao što su NVIDIA vGPU (dijeljeni vGPU), RemoteFX/particioniranje na Hyper-V ili BitFusion rješenjima, koji nastoje distribuirati GPU ili skup GPU-ova među više mašina s različitim tehnikama virtualizacije ili udaljenog preusmjeravanja.
Kada govorimo o vDGA u VMware svijetu, u suštini opisujemo ovo direktno dodjeljivanje PCIe uređaja GPU-a virtuelnoj mašini korištenjem VMDirectPath I/O, sa svim dobrim (performanse) i lošim (ograničenja mobilnosti i visoke dostupnosti) koje to podrazumijeva.

Prednosti korištenja GPU prolaza u vSphere-u
Glavni razlog za prelazak na vDGA je taj što Grafičke i računarske performanse su vrlo bliske performansama fizičkog računara.Izostavljanjem velikog dijela sloja virtualizacije za taj PCIe uređaj, tipična uska grla emuliranog GPU-a nestaju i VM može mnogo glatko raditi s igrama, 3D aplikacijama ili AI engine-ima.
Ovo je posebno primjetno u scenarijima gdje integrirani grafički procesori ili zadana emulirana virtualna grafička kartica znatno zaostaju: Napredni grafički dizajn, CAD, 3D modeliranje i renderiranje, montaža videa, animacija i razvoj igaraTakođer je ključno za obuku modela mašinskog učenja i AI opterećenja koja se uveliko oslanjaju na CUDA ili ekvivalente.
Još jedna jasna prednost je fleksibilnija upotreba hardvera na nivou podatkovnog centra. Umjesto da imate fizička radna stanica po korisniku ili po projektuMoguće je dodijeliti ESXi host odgovarajuće veličine nekoliko virtuelnih mašina, svaku sa svojim GPU-om u prolazu, i igrati se sa rasporedima ili vršnom potražnjom.
U određenim okruženjima, posebno ako su serveri sa slobodnim PCIe slotovima već dostupni, cijena po korisniku ili po projektu To može biti manje od održavanja flote moćnih fizičkih radnih stanica, posebno ako grafička kartica nije potrebna 24 sata dnevno i može se rekonfigurirati prema periodima intenzivnog rada.
Konačno, postoji i indirektna korist u smislu sigurnosti i operacija: održavanjem grafičkih opterećenja unutar izolovanih virtuelnih mašinaAko nešto krene po zlu (eksploitacija, problematični drajver, loša konfiguracija), lakše je ograničiti utjecaj, vratiti se na prethodni snimak ili vratiti podatke iz sigurnosne kopije, sve dok se poštuju ograničenja prolaza podataka, koja ćemo vidjeti kasnije.
GPU prolaz u odnosu na vGPU i druge alternative
Unutar VMware ekosistema postoji nekoliko načina korištenja grafičke kartice, i ne uključuju svi njeno potpuno posvećivanje jednoj virtuelnoj mašini. Najpoznatiji su: vDGA / VMDirectPath I/O, vGPU (NVIDIA GRID ili drugi) i rješenja za udaljeni pristup/računarstvo kao što je BitFusion.
U direktnom prolaznom režimu (vDGA), GPU je dodijeljen isključivo na virtuelnu mašinuRačunarske jezgre i VRAM se ne dijele između više virtuelnih mašina, a uloga hipervizora praktično ne postoji osim usmjeravanja PCIe uređaja gostu. To je najlakša opcija za razumijevanje i ona koja najviše podsjeća na fizički server sa namjenskom grafičkom karticom.
U vGPU pristupu, specijalizirani softver (na primjer NVIDIA GRID vGPU na VMware vSphere-uObrađuje virtualizaciju GPU-a na nivou kontrolera i izlaže virtuelne instance GPU-a koje se mogu dodijeliti više VM-ova istovremeno. Svaka gostujuća mašina vidi "dijelak" GPU-a sa zagarantovanim ili dijeljenim resursima.
vGPU-ovi omogućavaju više virtuelnih desktopa ili servera da dijele jednu grafičku karticu, što je veoma korisno u VDI, lagana ubrzana kancelarijska okruženja, grafičke radne stanice prve linije u maloprodaji ili ugostiteljstvuili scenariji gdje je vršna upotreba grafike neravnomjerna među korisnicima. Zauzvrat, postoji određeno opterećenje, a iste vršne performanse se ne postižu kao sa cijelim fizičkim GPU-om posvećenim jednoj virtuelnoj mašini.
Postoje i rješenja kao što su BitFusion Flexdirect i slične tehnologije...koji omogućavaju korištenje GPU-a preko mreže iz različitih VM-ova, idealno za AI i HPC opterećenja gdje GPU djeluje više kao udaljeni računarski resurs nego kao grafička kartica za korisnički grafički interfejs.
Izaberite između vDGA, vGPU ili modela udaljene GPU Zavisi od toga da li trebate u potpunosti iskoristiti GPU za jednu mašinu (passthrough), da li želite distribuirati skupu karticu među mnogo korisnika sa srednjim opterećenjima (vGPU) ili je ključ orkestrirati skup GPU-ova za distribuirano računarstvo (BitFusion i slično).
Hardverski zahtjevi za korištenje vDGA na ESXi
Prije planiranja implementacije GPU prolaza u VMwareu, potrebno je osigurati da Hardverska platforma ispunjava niz uslova koje idu dalje od "prisustva grafičke kartice priključene na server".
Prvo, procesor i čipset matične ploče ESXi hosta moraju podržavati virtualizacija sa IOMMU-om. En Intel Ovo se postiže putem Intel VT-x plus VT-dy, a putem AMD-a putem AMD-V sa IOMMU-om. BIOS/UEFI servera obično ima posebne opcije za ovo. aktivirajte proširenja virtualizacije ulazno/izlaznih podataka.
Drugo, trebate provjeriti da li je potporna ploča Mapiranje MMIO memorije iznad 4 GB (ponekad označeno kao „Dekodiranje iznad 4G“, „memorijski mapirani I/O iznad 4G“ ili slično). Ovo je posebno važno kod vrhunskih GPU-ova kao što su Tesla, P100, V100 i ekvivalenti, koji deklarišu vrlo velike memorijske regije u svojim BAR (Registri osnovnih adresa).
Neke od ovih vrhunskih kartica mogu mapirati više od 16 GB MMIO prostoraStoga, pored igranja BIOSZatim će biti potrebno prilagoditi određene parametre u naprednim postavkama virtuelne mašine u vSphere-u kako bi se mogla pokrenuti s tom grafičkom karticom bez grešaka zbog nedovoljnih resursa.
Naravno, sama grafička kartica mora biti kompatibilan sa serverskom platformom i da ga podržava proizvođač hosta (Dell, HPE, lenovoitd.) kada se koristi u prolaznom režimu. U praksi, većina modernih PCIe GPU-ova radi, ali je preporučljivo provjeriti liste kompatibilnosti, posebno za GRID kartice ili vrlo nove modele.
Softverski zahtjevi i kompatibilnost verzija
Na nivou softvera, važno je jasno napomenuti da VMware podržava vDGA u vSphere 6.x i novijim verzijamaMeđutim, neki korisnici su prijavili specifične probleme s određenim kombinacijama hardvera (na primjer, NVIDIA GRID GPU-ovi u Dell R720 serverima s ESXi 6.x).
U ovim slučajevima, uobičajeno je vidjeti greške poput „uređaj je već u upotrebi“ ili simptome koji ukazuju na to Propusni mod je prestao raditi nakon nadogradnje sa ESXi 5.5 na 6.xkada se u stvarnosti radi o specifičnim greškama, promjenama u upravljanju PCI uređajima ili drajverima, a ne o zvaničnom povlačenju podrške.
Gostujući operativni sistem koji će koristiti GPU u prolazu mora imati zvanični drajveri proizvođača instalirani unutar virtuelne mašine (NVIDIA, AMD, Intel), budući da ESXi ne učitava nijedan specifični drajver za tu karticu kada koristi VMDirectPath I/O; hipervizor jednostavno izlaže uređaj gostu.
Osim toga, virtuelna mašina mora biti konfigurisana za pokretanje EFI ili UEFI način rada pri korištenju GPU-ova koji deklariraju velike MMIO memorijske regije. Ovaj detalj je ključan: neispravan VM firmver može dovesti do kvarova boot ili da se GPU ne inicijalizira ispravno iz gostujućeg operativnog sistema.
Na strani klijenta, ako se pristup virtuelnoj mašini odvija putem Udaljena radna površina (RDP ili drugi protokoli)Odgovarajuće politike će morati biti aktivirane kako bi gostujući sistem koristio hardverski grafički adapter u udaljenim sesijama i ne bi bio zaglavljen s generičkim upravljačkim programom bez ubrzanja.

Konfigurisanje ESXi hosta za korištenje GPU-a u prolaznom režimu
Prvi praktični korak je priprema vSphere/ESXi server za izlaganje GPU-a kao DirectPath I/O uređajaOvo uključuje pristup BIOS-u, provjeru PCI inventara na hostu i označavanje kartice kako bi se mogla dodijeliti virtualnim mašinama.
Ako GPU zahtijeva velike MMIO memorijske regije (16 GB ili više), potrebno je potražiti opcije poput ovih u BIOS-u/UEFI-ju servera. „Dekodiranje iznad 4G“ ili „Rukovanje PCI 64-bitnim resursima iznad 4G“ i aktivirajte ih. Specifičan naziv varira ovisno o proizvođaču, ali se obično može pronaći u odjeljku PCI postavki ili naprednih resursa.
Nakon što se ESXi pokrene s ovim postavkama, u vSphere klijentu možete otići na odgovarajući host i pristupiti "Konfiguracija → Hardver → PCI uređaji → Uredi" Da biste vidjeli listu otkrivenih PCI uređaja, vidjet ćete NVIDIA, AMD ili slične kartice zajedno s ostatkom PCI hardvera servera.
Ako GPU još nije omogućen za DirectPath I/O, jednostavno označite polje. prolazna kutija na vašem ulazu unutar te liste. Prilikom spremanja promjena, vSphere će vas zatražiti da ponovo pokrenete host kako biste primijenili konfiguraciju, jer hipervizor treba rezervirati i pripremiti uređaj za ponovno dodjeljivanje virtualnim mašinama.
Nakon ponovnog pokretanja, po povratku u sekciju "Konfiguracija → Hardver → PCI uređaji" Prikazat će se prozor pod nazivom nešto poput „DirectPath I/O PCI uređaji dostupni virtuelnim mašinama“ u kojem će biti navedeni svi uređaji koji su postali dostupni za upotrebu u virtuelnim mašinama, uključujući GPU-ove i, u mnogim slučajevima, napredne mrežne adaptere poput Mellanoxa.
Priprema i konfigurisanje virtuelne mašine
Kada je host spreman, sljedeći korak je kreiranje ili prilagođavanje virtuelne mašine koja će koristiti GPU. Prva stvar je osigurati da je VM Kreiran je sa odgovarajućim EFI/UEFI firmverom., posebno u scenarijima s vrhunskim GPU-ima i visokim MMIO-om.
U vSphere klijentu, jednostavno odaberite VM, idite na "Uredi postavke → Opcije virtuelne mašine → Opcije pokretanja" i provjerite da li je u polju "Firmware" odabrano "EFI" ili "UEFI". Ako nije, bit će potrebno promijeniti ga (a u nekim slučajevima, virtuelnu mašinu ili operativni sistem bit će potrebno ponovo kreirati ako ne podržava ovu zamjenu tokom rada).
Prilikom korištenja prolaza s karticama koje mapiraju više od 16 GB MMIO prostora, preporučljivo je prilagoditi neke napredne parametre u konfiguraciji VM-a, dostupnim iz "Uredi postavke → Opcije VM → Napredno → Parametri konfiguracije → Uredi konfiguraciju"Tamo možete dodati ključeve povezane s pciPassthru kako biste kontrolirali način rezervacije adresnog prostora.
Konkretno, upotreba 64-bitnog MMIO-a je obično omogućena i veličina je definirana za tu regiju, izračunata iz Koliko vrhunskih grafičkih procesora će biti dodijeljeno virtualnoj mašini (VM)?Pravilo je obično pomnožiti 16 s brojem GPU-ova i zaokružiti rezultat na sljedeću potenciju dvojke (na primjer, dva takva GPU-a bi na kraju imala 64 GB 64-bitnog MMIO-a).
Nakon podešavanja ovih parametara, vrši se instalacija ili se provjerava da je Gostujući operativni sistem podržava EFI/UEFI i sposoban je da obradi veličinu memorije i dotičnu grafičku karticu.U ovom trenutku, grafička kartica još nije povezana sa virtuelnom mašinom; okruženje se jednostavno priprema tako da će, kada se to dogodi, sve početi bez grešaka zbog nedostatka resursa ili nekompatibilnog firmvera.
Dodijelite GPU virtuelnoj mašini koristeći VMDirectPath I/O
Nakon što host označi GPU kao dostupan za DirectPath I/O i VM je ispravno konfiguriran, vrijeme je za fizički povežite karticu s tom virtualnom mašinomOvaj korak se mora izvršiti kada je virtuelna mašina potpuno isključena.
Iz vSphere klijenta odaberite VM i unesite "Uredi postavke" za pregled virtuelnog hardveraNa listi uređaja možete kliknuti na "Dodaj novi uređaj" i odabrati "PCI uređaj" ako GPU već nije na listi. Zatim odaberite PCI uređaj koji odgovara grafičkoj kartici (na primjer, NVIDIA ili AMD kartica otkrivena na hostu).
Kada se konfiguracija sačuva, VM će prikazati nešto slično ovome na svom hardveru „PCI uređaj 0“ povezan sa određenim GPU-omOd ovog trenutka, kada se gostujući operativni sistem pokrene, vidjet će dodatni PCIe adapter koji odgovara fizičkoj grafičkoj kartici.
Neophodno je da virtuelna mašina ima rezervirao svu memoriju koja mu je dodijeljenaU vSphere-u, ovo se konfiguriše u "Uredi postavke → Virtuelni hardver → Memorija", postavljajući vrijednost "Rezervacija" na količinu RAM-a konfigurisanu za VM. Bez ove potpune rezervacije, PCI prolaz može propasti ili imati povremene probleme.
Nakon uključivanja virtuelne mašine, na sistemu Linux Prisustvo GPU-a se može potvrditi pomoću naredbe tipo lspci | grep nvidia, dok će se u Windowsu pojaviti pod "Adapteri za prikaz" u Upravitelj uređajaNormalno je vidjeti i VMware emuliranu grafičku karticu i namjensku fizičku GPU.
Posljednji korak je instaliranje sljedećeg na gostujući uređaj: vozači Zvaničnici proizvođača grafičkih procesora, preuzeti sa web stranica NVIDIA, AMD ili Intel, izbjegavajući oslanjanje na generičke drajvere ili one koje su isporučene Windows Updatekoji možda nije optimiziran za scenarije prolaza.
vSphere ograničenja i funkcije koje ne rade sa vDGA
B strana GPU prolaza u VMware-u je ta Nekoliko naprednih funkcija platforme je izgubljeno dodjeljivanjem fizičkog uređaja direktno virtuelnoj mašini. To je cijena koju treba platiti za te gotovo nativne performanse.
Prva velika žrtva je vMotion i DRSVirtuelna mašina sa GPU-om u passthrough modu ne može se migrirati na drugi host jer je kartica fizički zaključana za originalni server. Automatske politike balansiranja opterećenja koje uključuju premještanje virtuelne mašine između hostova u klasteru također se ne mogu koristiti.
Karakteristike kao što su Tradicionalni snimci ili određeni mehanizmi visoke dostupnosti za tu specifičnu virtuelnu mašinu. Budući da se oslanja na vrlo specifičan fizički hardver, mogućnost zamrzavanja i vraćanja složenih stanja je ugrožena.
Još jedan aspekt koji treba uzeti u obzir je da je u ovom režimu, GPU se ne dijeli između više virtuelnih mašinaAko je na istoj mašini potrebno više desktop računara ili servera sa grafičkim ubrzanjem, bit će potrebna jedna kartica po virtuelnoj mašini ili, alternativno, može se koristiti vGPU model gdje je kartica virtualizovana na više instanci.
Sa strane podrške, mogu postojati specifični slučajevi u kojima Određene kombinacije hardvera i upravljačkih programa uzrokuju problemeKao što su neki korisnici primijetili prilikom nadogradnje na ESXi 6.x s NVIDIA GRID karticama na određenim serverima (npr. Dell R720), preporučljivo je u ovim scenarijima pregledati dokumentaciju proizvođača VMwarea i GPU-a i po potrebi otvoriti zahtjeve za podršku.
Konačno, treba napomenuti da određene tehnologije ili usluge koje interaguju s grafikom, kao što su udaljene radne površine, Linux podsistemi u Windowsu ili napredne funkcije operativnog sistemaMogu ometati ili uzrokovati greške "Code 43" u NVIDIA drajverima ako otkriju da radite unutar virtuelne mašine sa GPU prolazom.
Propusnost GPU-a u drugim hipervizorima: paralelno sa Hyper-V
Iako je ovdje fokus na VMwareu, vrijedi razumjeti kako drugi hipervizori (na primjer virtualizacija sa KVM-om i virt-managerom) rješavaju istu potrebu za dodjeljivanjem fizičkog GPU-a virtuelnoj mašinijer se terminologija i alati mijenjaju, ali osnovna ideja je slična.
U Hyper-V-u, ekvivalent VMware VMDirectPath I/O je direktno dodjeljivanje uređaja pomoću DDA (Dodjeljivanje diskretnih uređaja)Ova tehnika omogućava mapiranje određenog PCIe uređaja, kao što je GPU ili NVMe, direktno unutar Windows virtuelne mašine, sa nivoom kontrole i performansi sličnim passthrough-u u ESXi.
Starije verzije Windows Servera koristile su ovu tehnologiju RemoteFX ponuditi GPU virtualizaciju i dijeljenje grafičke kartice između više VM-ova. Sa el tiempoZbog sigurnosnih problema i ograničenja performansi (kao što je ograničenje od 1 GB VRAM-a po virtuelnoj mašini i 30 FPS), Microsoft je povukao RemoteFX i ostavio DDA kao primarni put za scenarije sa posvećenom GPU-om.
U Windows 10 i Windows 11Posebno kod određenih kompilacija, pojavila se podrška za Particioniranje GPU-a i ponovno korišteni mehanizmi iz WSL2 i Windows SandboxaMeđutim, njegova konfiguracija obično uključuje složene skripte i kopiranje drajvera sa hosta na gosta, što nije tako jednostavno kao dodjeljivanje uređaja u vSphere-u.
Poznavanje ovih alternativa nam omogućava da vidimo da Filozofija pružanja gotovo izvornog pristupa GPU-u putem direktnog PCIe kanala Zajedničko je za nekoliko hipervizora, iako svaki ima svoje nijanse, naredbe i ograničenja kompatibilnosti.
Cijeli ovaj ekosistem prolaza, vGPU-a i DDA pokazuje da, uz pravilnu konfiguraciju i korištenje pravog hardvera, Sasvim je izvodljivo koristiti moćne GPU-ove unutar virtuelne mašine za produkciju Za opterećenja koja se kreću od zahtjevnih grafičkih desktop računara do AI i HPC-a, uvijek pretpostavljamo da ćete morati odustati od određenih pogodnosti tradicionalne virtualizacije i obratiti posebnu pažnju na drajvere, verzije hipervizora i podršku proizvođača GPU-a.
Strastveni pisac o svijetu bajtova i tehnologije općenito. Volim dijeliti svoje znanje kroz pisanje, a to je ono što ću raditi na ovom blogu, pokazivati vam sve najzanimljivije stvari o gadžetima, softveru, hardveru, tehnološkim trendovima i još mnogo toga. Moj cilj je pomoći vam da se krećete u digitalnom svijetu na jednostavan i zabavan način.
