For noen dager siden, NVIDIA kunngjorde, gjennom kjernepostlister, frigjør et sett med patcher som implementerer vGPU-teknologien. Disse oppdateringene tillater bruk av virtuelle NVIDIA GPUer i virtualiseringssystemer, leverer kraftig GPU-ytelse for ulike arbeidsbelastninger, alt fra grafikkintensive virtuelle arbeidsstasjoner til datavitenskap og kunstig intelligens-applikasjoner.
vGPU deler NVIDIA fysiske GPU-ressurser inn i maskinvare, tilordne hver vGPU sin egen virtuelle PCI Express-funksjon (VF). Dette betyr at det kan kjøres gjestesystemer som utfører ulike oppgaver, og utnytter tilgjengelige ressurser best mulig.
Det er nevnt at Hver NVIDIA vGPU fungerer på samme måte som en konvensjonell GPU, siden den har en fast mengde rammebuffer og en eller flere virtuelle skjermutganger, også kjent som "hoder". vGPU-rammebufferen tildeles fra den fysiske GPU-rammebufferen på tidspunktet den ble opprettet, og vGPU-en opprettholder eksklusiv bruk av denne bufferen til den blir ødelagt.
Det gjør det mulig for IT å dra nytte av administrasjons- og sikkerhetsfordelene ved virtualisering, samt ytelsen til NVIDIA GPUer som trengs for moderne arbeidsbelastninger. Installert på en fysisk GPU i en bedrifts- eller skydatasenterserver, skaper NVIDIA vGPU-programvare virtuelle GPUer som kan deles på tvers av flere virtuelle maskiner.
Kontrolleren er kompatibel med grafikkort NVIDIA basert på Ada Lovelace mikroarkitektur, og antallet vGPUer du kan lage avhenger av skjermkortets modell.
På vertssystemet, den modifiserte Nouveau-driveren er ansvarlig for å lage og sammenkoble vGPUer med gjestesystemer. I mellomtiden, i gjestesystemet, brukes standard proprietære NVIDIA-drivere. Dette sikrer at vGPU-ens funksjoner ligner de til en vanlig GPU, slik at en del av minnet kan allokeres fra den fysiske GPU-rammebufferen til vGPU-en, og sikrer at den bare brukes av vGPU.
Det finnes flere typer vGPU, hver designet for forskjellige formål, med forskjellige videominnekapasiteter, antall virtuelle skjermer og maksimal oppløsning.
Implementeringen dekker den grunnleggende nvkm-driveren, som er bygget på toppen av den åpne Nouveau-driveren, samt vGPU-manageren, kalt vgpu_mgr, som fungerer som en VFIO (Virtual Function I/O)-modul. Denne lederen tar seg av nøkkelfunksjoner som å lage og slette vGPUer, velge type og gi en API for kontroll fra brukerplass.
NVIDIA vGPU VFIO-modul sammen med VFIO er plassert i VFs, gir utvidede funksjoner og administrasjon, for eksempel utvalg av vGPU-typer, støtte for Live migrering og varm oppdatering av driver.
Som andre VFIO-kompatible enheter, gir VFIO
Standard userspace API for administrasjon av enhetens livssyklus og Støtte for avanserte funksjoner.NVIDIA vGPU Manager gir den nødvendige støtten til NVIDIA vGPU VFIO variant driver for å lage/ødelegge vGPUer, se tilgjengelige vGPU-typer, velg typen vGPU osv.
Administratoren av vGPU samhandler med den underliggende GPU-driveren, som har direkte tilgang til maskinvaren. I tillegg laster du inn GSP-fastvare, NVIDIA vGPU Manager utfører følgende funksjoner:
- Administrerer delte/partisjonerte maskinvareressurser. For eksempel, reserver FB-minne,
kanaler for vGPU-behandleren for å lage vGPUer. - Unntakshåndtering. For eksempel levering av GSP-hendelser til vGPU-administratoren.
- Sender vertsarrangementer. For eksempel suspendere/gjenoppta.
- Oppregninger for maskinvarekonfigurasjon.
Til slutt, hvis du er det interessert i å vite mer om det, kan du sjekke detaljene i følgende lenke, så vel som du også kan se koden i aksjon i neste video. Kodetestene ble utført på Ubuntu 24.04 som gjesteoperativsystem.