NVIDIA の SM speed-select を、数字付きで解放する
3 つの上流カーネルモジュールにより、コンシューマー向け GeForce カードが、NVIDIA が他の製品向けに確保しているテンソルスループットに到達できるようになります。本サイトは、対応範囲、同一カードでの導入前後の実測値、そして壊れる箇所をまとめたものです。
72受け付ける PCI ID
3同一カードの公開実測があるカード
2×テンソル性能の最大向上
アンロックが行うこと
このモジュールは、純正 NVIDIA ドライバがバインドする前に SM speed-select のオーバーライドを有効にします。initramfs から実行されるため、ドライバはカードをロック状態のまま見ることはありません。この順序が機構そのものです。ドライバがバインドした後にモジュールを読み込んでも動作しません。
ハードウェアリスクは現実であり、文書化されています
アンロックは speed-select レジスタに書き込み、ドライバ読み込み前に FLR を実行します。未変更の純正ブートエントリを残し、永続化する前にコールドブートで 1 回検証し、AD103 の経路は実験的(1 枚のカードでのみ検証)として扱ってください。
同一カードでの実測
以下の各行は、同じカード・同じバイナリで純正とアンロック後を比較したものです。元々フルレートだったモードはここでは省略し、ベンチマークページにすべて掲載しています。
| カード | モード | 純正 | アンロック後 | 向上 |
|---|---|---|---|---|
| RTX 4090 | f16/f32 | 165.6 | 330.8 | 2.00× |
| RTX 4090 | bf16/f32 | 165.5 | 330.3 | 2.00× |
| RTX 4070 Ti SUPER | f16/f32 | 95.0 | 189.0 | 1.99× |
| RTX 4070 Ti SUPER | tf32 | 47.5 | 94.5 | 1.99× |
| RTX 2080 Ti | f16/f32 1024³ | 50.3 | 68.3 | 1.36× |
| RTX 2080 Ti | f16/f32 2048³ | 55.7 | 91.4 | 1.64× |
| RTX 2080 Ti | f16/f32 4096³ | 53.7 | 81.7 | 1.52× |
| RTX 2080 Ti | f16/f32 8192³ | 52.8 | 77.9 | 1.48× |
カード
モジュールが受け付けるかどうかではなく、実際にどこまで分かっているかで分類しています。
- GeForce RTX 409010de:2684AD102
- GeForce RTX 4070 Ti SUPER10de:2705AD103
- GeForce RTX 2080 Ti10de:1e07TU102
- GeForce RTX 3090 Ti10de:2203GA102
- GeForce RTX 309010de:2204GA102
- GeForce RTX 3080 10 GB10de:2206GA102
- GeForce RTX 3080 20 GB (memory upgrade)10de:2206GA102
- GeForce RTX 307010de:2484GA104
どこから始めるか
上流プロジェクト
本サイトはこれらのリポジトリを文書化するものであり、フォークではありません。
- Zagitta/gpu-unlock — Ampere モジュール: GA102、GA103、GA104、GA106(v1.0.0)
- JustAResearcher/gpu-unlock-ada — Ada フォーク: AD102 RTX 4090 と実験的な AD103 カナリアを追加(v1.1.1)
- nlzy/turing-unlock — Turing モジュール:TU102・TU104・TU106(RTX 20 シリーズ)。実測は 2080 Ti のみ
- miounet11/gpu-unlock — 本サイトの公開利用メモ