NVIDIA udgav vGPU-patches til Linux

VGPU Linux

For nogle dage siden, NVIDIA meddelte, gennem Kernel-mailinglister, frigive et sæt af patches, der implementerer sin vGPU-teknologi. Disse patches tillader brug af virtuelle NVIDIA GPU'er i virtualiseringssystemer, leverer kraftfuld GPU-ydeevne til forskellige arbejdsbelastninger, lige fra grafikintensive virtuelle arbejdsstationer til datavidenskab og kunstig intelligens-applikationer.

vGPU'en opdeler NVIDIA fysiske GPU-ressourcer i hardware, tildele hver vGPU sin egen PCI Express virtuelle funktion (VF). Det betyder, at der kan køres gæstesystemer, der udfører forskellige opgaver, hvorved de tilgængelige ressourcer udnyttes bedst muligt.

Det nævnes det Hver NVIDIA vGPU fungerer på samme måde som en konventionel GPU, da den har en fast mængde rammebuffer og en eller flere virtuelle skærmudgange, også kendt som "hoveder". vGPU-rammebufferen tildeles fra den fysiske GPU-rammebuffer på tidspunktet for dens oprettelse, og vGPU'en bevarer eksklusiv brug af denne buffer, indtil den bliver ødelagt.

Det gør det muligt for it at drage fordel af administrations- og sikkerhedsfordelene ved virtualisering samt ydeevnen af ​​NVIDIA GPU'er, der er nødvendige for moderne arbejdsbelastninger. Installeret på en fysisk GPU i en virksomheds- eller cloud-datacenterserver skaber NVIDIA vGPU-software virtuelle GPU'er, der kan deles på tværs af flere virtuelle maskiner.

Controlleren er kompatibel med grafikkort NVIDIA baseret på Ada Lovelace mikroarkitektur, og antallet af vGPU'er, du kan oprette, afhænger af dit videokorts model.

På værtssystemet, den modificerede Nouveau-driver er ansvarlig for at skabe og parre vGPU'er med gæstesystemer. I mellemtiden bruges standard proprietære NVIDIA-drivere i gæstesystemet. Dette sikrer, at vGPU'ens muligheder ligner en almindelig GPU's, hvilket gør det muligt at allokere en del af hukommelsen fra den fysiske GPU-framebuffer til vGPU'en, hvilket sikrer, at den kun bruges af vGPU'en.

Der er flere typer vGPU, hver designet til forskellige formål, med forskellige videohukommelseskapaciteter, antal virtuelle skærme og maksimale opløsninger.

Implementeringen dækker den grundlæggende nvkm-driver, som er bygget oven på den åbne Nouveau-driver, samt vGPU-manageren, kaldet vgpu_mgr, der fungerer som et VFIO (Virtual Function I/O)-modul. Denne manager tager sig af nøglefunktioner, såsom oprettelse og sletning af vGPU'er, valg af type og tilvejebringelse af en API til kontrol fra brugerområdet.

NVIDIA vGPU VFIO-modul sammen med VFIO er placeret i VF'er, giver udvidede funktioner og styring, for eksempel valg af vGPU-typer, understøttelse af Live migration og varm opdatering af driver.

Som andre VFIO-kompatible enheder giver VFIO
Standard userspace API til enhedens livscyklusstyring og Understøttelse af avancerede funktioner.

NVIDIA vGPU Manager giver den nødvendige support til NVIDIA vGPU VFIO variant driver til at oprette/ødelægge vGPU'er, se tilgængelige vGPU-typer, vælg typen af ​​vGPU osv.

Administratoren af vGPU interagerer med den underliggende GPU-driver, som har direkte adgang til hardwaren. Derudover skal du indlæse GSP-firmware, NVIDIA vGPU Manager  udfører følgende funktioner:

  • Administrerer delte/partitionerede hardwareressourcer. Reserver f.eks. FB-hukommelse,
    kanaler for vGPU-manageren til at oprette vGPU'er.
  • UndtagelseshÃ¥ndtering. For eksempel levering af GSP-begivenheder til vGPU-manageren.
  • Sender værtsarrangementer. For eksempel suspendere/genoptage.
  • Hardware konfiguration opregninger.

Endelig, hvis du er interesseret i at vide mere om det, du kan kontrollere detaljerne i følgende link, samt du kan også se koden i aktion i næste video. Kodetestene blev udført på Ubuntu 24.04 som gæsteoperativsystem.


Tilføj som foretrukken kilde i Google