GPU läbilaskmine (vDGA) VMware'is: täielik juhend

Viimane uuendus: 14/01/2026
Autor: Isaac
  • GPU läbilaskmine (vDGA/VMDirectPath I/O) VMware'is seob täieliku füüsilise GPU virtuaalmasinaga, et saavutada peaaegu natiivne jõudlus.
  • Selle kasutamine nõuab rangeid nõudeid riistvara (VT-d/AMD-V, IOMMU, MMIO 64-bitine) ja EFI/UEFI püsivara virtuaalmasinas.
  • vDGA lubamine toob kaasa oluliste vSphere'i funktsioonide, näiteks vMotioni, DRS-i ja hetktõmmiste kadumise virtuaalmasinas, mis kasutab GPU-d läbilaskerežiimis.
  • Võrreldes vGPU ja teiste lahendustega eelistab vDGA spetsiaalset jõudlust paindlikkusele ja GPU jagamise võimalusele mitme virtuaalmasina vahel.

vDGA GPU läbilaskmine VMware'is

Füüsilise GPU otsene ühendamine virtuaalmasinaga VMware'is See on üks neist muudatustest, mis teeb suure graafikakoormusega töötamisel tohutu vahe. IA või 3D-renderdamine. Emuleeritud graafikakaardilt otsejuurdepääsule läbipääsu kaudu (vDGA / VMDirectPath I/O) üleminek võib virtuaalmasina jõudlust füüsilise masina jõudlusele lähemale tuua, kuid vastutasuks lisab see üsna palju nõudeid ja piiranguid, mis peaksid enne alustamist väga selged olema.

Lisaks eksisteerib praeguses ökosüsteemis mitu võimalust GPU kasutamiseks virtualiseeritud keskkondades: Spetsiaalne läbipääs, jagatud vGPU ja tehnoloogiad nagu BitFusion või GPU partitsioonimineRiistvara või valitud hüperviisori versiooniga ummikseisu mitte sattumise vältimiseks on oluline mõista, mida igaüks neist teeb, millistel juhtudel sobib ja kuidas see vSphere'is/ESXi-s konfigureeritakse (ja kuidas see on seotud sarnaste tehnoloogiatega nagu Hyper-V DDA).

Mis on GPU läbilaskmine (vDGA / VMDirectPath I/O) VMware'is?

GPU läbilaskmine VMware'is, tuntud ka kui vDGA või VMDirectPath I/OSee on töörežiim, kus ESXi hostile installitud füüsiline graafikakaart on otse määratud virtuaalmasinale. Hüperviisori emuleeritud graafikaadapteri asemel näeb külalisoperatsioonisüsteem GPU-d peaaegu nii, nagu oleks see ühendatud füüsilise emaplaadiga.

See otsetee võimaldab virtuaalmasinal ära kasutada graafikakiibi kogu võimsus, videomälu ja täiustatud funktsioonid näiteks CUDA, OpenCL, Direct3D ja OpenGL natiivselt, hüperviisori lisakoormusega väga vähesel määral. VMware'i laboritestides teatatakse tavaliselt umbes 4-5% jõudluse langusest võrreldes sama GPU käitamisega paljas metallis.

Praktikas tähendab GPU läbilaskevõime kasutamine seda, et See kaart on täielikult pühendatud ühele virtuaalmasinale.Puudub detailne ressursside jaotamine mitme virtuaalmasina vahel ega ka ESXi-le laaditud kolmanda osapoole tarkvarakiht graafikakaardi jagamiseks, erinevalt vGPU-lahendustest, näiteks NVIDIA VÕRK.

Oluline on eristada seda lähenemisviisi teistest GPU-de virtualiseerimise viisidest, näiteks NVIDIA vGPU (jagatud vGPU), RemoteFX/partitsioonimine Hyper-V või BitFusion-tüüpi lahendustes, mille eesmärk on levitada GPU-d või GPU-de kogumit mitme masina vahel, kasutades erinevaid virtualiseerimis- või kaugsuunamistehnikaid.

Kui me räägime VMware'i maailmas vDGA-st, siis me sisuliselt kirjeldame seda GPU PCIe-seadme otsene määramine virtuaalmasinale kasutades VMDirectPath I/O-d koos kõigi sellega kaasnevate heade (jõudlus) ja halbade (mobiilsuse ja kõrge käideldavuse piirangud) külgedega.

