Met de nieuwste Game Ready Driver heeft NVIDIA GPU Passthrough beta-ondersteuning voor virtuele Windows-machines ingeschakeld GeForce GPU's. Vóór driver 465.89 ondersteunden alleen Quadro NVIDIA-kaarten GPU-passthrough. Voor Linux-gebruikers maakt deze technologie het spelen van alleen-Windows-games in je VM mogelijk; of, als u een ontwikkelaar bent, kunt u gemakkelijker zowel Windows- als Linux-code testen vanaf één enkele machine, waardoor de ontwikkeling wordt versneld.
Met de nieuwste Game Ready Driver heeft NVIDIA GPU Passthrough beta-ondersteuning voor virtuele Windows-machines ingeschakeld GeForce GPU's. Vóór driver 465.89 ondersteunden alleen Quadro NVIDIA-kaarten GPU-passthrough. Voor Linux-gebruikers maakt deze technologie het spelen van alleen-Windows-games in je VM mogelijk; of, als u een ontwikkelaar bent, kunt u gemakkelijker zowel Windows- als Linux-code testen vanaf één enkele machine, waardoor de ontwikkeling wordt versneld.
GPU-passthrough wordt al heel lang gebruikt en er waren manieren om dit op GeForce grafische kaarten in te schakelen; het werd echter nooit officieel ondersteund. Technisch gesproken is de technologie altijd beschikbaar geweest in de siliciumchip voor GeForce, maar deze was niet ingeschakeld in de stuurprogramma's, waardoor de populaire "error 43" op virtuele Windows-machines ontstond. Het gebruik van een softwarehack is al lang mogelijk om GPU-passthrough op de GeForce-kaarten en vGPU-mogelijkheden voor consumenten mogelijk te maken. Meer over vGPU, in dit artikel.
NVIDIA Game Ready-stuurprogramma 465.89
Op 30 maart van dit jaar heeft NVIDIA een nieuwe Game Ready Driver uitgebracht, 465.89. Deze driver ondersteunt gloednieuwe videogames en biedt een oplossing voor openstaande problemen in veel andere games en apps. Iets bijzonders aan deze nieuwe release is echter te vinden onder Gaming Technology. Hier zijn drie importfuncties aangekondigd: Resizable BAR de GeForce RTX 30-serie, ondersteuning voor OpenCL 3.0 en bèta-ondersteuning voor virtualisatie op GeForce GPU's.
Aanpasbare balk
Aanpasbare BAR stelt de CPU in staat om in één keer toegang te krijgen tot het volledige geheugen van een PCIe-apparaat, in plaats van de eerdere beperking van 256 MB per cyclus. Smart Access Memory, SAM (AMD's term voor de technologie) werd vorig jaar door het bedrijf aangekondigd en is al geïmplementeerd.
OpenCL 3.0
Ondersteuning toegevoegd voor OpenCL 3.0, de nieuwste hoofdversie van OpenCL die achterwaarts compatibel blijft met OpenCL 1.2. NVIDIA OpenCL 3.0 blijft bestaande OpenCL 1.2-functionaliteit en Khronos en leveranciersextensies ondersteunen die al worden ondersteund met NVIDIA OpenCL 1.2-stuurprogramma's.
Beta Ondersteuning voor virtualisatie op GeForce GPU's.
Ook heeft NVIDIA, te beginnen met dit stuurprogramma, GPU-passthrough (niet vGPU, ook wel SR-IOV voor GPU-delen) ingeschakeld op alle GeForce grafische kaarten op basis van Kepler-architectuur en nieuwer voor virtuele Windows-machines. Dit is de technologie waar we ons in dit artikel op richten. Hoewel Resizable BAR een van de meest verwachte functies was voor de nieuwe RTX-generatie en gamers, was virtualisatie op GeForce GPU's de meest verwachte toevoeging voor "HomeLabers" en Linux-gebruikers.
Windows Virtual Machine Beta-ondersteuning voor GeForce
Als u voornamelijk een Linux-gebruiker bent, kunt u nu GeForce GPU-passthrough inschakelen op een Windows Virtual Machine (VM). NVIDIA GPU-passthrough was alleen gereserveerd voor GPU's van Enterprise- of werkstationklasse. Het bedrijf stond GeForce-klanten niet toe om deze technologie te gebruiken in een Windows VM die draait op hun consumentencomputers. Veel klanten gebruikten echter GeForce-kaarten als werkstation-GPU's.
Op consumentenkaarten was het silicium nooit het probleem met GPU-passthrough; het was de software (stuurprogramma) die gebruikers uitsluit. Voorheen moesten gebruikers om GPU-passthrough te gebruiken een aanzienlijk bedrag uitgeven voor een NVIDIA Tesla- of Quadro-kaart. GPU-passthrough-bètaondersteuning voor GeForce is een zinvolle overwinning voor degenen die Windows-games willen uitvoeren vanuit een virtuele machine terwijl ze hun Linux (fysieke) host behouden en een GeForce grafische kaart gebruiken.
Het belangrijkste doelwit voor deze technologie zijn Linux-gebruikers die GPU-veeleisende applicaties willen multitasken. Er zijn een paar GeForce-use-cases waarbij deze functionaliteit nuttig is, zoals:
- GeForce-klanten die een Linux-host willen gebruiken en een virtuele Windows-machine (VM) willen starten om games te spelen
- Game-ontwikkelaars die code willen testen in zowel Windows als Linux op één machine
GeForce-virtualisatie (bèta) wordt ondersteund op R465- of hogere stuurprogramma's. Het is ingeschakeld op alle GeForce/TITAN GPU's die worden ondersteund door deze driver (Kepler en later voor desktop; Maxwell en later voor laptops) op Windows. Windows 10 is het enige ondersteunde gastbesturingssysteem voor deze GeForce-virtualisatie-opstelling.
Met GeForce GPU Passthrough kunt u niet dezelfde GPU gebruiken die door het host-besturingssysteem wordt gebruikt voor virtualisatie. Er is één GPU vereist voor het Linux-hostbesturingssysteem en er is één GPU vereist voor de virtuele Windows-machine. Het is ook belangrijk om te onthouden dat GPU-passthrough slechts één virtuele machine ondersteunt. vGPU (SR-IOV) of een gedeelde GPU Passthrough voor meerdere VM's worden niet ondersteund op GeForce. Stel dat u wilt dat verschillende VM's direct toegang hebben tot een enkele GPU of wilt dat de GPU virtuele functies toewijst aan meerdere virtuele machines. In dat geval moet u een werkstation of bedrijfs-GPU's gebruiken.
GPU Passthrough-fout: Code 43
Als je ooit hebt geprobeerd een Windows VM uit te voeren vanaf een Linux-machine, vóór de Game Ready Driver 465.89, zouden de stuurprogramma's in het gast-besturingssysteem de populaire "Code 43" retourneren. Deze fout verscheen alleen in Windows (gast) OS toen het GeForce-stuurprogramma ontdekte dat het besturingssysteem daadwerkelijk op een VM draaide. Door de ondersteuning van virtualisatie op GeForce GPU's hoef je je VM niet langer te verbergen; de stuurprogramma's kunnen worden geïnstalleerd en deze foutcode zou verdwenen moeten zijn.
Het is ook prima om te vermelden dat NVIDIA deze foutcode opzettelijk heeft ontwikkeld voor de GeForce grafische kaarten. Het komt niet tot uiting op Tesla en Quadro GPU's, de enterprise-grade kaarten van het bedrijf. De reden is dat NVIDIA zeker de consumenten moet scheiden van het zakelijke segment. Sommige zakelijke functies hebben weinig zin voor de videokaarten voor consumenten (slechtere prestaties), maar het inschakelen van sommige ervan zou resulteren in een aanzienlijk verkoopverlies voor de (dure) zakelijke kaarten van NVIDIA.
GPU-passthrough versus vGPU
Veel gebruikers zijn nog steeds in de war over GPU Passthrough en de technische mogelijkheden die NVIDIA biedt. Het is belangrijk om opnieuw te bekijken wat de virtualisatie op GeForce GPU is en wat niet. De term GPU Passthrough klinkt misschien vrij vanzelfsprekend voor veel GPU-enthousiastelingen; toch wordt het meestal verward met NVIDIA virtuele GPU (vGPU).
Zowel GPU Passthrough als vGPU zijn technologieën die al lang worden gebruikt voor bedrijfsvirtualisatieoplossingen zoals VMware ESXi en Citrix XenServer. En voor Tesla en Quadro GPU's. In VMware ESXi wordt GPU Passthrough virtual dedicated graphic acceleratie (vDGA) genoemd, en vGPU wordt Virtual shared graphics acceleratie (vSGA) genoemd. Met vGPU kunnen GPU's van ondernemingsklasse worden gedeeld over meerdere virtuele desktops.
VMware biedt een derde optie genaamd Virtual Shared Passthrough Graphics Acceleration. Met deze technologie kan een GPU worden gedeeld met meerdere gebruikers in plaats van gericht op slechts één gebruiker. Het verschil met vGPU (vSGA in VMware) is dat de eigen VMware 3D-driver niet wordt gebruikt en dat de meeste functies van de grafische kaart worden ondersteund. Vergeet niet dat u met GPU Passthrough op GeForce-kaarten niet kunt inschakelen dat meerdere VM's directe toegang hebben tot een enkele GPU, en dat de GPU evenmin virtuele functies kan toewijzen aan meerdere virtuele machines.
Virtual Desktop Infrastructure (VDI) is het beste voorbeeld en scenario voor het gebruik van deze GPU-technologieën. VDI-oplossingen profiteren van virtualisatie door snel honderden VM-klonen te maken die op één enkele krachtige server of cluster draaien. Meestal is vGPU de beste keuze voor gebruikers die gedurende korte perioden het volledige potentieel van de GPU nodig hebben. VGPU kan echter knelpunten veroorzaken, afhankelijk van welke applicaties worden gebruikt en de bronnen die deze applicaties nodig hebben van de GPU. vGPU wordt over het algemeen gebruikt voor kenniswerkers en af en toe voor ervaren gebruikers. Tegenwoordig wordt het plannen van VDI-oplossingen zonder vGPU te erkennen beschouwd als een nalatige daad.
Nvidia vGPU gehackt voor GeForce-kaarten
Zelfs als GPU Passthrough is ingeschakeld in de nieuwste NVIDIA-stuurprogramma's, hebben GeForce-gebruikers (officieel) nog steeds niet de mogelijkheid om GPU's over meerdere virtuele desktops te delen. Voor vGPU moet u NVIDIA Tesla, Quadro of RTX enterprise GPU's gebruiken. Dus je kunt NVIDIA hier niet voor de gek houden, of wel?
Een paar maanden geleden werd een ontgrendeling van de vGPU-functionaliteit voor GPU's van consumentenkwaliteit onthuld. Deze tool maakt het gebruik van GeForce en Quadro GPU's mogelijk met de NVIDIA vGPU-software. NVIDIA vGPU ondersteunt normaal gesproken maar een paar Tesla-GPU's, maar aangezien sommige GeForce- en Quadro-GPU's dezelfde fysieke chip delen als de Tesla, is dit slechts een softwarematige beperking voor die GPU's. Deze tool is bedoeld om deze beperking op te heffen.
De tool en instructies zijn beschikbaar op https://github.com/DualCoder/vgpu_unlock.
Conclusie
NVIDIA heeft eindelijk besloten om het blok dat ze willekeurig op GeForce-kaarten hadden te verwijderen. Voordat NVIDIA driver 465.89 uitbracht, toen het gast-besturingssysteem een virtuele machine detecteerde, werd de driver uitgeschakeld in Windows en Linux. Nu virtualisatie is ingeschakeld, kunnen GeForce-klanten op een Linux-host-pc nu GeForce GPU-passthrough inschakelen op een virtueel Windows-gastbesturingssysteem.
Technisch gezien is de ondersteuning voor virtualisatie op GeForce GPU geen bètaversie; maar meer zoals NVIDIA gewoon een vakje aanvinken om een functie te ontgrendelen die al lang bestaat. GPU Passthrough is echter nog steeds beperkt tot een enkele GPU-instantie, wat betekent dat alleen een virtuele machine exclusief toegang heeft tot de grafische kaart.
Wat vGPU betreft, ondersteunt NVIDIA helaas nog steeds niet het delen van een GPU met meerdere virtuele machines, op dezelfde manier als een CPU-fabrikant, tenzij je volledig Enterprise gaat. Als de gebruiker meer virtuele machines nodig heeft om toegang te krijgen tot dezelfde GPU, zijn grafische kaarten van Tesla of Quadro vereist. Maar dit kan worden gewijzigd als GPU-passthrough. Momenteel is er een softwarehack beschikbaar om vGPU-mogelijkheden uit te proberen, maar de ondersteuning ervan is natuurlijk niet officieel.
Neem contact op met StorageReview
Nieuwsbrief | YouTube | Podcast iTunes/Spotify | Instagram | Twitter | Facebook | RSS Feed