Linux-Modul entsperrt bei RTX 4090 doppelte FP16-Tensor-Leistung

Ein neues Open-Source-Linux-Kernelmodul schaltet bei der RTX 4090 eine Drosselung auf Firmware-Ebene ab und verdoppelt in Tests den FP16/BF16-Tensordurchsatz mit FP32-Akkumulation. Die Ergebnisse stammen von je einer Karte und sind noch nicht unabhängig bestätigt.

Tools 24. Okt. 2026 5 Min. Lesezeit Quelle: r/comfyui
Symbolbild, KI-generiert

Worum es geht

Auf GitHub ist das Projekt „gpu-unlock-ada“ (Version 1.1.1) erschienen, ein Linux-Kernelmodul für die GeForce RTX 4090 (Chip AD102) und, experimentell, die RTX 4070 Ti SUPER (AD103). Es löst eine Leistungsbremse, die bisher niemand bemerkt hatte: Die Tensor-Durchsätze waren per Einstellung auf etwa die Hälfte begrenzt. Der Reddit-Nutzer CeFurkan verbreitete das Repo in r/comfyui mit der Aussage, die RTX 4090 sei „auch softwareseitig begrenzt“. Dort wurde außerdem ein Beitrag über eine ähnliche Freischaltung bei der RTX-3000-Serie verlinkt (laut Titel bestätigt von @KohakuLab und @ComfyUI, mit nahezu verdoppeltem TF32); Details dazu liefert die Quelle nicht.

Das Modul läuft beim Systemstart, bevor der normale NVIDIA-Treiber die Karte übernimmt. Es stellt die „SM Speed Select“ um. SM steht für Streaming Multiprocessor, die Rechenblöcke der GPU. Danach lädt der unveränderte NVIDIA-Treiber wie gewohnt. Ein gepatchter Treiber oder eine UEFI-Anwendung ist nicht nötig.

Was gemessen wurde

Tensor-Kerne sind die Spezialeinheiten für Matrixrechnungen, auf denen KI-Modelle laufen. Die Angaben des Projekts (Herstellerangaben des Repos, keine unabhängige Prüfung):

Modus (RTX 4090) Vorher Nachher
FP16 → FP32-Akkumulation 165,6 TF/s 331,6 TF/s
BF16 → FP32-Akkumulation 165,5 TF/s 330,6 TF/s

„Akkumulation“ heißt: Zwischenergebnisse werden in höherer Genauigkeit (FP32) aufsummiert. INT8, dp4a (eine Integer-Skalarprodukt-Instruktion) und normales FP32 blieben nahe am Ausgangswert. Die Freischaltung überlebte einen PCIe-Funktionsreset (FLR), die Initialisierung durch den NVIDIA-Treiber 615.78.08 und CUDA-Benchmarks.

Auf einer RTX 4070 Ti SUPER (PCI-ID 10de:2705) wurden bei gleichem 240-W-Limit 95,0 → 189,9 TF/s (FP16) und 95,0 → 189,7 TF/s (BF16) gemessen. TF32/FP32 stieg von 47,49 auf 94,51 TF/s (1,99×). INT8 blieb bei 379,5 TOP/s, INT4 bei etwa 754,8 TOP/s. Ein geprüftes FP8-E4M3-CUTLASS-GEMM (eine Matrixmultiplikation) legte nur von 59,326 auf 59,495 TF/s zu, also 0,3 %. Andere FP8-Kernel wurden nicht getestet. Deterministische FP16/BF16-GEMM-Ergebnisse stimmten exakt überein.

Die Autoren betonen: Es sind Issue-Raten mit Daten in Registern, keine Beschleunigung echter GEMM- oder Inferenz-Anwendungen.

Wie es funktioniert

Bei der RTX 4090 führt das Modul die signierte NVIDIA-Firmware aus, prüft die Abschlussmarkierung der Nutzlast („Payload“) und die nötigen Berechtigungen, schreibt die Werte SS0 0x88888888 und SS1 0x8 und löst dann einen FLR aus, bevor der Treiber bindet. Vorher und nachher muss die effektive Speed-Select-Anzeige den erwarteten Wert zeigen.