VMDirectPath GPU arhitektuur VMware

GPU läbilaskevõime kasutamise eelised vSphere'is

Peamine põhjus vDGA-le üleminekuks on see, et Graafika ja arvutusvõimsus on väga lähedal füüsilise arvuti omale.Selle PCIe-seadme virtualiseerimiskihi suure osa väljajätmisega kaovad emuleeritud GPU tüüpilised kitsaskohad ja virtuaalmasin saab mängude, 3D-rakenduste või tehisintellekti mootoritega palju sujuvamalt töötada.

See on eriti märgatav olukordades, kus integreeritud GPU-d või vaikimisi emuleeritud virtuaalne graafikakaart jäävad kaugele maha: Täiustatud graafiline disain, CAD, 3D-modelleerimine ja renderdamine, videotöötlus, animatsioon ja mängude arendusSee on kriitilise tähtsusega ka masinõppe mudelite ja tehisintellekti töökoormuste treenimisel, mis tuginevad suuresti CUDA-le või selle ekvivalentidele.

Teine selge eelis on riistvara paindlikum kasutamine andmekeskuse tasandil. Selle asemel, et füüsiline tööjaam kasutaja või projekti kohtaVõimalik on eraldada hea suurusega ESXi host mitmele virtuaalmasinale, millel igaühel on oma GPU läbilaskevõimes, ning mängida ajakavade või tippnõudluse järgi.

Teatud keskkondades, eriti kui vabade PCIe pesadega serverid on juba saadaval, kulu kasutaja või projekti kohta See võib olla vähem kui võimsate füüsiliste tööjaamade pargi ülalpidamine, eriti kui graafikakaarti ei ole vaja 24 tundi ööpäevas ja seda saab vastavalt intensiivse töö perioodidele ümber konfigureerida.

Lõpuks on ka kaudne kasu turvalisuse ja toimimise osas: graafikakoormuste säilitamine isoleeritud virtuaalsete masinate seesKui midagi läheb valesti (ärakasutamine, problemaatiline draiver, halb konfiguratsioon), on mõju lihtsam ohjeldada, naasta eelmisele hetktõmmisele või taastada varukoopiast, kui austatakse läbilaske piiranguid, mida me hiljem näeme.

GPU läbilaskmine versus vGPU ja muud alternatiivid

VMware'i ökosüsteemis on graafikakaardi kasutamiseks mitu võimalust ja mitte kõik neist ei hõlma selle täielikku eraldamist ühele virtuaalmasinale. Tuntumad on: vDGA / VMDirectPath I/O, vGPU (NVIDIA GRID või muu) ja kaugjuurdepääsu/arvutuslahendused, näiteks BitFusion.

  Kuidas keelata automaatne täitmine veebibrauserites samm-sammult

Otseülekande režiimis (vDGA) on graafikakaart eraldatud ainult virtuaalmasinaleArvutustuumad ja videomälu ei ole mitme virtuaalmasina vahel jagatud ning hüperviisori roll on praktiliselt olematu peale PCIe-seadme külalismasinale suunamise. See on kõige lihtsamini mõistetav variant ja sarnaneb kõige enam füüsilise serveriga, millel on spetsiaalne graafikakaart.

