GPU Passthrough (vDGA) u VMwareu: Potpuni vodič

Zadnje ažuriranje: 14/01/2026
Autor: Isaac
  • Propusnost GPU-a (vDGA/VMDirectPath I/O) u VMwareu mapira potpuni fizički GPU na virtualni stroj kako bi se postigle gotovo nativne performanse.
  • Njegova upotreba zahtijeva stroge zahtjeve hardver (VT‑d/AMD‑V, IOMMU, MMIO 64‑bit) i EFI/UEFI firmver na virtualnom računalu.
  • Omogućavanje vDGA rezultira gubitkom ključnih vSphere značajki kao što su vMotion, DRS i snimke na virtualnom stroju koji koristi GPU u prolaznom načinu rada.
  • U usporedbi s vGPU-om i drugim rješenjima, vDGA daje prioritet namjenskim performansama nad fleksibilnošću i mogućnošću dijeljenja GPU-a između više virtualnih strojeva.

vDGA GPU prolaz na VMwareu

Izravno povezivanje fizičkog GPU-a s virtualnim strojem u VMwareu To je jedna od onih promjena koje čine svu razliku pri radu s velikim grafičkim opterećenjima. IA ili 3D renderiranje. Prelazak s emulirane grafičke kartice na izravan pristup putem prolaza (vDGA / VMDirectPath I/O) može približiti performanse virtualnog stroja onima fizičkog stroja, ali zauzvrat dodaje popriličan broj zahtjeva i ograničenja koja bi trebala biti vrlo jasna prije početka.

Nadalje, u trenutnom ekosustavu koegzistira nekoliko načina korištenja GPU-a u virtualiziranim okruženjima: Namjenski prolaz, dijeljeni vGPU i tehnologije poput BitFusiona ili GPU particioniranjaRazumijevanje što svaki od njih radi, u kojim slučajevima odgovara i kako je konfiguriran u vSphere/ESXi (i kako se odnosi na slične tehnologije poput Hyper-V DDA) ključno je kako ne biste ušli u slijepu ulicu s hardverom ili odabranom verzijom hipervizora.

Što je GPU passthrough (vDGA / VMDirectPath I/O) u VMwareu

Propusnost GPU-a u VMwareu, 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 izravno dodijeljena virtualnom stroju. Umjesto korištenja grafičkog adaptera koji emulira hipervizor, gostujući operativni sustav vidi GPU gotovo kao da je priključen na fizičku matičnu ploču.

Ovaj prečac omogućuje virtualnom stroju da iskoristi sva snaga grafičkog čipa, njegove video memorije i naprednih značajki kao što su CUDA, OpenCL, Direct3D i OpenGL izvorno, s vrlo malo dodatnog opterećenja od strane hipervizora. U VMware laboratorijskim testovima, obično se prijavljuje gubitak performansi od oko 4-5% u usporedbi s pokretanjem iste GPU u golom metalu.

U praksi, korištenje GPU prolaza znači da Ta kartica je u potpunosti posvećena jednom virtualnom stroju.Ne postoji precizna alokacija resursa između više virtualnih strojeva, niti postoji sloj softvera treće strane učitan na ESXi za dijeljenje grafičke kartice, za razliku od onoga što se događa s vGPU rješenjima kao što su NVIDIA MREŽA.

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 strojeva s različitim tehnikama virtualizacije ili udaljenog preusmjeravanja.

Kada govorimo o vDGA u VMware svijetu, u biti opisujemo ovo izravno dodjeljivanje PCIe uređaja GPU-a virtualnom stroju korištenjem VMDirectPath I/O, sa svim dobrim (performanse) i lošim (ograničenja mobilnosti i visoke dostupnosti) koje to podrazumijeva.

VMDirectPath GPU arhitektura VMware

Prednosti korištenja GPU prolaza u vSphereu

Glavni razlog za prelazak na vDGA je taj što Grafičke i računalne performanse vrlo su bliske onima fizičkog računala.Izostavljanjem velikog dijela sloja virtualizacije za taj PCIe uređaj, tipična uska grla emuliranog GPU-a nestaju i VM može puno glatko raditi s igrama, 3D aplikacijama ili AI engineima.

To je posebno uočljivo u scenarijima gdje integrirani GPU-i 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čan u obuci modela strojnog učenja i AI opterećenja koja se uvelike oslanjaju na CUDA ili ekvivalente.

