Besitzer älterer GeForce-Grafikkarten haben Grund zur Freude. Eine Community von Enthusiasten hat einen Weg gefunden, die Beschränkung zu umgehen, mit der Nvidia KI-Berechnungen auf Karten der Serien RTX 20, 30 und 40 absichtlich ausbremst. Das Ergebnis ist in einigen Tests eine nahezu doppelte Leistung. Das neueste Tool funktioniert zudem auch unter Windows und lässt sich von einem gewöhnlichen USB-Stick starten. Es geht dabei jedoch ausschließlich um KI-Leistung, auf Spiele hat dies keinen Einfluss.
Grafikkarten laufen nur mit halber Leistung
GeForce-Grafikkarten enthalten sogenannte Tensor-Kerne, also spezialisierte Schaltkreise für Matrixberechnungen, auf denen sowohl das Training als auch die Ausführung von KI-Modellen basieren. Nvidia begrenzt bei Gaming-Grafikkarten jedoch deren Geschwindigkeit bei Berechnungen in den Formaten FP16, BF16 und TF32 mit FP32-Genauigkeit bei der Addition von Zwischenergebnissen auf die Hälfte. Gerade diese Berechnungen werden dabei für nahezu das gesamte KI-Training und die Arbeit mit unkomprimierten Modellen genutzt.
Dasselbe Silizium läuft hingegen mit voller Leistung, wenn es als professionelle Karte der RTX-A-Serie verkauft wird. Der Entwickler des Projekts gpu-unlock erklärt, dass es sich um eine gezielte Marktsegmentierung handelt. Unternehmen sollen teurere professionelle Karten kaufen, bei denen diese Beschränkung nicht besteht.
Der gesamte Prozess begann bei Nvidia-CMP-Karten, die für das Schürfen von Kryptowährungen bestimmt waren und bei denen die Community bereits zuvor gelernt hatte, gesperrte Rechenfunktionen freizuschalten. Ein Entwickler mit dem Pseudonym Zagitta übertrug diese Methoden im quelloffenen Projekt gpu-unlock auf die RTX-30-Serie. Weitere Enthusiasten entwickelten anschließend Versionen für die Serien RTX 40 und RTX 20.
Das Programm wird beim Start des Computers noch vor dem Laden des Nvidia-Treibers ausgeführt und schreibt die Einstellungen für die volle Geschwindigkeit auf die Karte. Es verändert weder den Treiber noch die Firmware der Karte, sodass nach einer Treiberaktualisierung nichts erneut durchgeführt werden muss.
Wie stark steigt die Leistung?
Die Leistung der RTX 3060 mit 12 GB Speicher stieg von 27 auf 51 TFLOPS, bei der RTX 3080 von 65 auf 113 TFLOPS und bei der RTX 4080 von 104 auf 193 TFLOPS. Die RTX 4090 verdoppelt ihre theoretische Spitzenleistung von 165 auf 329 TFLOPS, doch in der Praxis erreicht sie vorher ihr Leistungslimit, bevor sie die Tensor-Kerne vollständig auslasten kann.
Bei gewöhnlichen Aufgaben fallen die Vorteile bescheidener, aber immer noch deutlich aus. Die Verarbeitung von Eingaben bei großen Sprachmodellen beschleunigt sich um ein Viertel bis mehr als die Hälfte, und die Wartezeit bis zum ersten Wort der Antwort verkürzt sich um etwa ein Viertel. Das Feinabstimmen von Modellen wird um 25 bis 50 Prozent schneller, die Bilderzeugung in Tools wie ComfyUI um 30 bis 55 Prozent und die Videoerstellung um 15 bis 20 Prozent.
Einige Dinge ändern sich jedoch überhaupt nicht. Die eigentliche Texterzeugung bei Sprachmodellen wird durch die Speichergeschwindigkeit begrenzt, die durch die Freischaltung nicht erhöht wird. Wer komprimierte Modelle in Ollama oder llama.cpp verwendet, wird höchstens eine Verbesserung um 15 Prozent feststellen, und meist nur bei langen Texten. Modelle in den Formaten INT8, FP8 oder INT4 werden nicht schneller, ebenso wenig Spiele. Die Berechnungsergebnisse bleiben nach der Freischaltung völlig identisch, lediglich die Geschwindigkeit ändert sich.
Welche Karten lassen sich freischalten?
Die Linux-Version von gpu-unlock funktioniert zuverlässig mit der RTX-30-Serie, wobei mehr als hundert Nutzer ihre Funktionsfähigkeit bestätigt haben. Dazu gehören Modelle von der RTX 3050 bis zur RTX 3090 Ti sowie die Notebook-Versionen RTX 3070 und 3080. Die Unterstützung der Serien RTX 40 und RTX 20 ist bislang experimentell. Die neueste RTX-50-Serie wird vom Tool nicht unterstützt, und laut dem Autor wird sich das wahrscheinlich auch nicht ändern.
Bei Notebooks gibt es jedoch eine Komplikation. Die Freischaltung bleibt nur erhalten, wenn sich die Grafikkarte nie vollständig ausschaltet. Viele Notebooks versetzen sie bei Inaktivität jedoch in den Ruhezustand, wodurch die Einstellungen auf ihren ursprünglichen Zustand zurückgesetzt werden.
So bringt man es unter Linux zum Laufen
Die Installation unter Linux erfordert etwas Arbeit im Terminal. Der Nutzer lädt das Projekt von GitHub herunter, startet die Installation mit dem Befehl make install und fügt den Kernel-Parametern, mit denen das System startet, die Zeile gpu_unlock.targets=all hinzu. Bei den meisten Distributionen bedeutet dies, die Konfiguration des GRUB-Bootloaders anzupassen und ihn neu generieren zu lassen. Das Programm schaltet dann bei jedem Start alle unterstützten Karten frei, was ungefähr eine Sekunde dauert.
Nach dem Versetzen des Computers in den Standby-Modus wird die Karte automatisch erneut freigeschaltet, den Ruhezustand mit Speicherung auf der Festplatte unterstützt das Tool jedoch nicht. Ob alles ordnungsgemäß abgelaufen ist, lässt sich dem Systemprotokoll entnehmen. Um die Freischaltung zu deaktivieren, genügt es, die hinzugefügte Zeile aus den Kernel-Parametern zu entfernen.
Windows über einen USB-Stick
Zagitta verwendet Windows nicht und möchte dessen Unterstützung nicht pflegen. Daher sind im Internet verschiedene inoffizielle Installationsprogramme aufgetaucht, vor denen der Autor ausdrücklich warnt. Er weist außerdem darauf hin, dass das Projekt weder eine eigene Website noch ein Installationsprogramm besitzt.
Für Windows-Nutzer ist derzeit das Tool NV UEFI Unlocker des Entwicklers physicsdolphin der praktikabelste Weg. Es wird noch vor dem Betriebssystem aus der UEFI-Umgebung gestartet, also aus der grundlegenden Firmware des Computers. Dadurch funktioniert es unter Windows, Linux und anderen Systemen, die im UEFI-Modus starten können. Das Verfahren umgeht die signierte Firmware der Karte so, dass Schreibzugriffe auf zwei Register möglich werden, welche die Geschwindigkeit der Tensor-Kerne bestimmen; die geschriebenen Werte werden anschließend durch Zurücklesen überprüft.
Das Paket enthält keinerlei Firmware von Nvidia. Eines der Skripte lädt selbstständig den öffentlichen Treiber der Version 610.43.03 herunter, überprüft ihn und erstellt die benötigten Dateien direkt auf dem Computer des Nutzers. Diese Dateien lädt der Nutzer zusammen mit der Bootdatei BOOTX64.EFI anschließend auf einen mit FAT32 formatierten USB-Stick. Beim Start des Computers bootet er über das einmalige Gerätemenü davon und bestätigt innerhalb von 30 Sekunden den Start mit der Leertaste. Das Tool schaltet die Karte frei und übergibt die Steuerung an das Betriebssystem.
Der Computer muss im UEFI-Modus laufen, und Secure Boot muss entweder deaktiviert oder so konfiguriert sein, dass es einer selbst signierten Datei vertraut. Dies kann bei Spielen zu Problemen führen, deren Anti-Cheat-System Secure Boot voraussetzt. Laut einem Mitglied des Entwicklungsteams kann das Tool diese Anforderung nicht umgehen. Besitzer der RTX-20-Serie müssen zunächst einmalig das beiliegende Skript ausführen, das den Windows-Treiber in den GSP-Firmware-Modus umschaltet, und den Computer neu starten. Bei Notebooks muss die dedizierte Grafikkarte beim Start eingeschaltet sein, weshalb der Autor empfiehlt, das Notebook in einen Modus zu versetzen, in dem es ausschließlich mit dieser arbeitet.
Die Freischaltung bleibt nur bis zum vollständigen Ausschalten des Computers erhalten. Die Karte erfährt somit keine dauerhaften Veränderungen, doch der gesamte Vorgang muss bei jedem Start wiederholt werden. Das Team arbeitet bereits an einer Möglichkeit, das Tool direkt von der Festplatte zu starten.
Was unter Windows funktioniert und was nicht
Unter Windows haben Entwickler und Nutzer die Funktionsfähigkeit auf den Karten RTX 2070 und 2060 Super bestätigt. Aus der RTX-30-Serie funktionieren die Modelle 3080 einschließlich der LHR-Version, 3060 Ti, 3060 mit 12 GB Speicher sowie die Notebook-Versionen 3080 Ti und 3070 erfolgreich. Aus der RTX-40-Serie funktionieren die Karten RTX 4090, 4080, 4070 Ti Super, 4070 Super, 4070, beide Versionen der 4060 Ti sowie die Notebook-Varianten 4060 und 4050.
Probleme gibt es bei den Modellen RTX 2080, 2080 Ti und 2080 Super, die beim Start des Computers oder bei der Übergabe der Steuerung an das System scheitern. Die RTX 3050 und die Notebook-Version der RTX 4070 wurden bislang von niemandem getestet. Bei externen Grafikkarten, die über Thunderbolt angeschlossen sind, ist nicht sicher, ob die Freischaltung überhaupt erhalten bleibt. Die GTX-16-Serie sollte theoretisch funktionieren, eine Überprüfung steht jedoch noch aus. Ältere Karten und die RTX-50-Serie werden nicht unterstützt, wobei die neueste Generation nach Angaben der Entwickler über wesentlich stärkere Sicherheitsmechanismen verfügt als ursprünglich erwartet.
Die Zahlen unter Windows entsprechen den Ergebnissen unter Linux. Die RTX 2070 des Autors verzeichnete einen Anstieg von 36 auf etwa 60 bis 63 TFLOPS, die Notebook-RTX 4060 stieg von 30 auf 49 TFLOPS, und die RTX 4080 eines Nutzers verdoppelte ihre Leistung nahezu auf 192 TFLOPS. Die RTX 4090 legte um ungefähr die Hälfte zu, da ihr Leistungslimit keine höheren Werte zuließ.
Ist das sicher?
Laut dem Autor des Projekts gpu-unlock ist eine Beschädigung der Karte sehr unwahrscheinlich. Die Grafikkarte kann sich unter höherer Last etwas stärker erwärmen, doch die üblichen Schutzmechanismen gegen Überhitzung und die Leistungssteuerung funktionieren weiterhin und drosseln die Karte bei Bedarf. Die Entwickler des Tools NV UEFI Unlocker geben zwar an, dass ihr Programm mit einem Dienstprogramm zur Erhöhung des Leistungslimits kombiniert werden kann, warnen zugleich jedoch davor, dass die Karte dann die werkseitigen Grenzwerte für Leistungsaufnahme und Temperatur überschreiten könnte. Die Überprüfung der Firmware einzelner Karten, die sich das Projekt selbst auferlegt hat, ist noch nicht abgeschlossen, und das gesamte Tool befindet sich weiterhin in der Testphase.
Quellen: videocardz.com, wccftech.com und tomshardware.com