vGPU lähenemisviisi puhul kasutatakse spetsiaalset tarkvara (näiteks NVIDIA GRID vGPU VMware vSphere'ilSee tegeleb GPU virtualiseerimisega kontrolleri tasandil ja pakub GPU virtuaalseid eksemplare, mida saab samaaegselt määrata mitmele virtuaalmasinale. Iga külalismasin näeb GPU "viilu" garanteeritud või jagatud ressurssidega.

vGPU-d võimaldavad mitmel virtuaalsel töölaual või serveril jagada ühte graafikakaarti, mis on väga kasulik VDI, kerged kiirendatud kontorikeskkonnad, esirinnas olevad graafilised tööjaamad jaemüügis või külalislahkusesvõi stsenaariumid, kus graafikakaardi tippkasutus on kasutajate vahel ebaühtlane. Selle tulemusel tekib teatav üldkulu ja sama tippjõudlust ei saavutata kui terve füüsilise graafikakaardi puhul, mis on pühendatud ühele virtuaalmasinale.

On ka lahendusi, näiteks BitFusion Flexdirect ja sarnased tehnoloogiadmis võimaldavad GPU-sid võrgu kaudu erinevatelt virtuaalmasinatelt tarbida, mis sobib ideaalselt tehisintellekti ja HPC töökoormuste jaoks, kus GPU toimib pigem kaugarvuti ressursina kui kasutaja graafilise liidese videokaardina.

Valige vDGA, vGPU või kaug-GPU mudeli vahel See sõltub sellest, kas peate GPU-d täielikult ära kasutama ühe masina jaoks (läbilaskmine), kas soovite jagada kallist kaarti paljude keskmise töökoormusega kasutajate vahel (vGPU) või on võtmeks hajutatud andmetöötluse jaoks GPU-de kogumi orkestreerimine (BitFusion ja sarnased).

Riistvaranõuded vDGA kasutamiseks ESXi-s

Enne GPU läbipääsu juurutamise planeerimist VMware'is peate veenduma, et Riistvaraplatvorm vastab mitmetele tingimustele mis lähevad kaugemale pelgast "graafikakaardi serveriga ühendamisest".

Esiteks peavad ESXi host-emaplaadi protsessor ja kiibistik toetama virtualiseerimine IOMMU abil. Sisse Intel See saavutatakse Inteli VT-x ja VT-dy abil ning AMD kaudu AMD-V ja IOMMU kaudu. Serveri BIOS-is/UEFI-s on selleks tavaliselt spetsiaalsed valikud. aktiveeri virtualiseerimislaiendid sisend-/väljundosa.

Teiseks peate kontrollima tugiplaati MMIO mälukaardistus üle 4 GB (mõnikord märgistatud kui „üle 4G dekodeerimine”, „mälukaardistatud I/O üle 4G” või sarnane). See on eriti oluline tipptasemel GPU-de puhul, näiteks Teslal, P100, V100 ja ekvivalendid, mis deklareerivad oma BAR-is (baasaadressiregistrites) väga suuri mälupiirkondi.

Mõned neist tipptasemel kaartidest suudavad kaardistada rohkem kui 16 GB MMIO-ruumiSeega lisaks mängimisele BIOSSeejärel tuleb vSphere'i virtuaalmasina täpsemate sätete teatud parameetreid kohandada nii, et see saaks selle GPU-ga käivituda ilma ebapiisavate ressursside vigadeta.

Muidugi peab graafikakaart ise olema serveriplatvormiga ühilduv ja seda toetab hosttootja (Dell, HPE, Lenovojne), kui seda kasutatakse läbilaskerežiimis. Praktikas töötab enamik tänapäevaseid PCIe GPU-sid, kuid soovitatav on kontrollida ühilduvusloendeid, eriti GRID-kaartide või väga uute mudelite puhul.

Tarkvaranõuded ja versioonide ühilduvus

Tarkvara tasandil on oluline selgelt aru saada, et VMware toetab vDGA-d vSphere 6.x ja uuemates versioonidesSiiski on mõned kasutajad teatanud konkreetsetest probleemidest teatud riistvarakombinatsioonidega (näiteks NVIDIA GRID GPU-d Dell R720 serverites ESXi 6.x-ga).

Sellistel juhtudel on tavaline näha selliseid vigu nagu „seade on juba kasutusel” või sümptomeid, mis viitavad sellele, et Läbipääs lakkas töötamast pärast ESXi 5.5 versioonilt 6.x versioonile uuendamistkui tegelikkuses on tegemist konkreetsete vigade, PCI-seadme halduse või draiverite muudatustega, mitte ametliku toe lõpetamisega.

GPU-d läbilaskmiseks kasutaval külalisoperatsioonisüsteemil peab olema virtuaalmasinasse installitud ametlikud tootja draiverid (NVIDIA, AMD, Intel), kuna ESXi ei laadi VMDirectPath I/O kasutamisel selle kaardi jaoks ühtegi kindlat draiverit; hüperviisor lihtsalt avab seadme külalissüsteemile.

Lisaks peab virtuaalmasin olema konfigureeritud käivituma EFI või UEFI režiim suurte MMIO mälupiirkondade deklareerimisel kasutatavate GPU-de kasutamisel. See detail on kriitilise tähtsusega: vale virtuaalmasina püsivara võib põhjustada tõrkeid. saabas või et GPU ei initsialiseeru külalisoperatsioonisüsteemist õigesti.

Kliendi poolel, kui juurdepääs virtuaalmasinale toimub läbi Kaugtöölaud (RDP või muud protokollid)Selleks, et külalissüsteem kasutaks kaugseansside ajal riistvaralist graafikakaarti ja ei jääks kiirenduseta üldise draiveri külge kinni, tuleb aktiveerida vastavad eeskirjad.

  Windows Update ei tööta operatsioonisüsteemis Windows 7. Mida ma saan teha?

GPU läbipääsu konfiguratsioon VMware'is

ESXi hosti seadistamine GPU kasutamiseks läbilaskerežiimis

Esimene praktiline samm on ette valmistada vSphere/ESXi server GPU kuvamiseks DirectPath I/O seadmenaSee hõlmab BIOS-ile juurdepääsu, hosti PCI inventuuri kontrollimist ja kaardi märgistamist nii, et seda saaks virtuaalmasinatele määrata.

Kui graafikaprotsessor vajab suuri MMIO mälupiirkondi (16 GB või rohkem), peate serveri BIOS-ist/UEFI-st otsima selliseid valikuid nagu „Dekodeerimine üle 4G” või „PCI 64-bitise ressursihaldus üle 4G” ja aktiveerige need. Täpne nimi varieerub tootjati, kuid tavaliselt leiate selle PCI sätetest või täpsemate ressursside jaotisest.

Kui ESXi on nende sätetega käivitatud, saate vSphere'i kliendis minna vastavasse hostisse ja pääseda juurde „Seadista → Riistvara → PCI-seadmed → Muuda” Tuvastatud PCI-seadmete loendi vaatamiseks näete koos serveri ülejäänud PCI-riistvaraga NVIDIA, AMD või sarnaseid kaarte.

Kui GPU pole DirectPath I/O jaoks veel lubatud, märkige lihtsalt ruut. läbipääsukast teie sissepääsu juures selles loendis. Muudatuste salvestamisel palub vSphere teil hosti taaskäivitada, et konfiguratsiooni rakendada, kuna hüperviisor peab seadme reserveerima ja ette valmistama virtuaalmasinatele ümbermääramiseks.

Pärast taaskäivitamist, sektsiooni naastes „Seadista → Riistvara → PCI-seadmed” Kuvatakse aken pealkirjaga „DirectPath I/O PCI seadmed, mis on virtuaalmasinatele saadaval”, kus on loetletud kõik seadmed, mis on virtuaalmasinates kasutamiseks saadaval, sealhulgas graafikaprotsessorid ja paljudel juhtudel ka täiustatud võrguadapterid, näiteks Mellanox.

Virtuaalse masina ettevalmistamine ja seadistamine

Kui host on valmis, on järgmine samm GPU-d kasutava virtuaalmasina loomine või kohandamine. Esimene asi on veenduda, et virtuaalmasin See on loodud sobiva EFI/UEFI püsivaraga., eriti tipptasemel GPU-de ja kõrge MMIO-ga stsenaariumides.

vSphere'i kliendis valige lihtsalt virtuaalmasin ja minge aadressile „Muuda sätteid → VM-i valikud → Käivitusvalikud” ja kontrollige, kas väljal „Püsivara” on valitud „EFI” või „UEFI”. Kui ei ole, tuleb seda muuta (ja mõnel juhul tuleb virtuaalmasin või operatsioonisüsteem uuesti luua, kui see seda hot swapping'ut ei toeta).