Još jedna jasna prednost je fleksibilnija upotreba hardvera na razini podatkovnog centra. Umjesto da imate fizička radna stanica po korisniku ili po projektuMoguće je dodijeliti ESXi host odgovarajuće veličine nekoliko virtualnih strojeva, svaki s vlastitim GPU-om u prolazu, i igrati se s rasporedima ili vršnom potražnjom.

U određenim okruženjima, posebno ako su već dostupni poslužitelji sa slobodnim PCIe slotovima, 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 razdobljima intenzivnog rada.

Konačno, postoji i neizravna korist u smislu sigurnosti i operacija: održavanjem grafičkih opterećenja unutar izoliranih virtualnih strojevaAko nešto pođe po zlu (iskorištavanje, problematični upravljački program, loša konfiguracija), lakše je ograničiti utjecaj, vratiti se na prethodnu snimku ili vratiti iz sigurnosne kopije, sve dok se poštuju ograničenja prolaza, koja ćemo vidjeti kasnije.

GPU prolaz u odnosu na vGPU i druge alternative

Unutar VMware ekosustava postoji nekoliko načina korištenja grafičke kartice, a ne uključuju svi njezino potpuno posvećivanje jednom virtualnom stroju. Najpoznatiji su: vDGA / VMDirectPath I/O, vGPU (NVIDIA GRID ili drugi) i rješenja za udaljeni pristup/računalstvo kao što je BitFusion.

  Kako onemogućiti automatsko dovršavanje u web preglednicima korak po korak

U izravnom prolaznom načinu rada (vDGA), GPU je dodijeljen isključivo na virtualni strojRačunalne jezgre i VRAM se ne dijele između više virtualnih strojeva, a uloga hipervizora praktički ne postoji osim usmjeravanja PCIe uređaja gostu. To je najlakša opcija za razumjeti i ona koja najviše sliči fizičkom poslužitelju s namjenskom grafičkom karticom.

U vGPU pristupu, specijalizirani softver (na primjer NVIDIA GRID vGPU na VMware vSphereuObrađuje virtualizaciju GPU-a na razini kontrolera i izlaže virtualne instance GPU-a koje se mogu istovremeno dodijeliti više virtualnih strojeva. Svako gostujuće računalo vidi "dijelak" GPU-a sa zajamčenim ili dijeljenim resursima.

vGPU-ovi omogućuju više virtualnih desktopa ili servera da dijele jednu grafičku karticu, što je vrlo korisno u VDI, lagana ubrzana uredska okruženja, grafičke radne stanice prve linije u maloprodaji ili ugostiteljstvuili scenariji u kojima je vršna upotreba grafike neravnomjerna među korisnicima. Zauzvrat, postoji određeno opterećenje, a ne postižu se iste vršne performanse kao s cijelim fizičkim GPU-om posvećenim jednom virtualnom stroju.

Postoje i rješenja kao što su BitFusion Flexdirect i slične tehnologijekoji omogućuju korištenje GPU-a preko mreže s različitih virtualnih strojeva, idealno za AI i HPC opterećenja gdje GPU djeluje više kao udaljeni računalni resurs nego kao grafička kartica za korisničko grafičko sučelje.

Odaberite između vDGA, vGPU ili modela udaljene GPU Ovisi o tome trebate li u potpunosti iskoristiti GPU za jedno računalo (passthrough), želite li distribuirati skupu karticu među mnogo korisnika sa srednjim opterećenjima (vGPU) ili je ključno orkestrirati skup GPU-ova za distribuirano računanje (BitFusion i slično).

Hardverski zahtjevi za korištenje vDGA na ESXi

Prije planiranja implementacije GPU prolaza u VMwareu, morate se uvjeriti da Hardverska platforma ispunjava niz uvjeta koje idu dalje od "priključivanja grafičke kartice na poslužitelj".

Prvo, procesor i čipset matične ploče ESXi hosta moraju podržavati virtualizacija s IOMMU-om. U Intel To se postiže putem Intel VT-x plus VT-dy, a putem AMD-a putem AMD-V s IOMMU-om. BIOS/UEFI poslužitelja obično ima posebne opcije za to. aktiviranje proširenja virtualizacije ulazno/izlaznih podataka.

Drugo, morate provjeriti je li 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). To je posebno važno kod vrhunskih GPU-ova kao što su Tesla, P100, V100 i ekvivalenti, koji deklariraju vrlo velike memorijske regije u svojim BAR-ovima (bazni adresni registri).

