Startseite PrivatkundenClient Software NVIDIA ermöglicht Beta-Unterstützung für Virtualisierung auf GeForce-GPUs

NVIDIA ermöglicht Beta-Unterstützung für Virtualisierung auf GeForce-GPUs

by Juan Mulford
NVIDIA 465.83

Mit dem neuesten Game Ready-Treiber hat NVIDIA die GPU-Passthrough-Beta-Unterstützung für virtuelle Windows-Maschinen aktiviert GeForce-GPUs. Vor Treiber 465.89 unterstützten nur Quadro NVIDIA-Karten GPU-Passthrough. Für Linux-Benutzer ermöglicht diese Technologie das Spielen von reinen Windows-Spielen in Ihrer VM; Wenn Sie Entwickler sind, können Sie sowohl Windows- als auch Linux-Code einfacher von einem einzigen Computer aus testen und so die Entwicklung beschleunigen.

Mit dem neuesten Game Ready-Treiber hat NVIDIA die GPU-Passthrough-Beta-Unterstützung für virtuelle Windows-Maschinen aktiviert GeForce-GPUs. Vor Treiber 465.89 unterstützten nur Quadro NVIDIA-Karten GPU-Passthrough. Für Linux-Benutzer ermöglicht diese Technologie das Spielen von reinen Windows-Spielen in Ihrer VM; Wenn Sie Entwickler sind, können Sie sowohl Windows- als auch Linux-Code einfacher von einem einzigen Computer aus testen und so die Entwicklung beschleunigen.

GeForce RTX 30-Serie

GPU-Passthrough wird schon seit langem verwendet und es gab Möglichkeiten, es auf GeForce-Grafikkarten zu aktivieren. Es wurde jedoch nie offiziell unterstützt. Technisch gesehen war die Technologie schon immer im Siliziumchip für GeForce verfügbar, sie war jedoch nicht in den Treibern aktiviert, was den beliebten „Fehler 43“ auf virtuellen Windows-Maschinen verursachte. Der Einsatz eines Software-Hacks ist seit langem möglich, um GPU-Passthrough auf den Consumer-GeForce-Karten und vGPU-Funktionen zu ermöglichen. Mehr über vGPU finden Sie in diesem Artikel.

NVIDIA Game Ready-Treiber 465.89

Am 30. März dieses Jahres veröffentlichte NVIDIA einen neuen Game Ready-Treiber, 465.89. Dieser Treiber unterstützt brandneue Videospiele und bietet eine Lösung für offene Probleme, die in vielen anderen Spielen und Apps auftreten. Etwas besonders Spannendes an dieser Neuerscheinung findet sich jedoch unter Gaming Technology. Hier wurden drei Importfunktionen angekündigt: Resizable BAR der GeForce RTX 30-Serie, Unterstützung für OpenCL 3.0 und Beta-Unterstützung für Virtualisierung auf GeForce-GPUs.

Größenänderbare Leiste 

Resizable BAR ermöglicht es der CPU, auf einmal auf den gesamten Speicher eines PCIe-Geräts zuzugreifen, anstatt der vorherigen Beschränkung von 256 MB pro Zyklus. Smart Access Memory, SAM (AMDs Bezeichnung für die Technologie) wurde letztes Jahr vom Unternehmen angekündigt und bereits implementiert.

OpenCL 3.0

Unterstützung für OpenCL 3.0 hinzugefügt, die neueste Hauptversion von OpenCL, die die Abwärtskompatibilität mit OpenCL 1.2 beibehält. NVIDIA OpenCL 3.0 unterstützt weiterhin die vorhandene OpenCL 1.2-Funktionalität sowie Khronos und Anbietererweiterungen, die bereits mit NVIDIA OpenCL 1.2-Treibern unterstützt werden.

Beta-Unterstützung für Virtualisierung auf GeForce-GPUs. 

Außerdem hat NVIDIA ab diesem Treiber GPU-Passthrough (nicht vGPU, auch bekannt als SR-IOV für GPU-Sharing) auf allen GeForce-Grafikkarten basierend auf der Kepler-Architektur und neueren Versionen für virtuelle Windows-Maschinen aktiviert. Auf diese Technologie konzentrieren wir uns in diesem Artikel. Obwohl Resizable BAR eine der am meisten erwarteten Funktionen für die neue RTX-Generation und Gamer war, war die Virtualisierung auf GeForce-GPUs die am meisten erwartete Ergänzung für „HomeLaber“ und Linux-Benutzer.

Windows Virtual Machine Beta-Unterstützung für GeForce

Wenn Sie hauptsächlich Linux-Benutzer sind, können Sie jetzt GeForce GPU-Passthrough auf einer virtuellen Windows-Maschine (VM) aktivieren. NVIDIA-GPU-Passthrough war nur GPUs der Enterprise- oder Workstation-Klasse vorbehalten. Das Unternehmen erlaubte GeForce-Kunden nicht, diese Technologie in einer Windows-VM zu nutzen, die auf ihren Consumer-Computern läuft. Allerdings nutzten viele Kunden tatsächlich GeForce-Karten als Workstation-GPUs.

