Kernel-Modul verdoppelt FP/BF16-Rate auf Nvidia-Grafikkarten der 3000er-Serie
GPU-unlock: FP/BF16 instruction issue rate on Nvidia 3000's cards
Ein neues Linux-Kernel-Modul hebt die FP/BF16-Instruktionsrate von Nvidia-Grafikkarten der 3000er-Serie auf das Niveau ihrer professionellen Pendants. Es kombiniert die CMP-Unlocker-Technik mit dem Timing des UEFI-Ansatzes und lädt vor dem NVIDIA-Treiber. Auf einer 3090 Ti steigt BF16 von 87,5 auf 157,4 TFLOPS, TF32 von 42,6 auf 82,6 TFLOPS. Der Vorteil: kein manuelles Patchen bei jedem neuen Treiber-Release.
Der Effekt dieses Unlocks ist, dass er die Instruktionsausgabegeschwindigkeit von FP/BF16-FMA-zu-FP32-Operationen auf GA102-, GA103-, GA104- und GA106-Karten verdoppelt.
- Zagitta
Hey, das ist meine Arbeit, wobei die Exploits usw. keineswegs meine Ideen sind.
Das ist nur ein Weg, das Ganze in ein viel weniger nerviges Paket zu packen, als den nvidia-Treiber patchen zu müssen. Ursprünglich inspiriert hat mich die CMP90/50-Windows-Freischaltung, die als eigenständige UEFI-Module läuft, die in das OS chainloaden.
Beantworte gerne Fragen!
- jacquesm
Das hier ist echt, aber es gibt ein paar Einschränkungen:
- Du musst deine Karte heißer laufen lassen, als dir vielleicht lieb ist
- Der echte Gewinn (bei manchen Karten anscheinend, siehe weiter unten im Thread) erfordert eine Erhöhung der maximalen Leistung auf 450W
- Das liegt deutlich über dem, wofür der Standardkühler ausgelegt wurde, also würde etwas mehr Kühlung helfen
Was schön ist: Du kannst diesen Mod auf den p2p-Mod draufstapeln (oder besser gesagt darunter, dieser hier lädt zuerst), der schon eine Weile draußen ist; sie scheinen sich nicht gegenseitig zu stören.
- Tiberium
Ich habe es selbst getestet und die Ergebnisse sind echt, das ist unglaublich, auch wenn es ein wenig riskant ist (es beruht auf der Ausnutzung von Firmware): https://github.com/Zagitta/gpu-unlock/blob/main/docs/How%20A...
> Unglücklicherweise für Nvidia ist der Booter anfällig für einen klassischen Buffer Overflow, der direkt in den Stack schreibt, was uns die Möglichkeit gibt, Code über Return Oriented Programming (ROP) auszuführen.
Repo für RTX 4090 und 4070 Ti Super: https://github.com/JustAResearcher/gpu-unlock-ada
- gawacer
cool
- Scene_Cast2
Wirklich interessant.
Andererseits gilt das nur für eine begrenzte Menge an Workloads (Training ist zum Beispiel oft durch die Speicherbandbreite begrenzt).
Ich frage mich auch, wie sich das auf den Stromverbrauch auswirkt.