Neke od ovih vrhunskih kartica mogu mapirati više od 16 GB MMIO prostoraStoga, osim što igra BIOSZatim će biti potrebno prilagoditi određene parametre u naprednim postavkama virtualnog stroja u vSphereu kako bi se mogao pokrenuti s tim GPU-om bez pogrešaka zbog nedovoljnih resursa.

Naravno, sama GPU mora biti kompatibilan s poslužiteljskom platformom i biti podržan od strane proizvođača hosta (Dell, HPE, Lenovoitd.) kada se koristi u prolaznom načinu rada. U praksi, većina modernih PCIe GPU-a radi, ali preporučljivo je provjeriti popise kompatibilnosti, posebno za GRID kartice ili vrlo nove modele.

Softverski zahtjevi i kompatibilnost verzija

Na razini softvera, važno je jasno napomenuti da VMware podržava vDGA u vSphere 6.x i novijim verzijamaMeđutim, neki su korisnici prijavili specifične probleme s određenim kombinacijama hardvera (na primjer, NVIDIA GRID GPU-ovi u Dell R720 poslužiteljima s ESXi 6.x).

U tim slučajevima uobičajeno je vidjeti pogreške poput „uređaj je već u upotrebi“ ili simptome koji sugeriraju da Propusni prijenos je prestao raditi nakon nadogradnje s ESXi 5.5 na 6.xkada se u stvarnosti radi o specifičnim greškama, promjenama u upravljanju PCI uređajima ili upravljačkim programima, a ne o službenom povlačenju podrške.

Gostujući operativni sustav koji će koristiti GPU u prolazu mora imati službeni upravljački programi proizvođača instalirani unutar virtualnog stroja (NVIDIA, AMD, Intel), budući da ESXi ne učitava nijedan specifični upravljački program za tu karticu kada koristi VMDirectPath I/O; hipervizor jednostavno izlaže uređaj gostu.

Osim toga, VM mora biti konfiguriran za pokretanje EFI ili UEFI način rada pri korištenju GPU-ova koji deklariraju velika MMIO memorijska područja. Ovaj detalj je ključan: neispravan VM firmware može dovesti do kvarova čizma ili da se GPU ne inicijalizira ispravno iz gostujućeg operativnog sustava.

Na strani klijenta, ako se pristup virtualnom stroju ostvaruje putem Udaljena radna površina (RDP ili drugi protokoli)Odgovarajuće politike trebat će aktivirati kako bi gostujući sustav koristio hardversku grafičku karticu u udaljenim sesijama i ne bi bio zaglavljen s generičkim upravljačkim programom bez ubrzanja.

  Windows Update ne radi u sustavu Windows 7. Što mogu učiniti?

Konfiguracija GPU prolaza u VMwareu

Konfiguriranje ESXi hosta za korištenje GPU-a u prolaznom načinu rada

Prvi praktični korak je priprema vSphere/ESXi poslužitelj za izlaganje GPU-a kao DirectPath I/O uređajaTo uključuje pristup BIOS-u, provjeru PCI inventara na hostu i označavanje kartice kako bi se mogla dodijeliti virtualnim strojevima.

Ako GPU zahtijeva velike MMIO memorijske regije (16 GB ili više), trebali biste potražiti u BIOS-u/UEFI-ju poslužitelja opcije kao što su „Dekodiranje iznad 4G“ ili „Rukovanje PCI 64-bitnim resursima iznad 4G“ i aktivirajte ih. Toč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 „Konfiguriraj → Hardver → PCI uređaji → Uredi“ Za pregled popisa otkrivenih PCI uređaja, vidjet ćete NVIDIA, AMD ili slične kartice zajedno s ostatkom PCI hardvera poslužitelja.

Ako GPU još nije omogućen za DirectPath I/O, jednostavno označite okvir. prolazna kutija na vašem ulazu unutar tog popisa. Prilikom spremanja promjena, vSphere će vas zatražiti da ponovno pokrenete host kako biste primijenili konfiguraciju, jer hipervizor treba rezervirati i pripremiti uređaj za ponovno dodjeljivanje virtualnim strojevima.

Nakon ponovnog pokretanja, po povratku u odjeljak "Konfiguriraj → Hardver → PCI uređaji" Prikazat će se prozor pod nazivom nešto poput „DirectPath I/O PCI uređaji dostupni virtualnim strojevima“ s popisom svih uređaja koji su postali dostupni za korištenje u virtualnim strojevima, uključujući GPU-ove i, u mnogim slučajevima, napredne mrežne adaptere poput Mellanoxa.