Kui läbipääsu kasutatakse kaartidega, mis kaardistavad rohkem kui 16 GB MMIO-ruumi, on soovitatav virtuaalmasina konfiguratsioonis mõningaid täpsemaid parameetreid kohandada, millele pääseb ligi aadressilt „Muuda sätteid → VM-i valikud → Lisateave → Konfiguratsiooniparameetrid → Muuda konfiguratsiooni”Seal saate lisada pciPassthru-ga seotud võtmeid, et kontrollida aadressiruumi reserveerimist.

Täpsemalt öeldes on 64-bitise MMIO kasutamine tavaliselt lubatud ja selle piirkonna jaoks on määratletud suurus, mis arvutatakse järgmisest: Mitu tipptasemel GPU-d virtuaalmasinale eraldatakse?Rusikareegel on tavaliselt korrutada 16 graafikakaartide arvuga ja ümardada tulemus järgmise kahe astmeni (näiteks kahel sellisel graafikakaardil oleks kokku 64 GB 64-bitist MMIO-d).

Pärast nende parameetrite reguleerimist teostatakse paigaldus või kontrollitakse, et Külalisoperatsioonisüsteem toetab EFI/UEFI-d ning on võimeline hakkama saama kõnealuse mälumahu ja GPU-ga.Praegusel hetkel pole graafikakaart veel virtuaalmasinaga ühendatud; keskkonda lihtsalt valmistatakse ette nii, et kui see on tehtud, käivitub kõik ilma ressursside puudusest või ühildumatust püsivarast tingitud vigadeta.