Die Payload stammt von TOTORONG/AD103_win_unlocker auf Hugging Face, einschließlich der Analyse eines entschlüsselten Debug-Booters. Das Linux-Modul und die Paketierung basieren auf Zagitta/gpu-unlock; die GA102-Kette auf WildFlash1st/cmp90hx-unlock. Die Produktions-Booter sind in der GPU authentifiziert und entschlüsselt; die Payload nutzt aus der Debug-Analyse abgeleitete Instruktionsadressen.

Unterstützte Karten und Installation

Automatisch erkannt wird die RTX 4090 (10de:2684). Die alten GeForce/CMP-Listen für GA102/GA104 und GA103/GA106 bleiben erhalten; für die RTX 3090 meldete das Upstream-Projekt Erfolg, hier wurde nicht jede alte Karte neu geprüft. Die RTX 4070 Ti SUPER ist ein experimentelles Ziel, validiert an einer Karte, und braucht gpu_unlock.ad103_experimental=1 plus die exakte PCI-Adresse; targets=all wählt sie nie. Andere Ada-Karten, RTX-A-Serie und Rechenzentrumskarten werden nicht akzeptiert.

Installation: Repo klonen und make install ausführen (alternativ make install-arch, install-deb, install-rpm). Kernel-Header und DKMS-Toolchain sind nötig. Der Build lädt NVIDIA-Quellen und -Binärdateien (610.43.03) per HTTPS, prüft SHA-256-Hashes und erzeugt die Firmware lokal; fertige Firmware-Pakete werden nicht verteilt. Aktiviert wird über die Kernel-Kommandozeile, z. B. gpu_unlock.targets=0000:03:00.0 (Adresse aus lspci -D). Unterstützt werden initramfs-Generatoren mkinitcpio, initramfs-tools und dracut.

Was du zum Ausprobieren brauchst

Eine RTX 4090 (oder experimentell RTX 4070 Ti SUPER), Linux mit Kernel-Headern und DKMS, ein Bootloader, in dem du Kernel-Parameter setzen kannst, und Platz für Firmware-Cache (unter ~/.cache/gpu-unlock). Es ist ein Kernelmodul für Linux; Windows, Mac oder Colab kommen nicht infrage. Für den ersten Versuch muss der Rechner komplett ausgeschaltet und neu gestartet werden, damit die Firmware-Zustände frisch sind. Mit Display-Betrieb und Multi-GPU wurde nicht validiert; der Bildschirm bleibt bis zur Übernahme durch nvidia-drm schwarz.

Risiken und Stolpersteine

Vor dem ersten Versuch sollten nvidia-smi, CUDA, NVML und nvidia-modprobe nicht laufen, weil sie NVIDIA laden können. Nach dem Binden des Treibers lässt sich nichts mehr freischalten. Bei einem Warmstart kann der WPR2-Schutzbereich (eine geschützte Speicherregion) gesetzt bleiben; dann verweigert das Modul den Lauf. Meldet das Modul, die Firmware sei nicht gestoppt, muss der Rechner ausgeschaltet werden; das Modul nicht erzwungen entladen. Ein Eintrag mit unveränderter Standardkonfiguration sollte im Bootloader bleiben. Ob die Karte beim Betrieb mit doppeltem Durchsatz thermisch oder in der Leistungsaufnahme Probleme bekommt, sagt die Quelle nicht.

Einordnung

Sollte sich das bestätigen, wäre das für Nutzer von ComfyUI, Training und lokaler Inferenz sehr interessant: FP16/BF16-Matmuls mit FP32-Akkumulation galten bei GeForce-Karten als absichtlich auf halbe Rate begrenzt (diese Marktsegmentierung ist allgemein bekannt, in der Quelle aber nicht ausgeführt). Offen ist vieles: Die RTX-4090-Messung beruht auf einer Karte und einem Kaltstart; das gesäuberte Modul braucht eine Wiederholung auf der Hardware; numerische Validierung in Anwendungen und unabhängige Reproduktion fehlen. Praktische Beschleunigungen von Bildmodellen sind nicht belegt, FP8 zeigte keinen Gewinn. Zudem greift das Modul tief in Firmware und Boot ein und kann Garantie oder Stabilität berühren. Wer es testet, sollte das als Experiment sehen.

Quellen

#nvidia#rtx-4090#linux#gpu#tensor-kerne
Originalquelle lesen