Priprema i konfiguriranje virtualnog stroja

Kada je host spreman, sljedeći korak je stvaranje ili prilagodba virtualnog stroja koji će koristiti GPU. Prvo je osigurati da VM Izrađen je s odgovarajućim EFI/UEFI firmwareom., posebno u scenarijima s vrhunskim GPU-ima i visokim MMIO-om.

U vSphere klijentu jednostavno odaberite VM, idite na "Uredi postavke → Opcije virtualnog stroja → Opcije pokretanja" i provjerite je li u polju "Firmware" odabrano "EFI" ili "UEFI". Ako nije, trebat će ga promijeniti (a u nekim slučajevima trebat će ponovno stvoriti virtualni stroj ili operativni sustav ako ne podržava ovu vruću zamjenu).

Prilikom korištenja prolaza s karticama koje mapiraju više od 16 GB MMIO prostora, preporučljivo je prilagoditi neke napredne parametre u konfiguraciji virtualnog stroja, dostupnima iz „Uredi postavke → Opcije virtualnog stroja → Napredno → Parametri konfiguracije → Uredi konfiguraciju“Tamo možete dodati ključeve povezane s pciPassthru kako biste kontrolirali način rezerviranja adresnog prostora.

Točnije, korištenje 64-bitnog MMIO-a je obično omogućeno i veličina je definirana za tu regiju, izračunata iz Koliko će vrhunskih grafičkih procesora biti dodijeljeno virtualnom stroju?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, izvodi se instalacija ili se provjerava da je Gostujući operativni sustav podržava EFI/UEFI i sposoban je podnijeti veličinu memorije i dotičnu grafičku karticu.U ovom trenutku grafička kartica još nije spojena na virtualni stroj; okruženje se jednostavno priprema tako da će, kada se to dogodi, sve pokrenuti bez grešaka zbog nedostatka resursa ili nekompatibilnog firmvera.

Dodijelite GPU virtualnom stroju pomoću VMDirectPath I/O

Nakon što je host označio GPU kao dostupan za DirectPath I/O i VM je ispravno konfiguriran, vrijeme je za fizički povezati karticu s tim virtualnim strojemOvaj korak se mora izvesti s potpuno isključenim virtualnim strojem.

Iz vSphere klijenta odaberite VM i unesite "Uredi postavke" za pregled virtualnog hardveraNa popisu uređaja možete kliknuti "Dodaj novi uređaj" i odabrati "PCI uređaj" ako grafička kartica već nije na popisu. Zatim odaberite PCI uređaj koji odgovara grafičkoj kartici (na primjer, NVIDIA ili AMD kartica otkrivena na glavnom računalu).

Kada se konfiguracija spremi, VM će na svom hardveru prikazati nešto poput ovoga „PCI uređaj 0“ povezan sa specifičnim GPU-omOd ovog trenutka nadalje, kada se pokrene gostujući operativni sustav, vidjet će dodatni PCIe adapter koji odgovara fizičkoj grafičkoj kartici.

Bitno je da virtualni stroj ima rezervirao svu memoriju koja mu je dodijeljenaU vSphereu se ovo konfigurira u "Uredi postavke → Virtualni hardver → Memorija", gdje se vrijednost "Rezervacija" postavlja na količinu RAM-a konfiguriranu za virtualni stroj. Bez ove potpune rezervacije, PCI prolaz može propasti ili imati povremene probleme.

  Vremensko ograničenje semafora je isteklo | Rješenja

Nakon uključivanja virtualnog stroja, na sustavu Linux Prisutnost GPU-a može se provjeriti pomoću naredbe vrsta lspci | grep nvidia, dok će se u sustavu Windows pojaviti pod "Prilagodnici za prikaz" u Administrator dispozitivaNormalno 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 Službenici proizvođača grafičkih procesora, preuzeto s web stranica NVIDIA, AMD ili Intel, izbjegavajući oslanjanje na generičke upravljačke programe ili one koji su isporučeni Windows Updatekoji možda nije optimiziran za scenarije prolaza.

vSphere ograničenja i značajke koje ne rade s vDGA

B strana GPU prolaza u VMwareu je ta Izgubljene su brojne napredne značajke platforme dodjeljivanjem fizičkog uređaja izravno virtualnom stroju. To je cijena koju treba platiti za te gotovo izvorne performanse.