Bei Consumer-Karten war das Silizium beim GPU-Passthrough nie das Problem; Es war die Software (der Treiber), die Benutzer aussperrte. Um GPU-Passthrough nutzen zu können, mussten Benutzer bisher viel Geld für eine NVIDIA Tesla- oder Quadro-Karte ausgeben. Die GPU-Passthrough-Beta-Unterstützung für GeForce ist ein bedeutender Sieg für diejenigen, die Windows-Spiele in einer virtuellen Maschine ausführen und gleichzeitig ihren (physischen) Linux-Host beibehalten möchten und eine GeForce-Grafikkarte verwenden.

Das Hauptziel dieser Technologie sind Linux-Benutzer, die GPU-intensive Anwendungen mit mehreren Aufgaben ausführen möchten. Es gibt einige GeForce-Anwendungsfälle, in denen diese Funktionalität von Vorteil ist, wie zum Beispiel:

  • GeForce-Kunden, die einen Linux-Host ausführen und eine virtuelle Windows-Maschine (VM) zum Spielen starten möchten
  • Spieleentwickler, die Code sowohl unter Windows als auch unter Linux auf einem Computer testen möchten

GeForce-Virtualisierung (Beta) wird auf R465- oder höheren Treibern unterstützt. Es ist auf allen von diesem Treiber unterstützten GeForce/TITAN-GPUs (Kepler und höher für Desktops; Maxwell und höher für Laptops) unter Windows aktiviert. Windows 10 ist das einzige unterstützte Gastbetriebssystem für dieses GeForce-Virtualisierungssetup.

Mit GeForce GPU Passthrough können Sie nicht dieselbe GPU nutzen, die vom Host-Betriebssystem für die Virtualisierung verwendet wird. Für das Linux-Host-Betriebssystem ist eine GPU erforderlich, und für die virtuelle Windows-Maschine ist eine GPU erforderlich. Außerdem ist es wichtig zu bedenken, dass GPU-Passthrough nur eine virtuelle Maschine unterstützt. vGPU (SR-IOV) oder ein gemeinsamer GPU-Passthrough für mehrere VMs werden auf GeForce nicht unterstützt. Angenommen, Sie möchten verschiedenen VMs den direkten Zugriff auf eine einzelne GPU ermöglichen oder möchten, dass die GPU mehreren virtuellen Maschinen virtuelle Funktionen zuweist. In diesem Fall müssen Sie eine Workstation oder Unternehmens-GPUs verwenden.

GPU-Passthrough-Fehler: Code 43

Wenn Sie vor dem Game Ready-Treiber 465.89 jemals versucht haben, eine Windows-VM von einem Linux-Computer aus auszuführen, haben die Treiber im Gastbetriebssystem den beliebten „Code 43“ zurückgegeben. Dieser Fehler trat nur im Windows-(Gast-)Betriebssystem auf, wenn der GeForce-Treiber erkannte, dass das Betriebssystem tatsächlich auf einer VM ausgeführt wurde. Durch die Unterstützung der Virtualisierung auf GeForce-GPUs müssen Sie Ihre VM nicht mehr verbergen; Die Treiber können installiert werden und dieser Fehlercode sollte verschwunden sein.

Es ist auch völlig in Ordnung zu erwähnen, dass NVIDIA diesen Fehlercode absichtlich für die GeForce-Grafikkarten entwickelt hat. Auf Tesla- und Quadro-GPUs, den Unternehmenskarten des Unternehmens, tritt es nicht auf. Der Grund dafür ist, dass NVIDIA die Verbraucher auf jeden Fall vom Unternehmenssegment trennen muss. Einige Enterprise-Funktionen machen für Consumer-Grafikkarten (mit geringerer Leistung) keinen großen Sinn, die Aktivierung einiger davon würde jedoch zu erheblichen Umsatzeinbußen bei NVIDIAs Enterprise-Grafikkarten (teuren Karten) führen.

GPU-Passthrough vs. vGPU

NVIDIA 465.89

Viele Benutzer sind immer noch verwirrt über GPU-Passthrough und die technischen Möglichkeiten, die NVIDIA bietet. Es ist wichtig, noch einmal darüber nachzudenken, was die Virtualisierung auf der GeForce-GPU ist und was nicht. Der Begriff GPU-Passthrough mag für viele GPU-Enthusiasten ziemlich selbsterklärend klingen; Dennoch wird es normalerweise mit der virtuellen NVIDIA-GPU (vGPU) verwechselt.

Sowohl GPU Passthrough als auch vGPU sind Technologien, die seit langem für Unternehmensvirtualisierungslösungen wie VMware ESXi und verwendet werden Citrix XenServer. Und für Tesla- und Quadro-GPUs. In VMware ESXi wird GPU-Passthrough als Virtual Dedicated Graphic Acceleration (vDGA) und vGPU als Virtual Shared Graphics Acceleration (vSGA) bezeichnet. vGPU ermöglicht die gemeinsame Nutzung von GPUs der Enterprise-Klasse auf mehreren virtuellen Desktops.