Määrake graafikakaart virtuaalmasinale VMDirectPath I/O abil

Kui host on märkinud GPU DirectPathi sisend-/väljundi jaoks saadaolevaks ja virtuaalmasin on õigesti konfigureeritud, on aeg seosta kaart füüsiliselt selle virtuaalmasinagaSee samm tuleb teha virtuaalmasina täieliku väljalülitamise korral.

Valige vSphere'i kliendist virtuaalmasin ja sisestage Virtuaalse riistvara ülevaatamiseks valige „Muuda seadeid”Seadmete loendis saate klõpsata nupul „Lisa uus seade” ja valida „PCI-seade”, kui GPU-d pole veel loendis. Seejärel valige graafikakaardile vastav PCI-seade (näiteks hostis tuvastatud NVIDIA või AMD kaart).

Kui konfiguratsioon on salvestatud, kuvab virtuaalmasin oma riistvaral midagi sellist Konkreetse GPU-ga seotud „PCI-seade 0”Sellest hetkest alates, kui külalisoperatsioonisüsteem käivitub, näeb see füüsilisele graafikakaardile vastavat täiendavat PCIe-adapterit.

On oluline, et virtuaalmasinal oleks reserveeris kogu sellele eraldatud mäluvSphere'is konfigureeritakse see menüüs „Muuda sätteid → Virtuaalne riistvara → Mälu“, määrates väärtuseks „Reserveerimine“ virtuaalmasina jaoks konfigureeritud RAM-i hulga. Ilma selle täieliku reserveerimiseta võib PCI läbilaskmine ebaõnnestuda või esineda vahelduvaid probleeme.

  Valgusfoori ajalõpp on aegunud | Lahendused

Pärast virtuaalmasina sisselülitamist süsteemis Linux GPU olemasolu saab kinnitada järgmiselt: käsud tüüp lspci | grep nvidia, samas kui Windowsis kuvatakse see jaotises „Kuva adapterid” SeadmehaldurOn normaalne näha nii VMware'i emuleeritud graafikaadapterit kui ka spetsiaalset füüsilist graafikaprotsessorit.

Viimane samm on külalisseadmesse järgmise installimine: draiverid GPU tootja ametnikud, alla laaditud NVIDIA, AMD või Inteli veebisaitidelt, vältides geneeriliste või kaasasolevate draiverite kasutamist Windows Updatemis ei pruugi olla läbilaske stsenaariumide jaoks optimeeritud.

vSphere'i piirangud ja funktsioonid, mis vDGA-ga ei tööta

GPU läbilaskmise B-külg VMware'is on see, et Mitmed platvormi täiustatud funktsioonid on kadunud pühendades füüsilise seadme otse virtuaalmasinale. See on hind, mida tuleb maksta peaaegu loomuliku jõudluse eest.

Esimene suur ohverdus on vMotion ja DRSLäbipääsurežiimis graafikaprotsessoriga virtuaalmasinat ei saa teise hostisse hotmigreerida, kuna kaart on füüsiliselt algse serveriga lukustatud. Samuti ei saa kasutada automaatse koormuse tasakaalustamise poliitikaid, mis hõlmavad virtuaalmasina liigutamist klastri hostide vahel.

Omadused, näiteks Traditsioonilised hetktõmmised või teatud kõrge käideldavuse mehhanismid selle konkreetse virtuaalmasina jaoks. Kuna see tugineb väga spetsiifilisele füüsilisele riistvarale, on keeruliste olekute külmutamise ja taastamise võime piiratud.