Prva velika žrtva je vMotion i DRSVirtualni stroj s GPU-om u prolaznom načinu rada ne može se vruće migrirati na drugi host jer je kartica fizički zaključana za izvorni poslužitelj. Automatizirane politike uravnoteženja opterećenja koje uključuju premještanje virtualnog stroja između hostova u klasteru također se ne mogu koristiti.

Značajke kao što su Tradicionalne snimke ili određeni mehanizmi visoke dostupnosti za taj specifični VM. Budući da se oslanja na vrlo specifičan fizički hardver, mogućnost zamrzavanja i vraćanja složenih stanja je ugrožena.

Drugi aspekt koji treba uzeti u obzir je da je u ovom načinu rada, GPU se ne dijeli između više virtualnih strojevaAko je na istom računalu potrebno više stolnih računala ili poslužitelja s grafičkim ubrzanjem, bit će potrebna jedna kartica po virtualnom stroju ili se alternativno može koristiti vGPU model gdje je kartica virtualizirana na više instanci.

Što se tiče podrške, mogu postojati specifični slučajevi u kojima Određene kombinacije hardvera i upravljačkih programa mogu uzrokovati problemeKao što su neki korisnici primijetili prilikom nadogradnje na ESXi 6.x s NVIDIA GRID karticama na određenim poslužiteljima (npr. Dell R720), preporučljivo je u tim scenarijima pregledati dokumentaciju proizvođača VMwarea i GPU-a te po potrebi otvoriti zahtjeve za podršku.

Konačno, treba napomenuti da određene tehnologije ili usluge koje komuniciraju s grafikom, kao što su udaljene radne površine, Linux podsustavi u sustavu Windows ili napredne značajke operacijskog sustavaMogu ometati ili uzrokovati pogreške "Code 43" u NVIDIA upravljačkim programima ako otkriju da radite unutar virtualnog stroja s GPU prolazom.

Propusnost GPU-a u drugim hipervizorima: paralelno s Hyper-V-om

Iako je ovdje fokus na VMwareu, vrijedi razumjeti kako drugi hipervizori (na primjer virtualizacija s KVM-om i virt-managerom) rješavaju istu potrebu za dodjeljivanjem fizičkog GPU-a virtualnom strojujer se terminologija i alati mijenjaju, ali temeljna ideja je slična.

U Hyper-V-u, ekvivalent VMware VMDirectPath I/O je izravno dodjeljivanje uređaja pomoću DDA (Diskretno dodjeljivanje uređaja)Ova tehnika omogućuje mapiranje određenog PCIe uređaja, kao što je GPU ili NVMe, izravno unutar Windows virtualnog stroja, s razinom kontrole i performansi sličnom prolazu u ESXi-ju.

Starije verzije Windows Servera koristile su ovu tehnologiju RemoteFX ponuditi GPU virtualizaciju i dijeljenje grafičke kartice između više virtualnih strojeva. S el tiempoZbog sigurnosnih problema i ograničenja performansi (kao što je ograničenje od 1 GB VRAM-a po virtualnom stroju i 30 FPS-a), Microsoft je ukinuo RemoteFX i ostavio DDA kao primarni put za scenarije s namjenskom GPU-om.

U sustavu Windows 10 i Windows 11Pogotovo kod određenih kompilacija, pojavljuje 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 upravljačkih programa s glavnog računala na gosta, što nije tako jednostavno kao dodjeljivanje uređaja u vSphereu.

Poznavanje ovih alternativa nam omogućuje da vidimo da Filozofija ponude gotovo izvornog pristupa GPU-u putem izravnog PCIe kanala Zajedničko je za nekoliko hipervizora, iako svaki ima svoje nijanse, naredbe i ograničenja kompatibilnosti.

Cijeli ovaj ekosustav prolaza, vGPU-a i DDA-e pokazuje da, uz pravilnu konfiguraciju i s pravim hardverom, Sasvim je izvedivo koristiti moćne GPU-ove unutar virtualni strojevi za produkciju Za opterećenja u rasponu od zahtjevnih grafičkih desktopa do umjetne inteligencije i HPC-a, uvijek pretpostavljamo da ćete se morati odreći određenih pogodnosti tradicionalne virtualizacije i obratiti posebnu pozornost na upravljačke programe, verzije hipervizora i podršku proizvođača GPU-a.

virtualizacija hardvera
Povezani članak:
Kako korak po korak omogućiti virtualizaciju iz BIOS-a ili UEFI-ja