VMware bietet eine dritte Option namens Virtual Shared Passthrough Graphics Acceleration. Diese Technologie ermöglicht die gemeinsame Nutzung einer GPU mit mehreren Benutzern, anstatt sich nur auf einen Benutzer zu konzentrieren. Der Unterschied zu vGPU (vSGA in VMware) besteht darin, dass der proprietäre VMware 3D-Treiber nicht verwendet wird und die meisten Funktionen der Grafikkarte unterstützt werden. Denken Sie daran, dass Sie mit GPU-Passthrough auf GeForce-Karten nicht mehreren VMs den direkten Zugriff auf eine einzelne GPU ermöglichen können und die GPU auch nicht in der Lage ist, mehreren virtuellen Maschinen virtuelle Funktionen zuzuweisen.

Virtual Desktop Infrastructure (VDI) ist das beste Beispiel und Szenario für den Einsatz dieser GPU-Technologien. VDI-Lösungen nutzen die Vorteile der Virtualisierung, indem sie schnell Hunderte von VM-Klonen erstellen, die auf einem einzigen leistungsstarken Server oder Cluster ausgeführt werden. In den meisten Fällen ist vGPU die beste Wahl für Benutzer, die für kurze Zeiträume das volle Potenzial der GPU benötigen. Allerdings kann vGPU zu Engpässen führen, je nachdem, welche Anwendungen verwendet werden und welche Ressourcen diese Anwendungen von der GPU benötigen. vGPU wird im Allgemeinen für Wissensarbeiter und gelegentlich auch für Power-User verwendet. Heutzutage gilt die Planung von VDI-Lösungen ohne Berücksichtigung der vGPU als fahrlässige Handlung.

Nvidia vGPU für GeForce-Karten gehackt

Selbst wenn GPU-Passthrough in den neuesten NVIDIA-Treibern aktiviert ist, haben GeForce-Benutzer (offiziell) immer noch nicht die Möglichkeit, GPUs auf mehreren virtuellen Desktops gemeinsam zu nutzen. Für vGPU müssen Sie NVIDIA Tesla-, Quadro- oder RTX-Unternehmens-GPUs verwenden. In diesem Fall kann man NVIDIA also nicht austricksen, oder doch?

Vor ein paar Monaten wurde eine Freischaltung der vGPU-Funktionalität für Consumer-GPUs bekannt gegeben. Dieses Tool ermöglicht die Verwendung von GeForce- und Quadro-GPUs mit der NVIDIA vGPU-Software. NVIDIA vGPU unterstützt normalerweise nur wenige Tesla-GPUs, aber da einige GeForce- und Quadro-GPUs denselben physischen Chip wie der Tesla verwenden, handelt es sich lediglich um eine Softwarebeschränkung für diese GPUs. Dieses Tool zielt darauf ab, diese Einschränkung zu beseitigen.

Das Tool und die Anleitung finden Sie unter https://github.com/DualCoder/vgpu_unlock.

Abschließende Überlegungen

NVIDIA hat sich schließlich dazu entschieden, die willkürliche Sperre auf GeForce-Karten zu entfernen. Vor der Veröffentlichung des Treibers 465.89 durch NVIDIA wurde der Treiber unter Windows und Linux deaktiviert, als das Gastbetriebssystem eine virtuelle Maschine erkannte. Wenn die Virtualisierung aktiviert ist, können GeForce-Kunden auf einem Linux-Host-PC jetzt GeForce-GPU-Passthrough auf einem virtuellen Windows-Gastbetriebssystem aktivieren.

Technisch gesehen handelt es sich bei der Unterstützung der Virtualisierung auf der GeForce-GPU nicht um eine Beta-Version; aber eher so, als würde NVIDIA einfach ein Kästchen ankreuzen, um eine Funktion freizuschalten, die es schon seit langem gibt. Allerdings ist GPU Passthrough immer noch auf eine einzelne GPU-Instanz beschränkt, was bedeutet, dass nur eine virtuelle Maschine ausschließlich Zugriff auf die Grafikkarte hat.

Was vGPU betrifft, unterstützt NVIDIA leider immer noch nicht die gemeinsame Nutzung einer GPU mit mehreren virtuellen Maschinen, es sei denn, Sie gehen voll auf Enterprise um, so wie es ein CPU-Hersteller tut. Wenn der Benutzer mehr virtuelle Maschinen benötigt, um auf dieselbe GPU zuzugreifen, sind Tesla- oder Quadro-Grafikkarten erforderlich. Dies kann sich jedoch aufgrund des GPU-Passthroughs ändern. Derzeit ist ein Software-Hack verfügbar, um die vGPU-Funktionen auszuprobieren, aber die Unterstützung ist natürlich nicht offiziell.

NVIDIA

Beteiligen Sie sich an StorageReview

Newsletter | YouTube | Podcast iTunes/Spotify | Instagram | Twitter | Facebook | RSS Feed