Teine aspekt, mida selles režiimis arvestada, on see, et GPU-d ei jagata mitme virtuaalmasina vahelKui samal masinal on vaja mitut graafikakiirendusega lauaarvutit või serverit, on vaja iga virtuaalmasina kohta ühte kaarti või alternatiivina saab kasutada vGPU-mudelit, kus kaart virtualiseeritakse mitme eksemplari vahel.

Toetuse osas võib esineda erijuhtumeid, kus Teatud riistvara ja draiverite kombinatsioonid võivad probleeme tekitadaNagu mõned kasutajad on teatud serverites (nt Dell R720) NVIDIA GRID-kaartidega ESXi 6.x-le uuendamisel täheldanud, on soovitatav nendel juhtudel tutvuda VMware'i ja GPU tootja dokumentatsiooniga ning vajadusel avada tugijuhtumid.

Lõpuks tuleb märkida, et teatud tehnoloogiad või teenused, mis graafikaga suhtlevad, näiteks kaugtöölauad, Windowsi Linuxi alamsüsteemid või täiustatud operatsioonisüsteemi funktsioonidNeed võivad häirida NVIDIA draiverite tööd või põhjustada neis "Code 43" vigu, kui tuvastavad, et töötate virtuaalmasinas GPU läbilaskmisega.

GPU läbilaskmine teistes hüperviisorites: paralleelselt Hyper-V-ga

Kuigi siin keskendutakse VMware'ile, tasub mõista, kuidas muud hüperviisorid (näiteks virtualiseerimine KVM-i ja virt-manageriga) lahendavad sama vajaduse füüsilise graafikaprotsessori eraldamiseks virtuaalmasinalesest terminoloogia ja tööriistad muutuvad, aga põhiidee jääb sarnaseks.

Hyper-V-s on VMware VMDirectPath I/O vasteks otsene seadme määramine DDA (diskreetse seadme määramine) abilSee tehnika võimaldab kaardistada konkreetse PCIe-seadme, näiteks GPU või NVMe, otse Windowsi virtuaalmasinasse, pakkudes sarnast juhtimis- ja jõudlustaset kui ESXi läbilaskmine.

Windows Serveri vanemad versioonid kasutasid seda tehnoloogiat RemoteFX pakkuda GPU virtualiseerimist ja jagada graafikakaarti mitme virtuaalmasina vahel. Koos aegTurvaprobleemide ja jõudluspiirangute (nt 1 GB videomälu piirang virtuaalarvuti kohta ja 30 kaadrit sekundis) tõttu lõpetas Microsoft RemoteFX-i kasutamise ja jättis DDA-d spetsiaalsete GPU-stsenaariumide peamiseks lahenduseks.

Operatsioonisüsteemis Windows 10 ja Windows 11Eriti teatud kompilatsioonide puhul on ilmunud tuge järgmistele komponentidele: GPU partitsioonimine ja taaskasutatud mehhanismid WSL2-st ja Windows SandboxistSelle konfigureerimine hõlmab aga tavaliselt keerulisi skripte ja draiverite kopeerimist hostist külalisse, mis pole nii lihtne kui seadme määramine vSphere'is.

Nende alternatiivide tundmine võimaldab meil näha, et Filosoofia pakkuda peaaegu natiivset juurdepääsu GPU-le otsese PCIe-kanali kaudu See on ühine mitmele hüperviisorile, kuigi igal neist on oma nüansid, käsud ja ühilduvuspiirangud.

Kogu see läbipääsu, vGPU ja DDA ökosüsteem näitab, et õigesti konfigureerituna ja õige riistvaraga... Võimsate GPU-de kasutamine on täiesti teostatav. virtuaalmasinad tootmiseks Töökoormuste puhul, alates nõudlikest graafikalauaarvutitest kuni tehisintellekti ja HPC-ni, eeldades alati, et peate loobuma teatud traditsioonilise virtualiseerimise mugavustest ning pöörama suurt tähelepanu draiveritele, hüperviisori versioonidele ja GPU tootja toele.

riistvara virtualiseerimine
Seotud artikkel:
Kuidas virtualiseerimist BIOS-ist või UEFI-st samm-sammult lubada