実行プログラムと拡張機能
最終更新
RTX 3090 BF16アンロック:変わるものと変わらないもの
開くのはBF16・FP16の行列演算で、24GBのVRAMと帯域幅はそのままです。
2026年10月18日に公開されたgpu-unlockは、NVIDIAドライバーがカードを掴む前に速度セレクターを書き込み、RTX 3090のBF161演算率を開くLinuxカーネルモジュールです。リポジトリが動作を確認したのは3090の1台で、3090 Tiの測定値は別フォークによるものです。VRAM2が増えたりデコード3が速くなる道具ではなく、コールドブートと元に戻す手順が前提です。
10月18日に公開されたカーネルモジュールです
gpu-unlockは、RTX 3090で塞がれていたBF16演算率を開くLinuxカーネルモジュールです。UEFIアプリでもパッチ済みNVIDIAドライバーでもなく、ドライバーがカードを掴む前に速度セレクターを書き込む方式です。モジュールはGPL-2.0で、生成されるファームウェアはCMPアンロックの参考資料に由来します。
リポジトリの説明では、SS0に0x88888888を書いてBF16のフルレートを選び、4ビットのSS1 0x8も書き込みますが、その効果は未検証です。カードはコールドブート状態である必要があり、ウォームリブートは非対応です。

開くのはBF16・FP16の行列演算です
メンテナーは「BF16/F16演算が約40%速くなる」と答えています。実数値が公開されたのは3090 Tiを試した別フォークです。450W、dense 8192³ GEMM、FP324累積、5回中央値の条件で、BF16は87.50から157.41 TFLOPS、FP165は87.46から118.39、TF32は42.58から82.61へ増えました。
この表は3090 Tiの値で、試験環境もUbuntuカーネル7.0.0-38、修正ドライバー610.43.02、別のinitramfsフックでした。3090でも同方向の変化が報告されていますが、3090のGEMM表はまだ公開されていません。
| 入力 | 前 | 後 |
|---|---|---|
| FP16 | 87.46 TFLOPS | 118.39 TFLOPS |
| BF16 | 87.50 TFLOPS | 157.41 TFLOPS |
| TF32 | 42.58 TFLOPS | 82.61 TFLOPS |
VRAMと帯域幅は変わりません
このアンロックは演算経路だけに触れます。RTX 3090の24GB GDDR6X、936GB/sの帯域幅、電力上限はそのままです。48GB改造のようにメモリチップを替える作業とは別物で、大きなモデルを多く載せられるようにもなりません。
1トークン6ずつ生成するデコード段階は、メモリから重みを読む速度に縛られます。そのためBF16演算率が上がっても、1リクエストのtok/sが同じ比率で上がるわけではありません。
検証済みの環境は1台だけです
リポジトリが確認したのは、CachyOS 7.2.8-1カーネル、NVIDIA 615.71.09、PCIアドレス0000:21:00.0のRTX 3090 1台です。同じ機材の別カードは未改造の対照群でした。同じGA102でも製品IDが異なればモジュールは拒否するため、対象は3090と別フォークが扱う3090 Tiに限られます。
6.15以下のカーネルではドライバー読み込み前に電源状態が上がらず、アンロックが失敗する報告があります。回避パッチがイシューとして上がっています。3090 Tiは別フォークのみの対応で、他のGA102製品IDは拒否されます。

コールドブートと元に戻すことが前提です
モジュールはカーネルコマンドラインにgpu_unlock.targets=が必要です。たとえばgpu_unlock.targets=0000:21:00.0のようにPCIアドレスを指定するか、allを使います。initramfsでnvidiaより先に読み込ませ、完全に電源を切ってから起動します。
元に戻すにはカーネルコマンドラインからオプションを消し、パッケージを削除します。ファームウェアが停止しない場合、モジュールは次の電源断までDMAバッファを保持するため、再試行前に必ず電源を切ってください。画面が出ない場合はブートローダーの編集画面でオプションを消して起動します。
試す価値があるのは誰か

用語の注釈
BF16 — モデルの数値に使う16ビット浮動小数点形式です。指数部はFP32と同じ幅で、同程度に広い値の範囲を表せます。
本文に戻るVRAM — グラフィックカードのGPUが使うメモリです。モデルの重みや計算途中の値を保存します。
本文に戻るトークンのデコード — 入力とそれまでの回答をもとに、次の出力トークンを順に生成する段階です。
本文に戻るFP32 — 32ビット浮動小数点形式です。BF16より値あたりのメモリを多く使い、数値をより細かく表現できます。
本文に戻るFP16 — 16ビット浮動小数点形式です。BF16とビット幅は同じですが、指数部と仮数部の配分が異なります。
本文に戻るトークン — モデルが入力や出力を分けて処理する単位です。
本文に戻るプリフィル — LLMが入力プロンプトを読み、各トークンの内部表現を計算する段階です。プロンプトが長いほど処理するトークンが増えます。
本文に戻るLoRA — 基本モデルの動作を調整する小さな追加の重みを学習・適用する方法です。基本モデルとアダプターを組み合わせ、画風の調整や少ないステップでの生成などに使います。
本文に戻る
よくある質問
- この記事で最初に確認すべきことは何ですか?
- 2026年10月18日に公開されたgpu-unlockは、NVIDIAドライバーがカードを掴む前に速度セレクターを書き込み、RTX 3090のBF16演算率を開くLinuxカーネルモジュールです。リポジトリが動作を確認したのは3090の1台で、3090 Tiの測定値は別フォークによるものです。VRAMが増えたりデコードが速くなる道具ではなく、コールドブートと元に戻す手順が前提です。
- 必要なメモリはどのくらいですか?
- このアンロックは演算経路だけに触れます。RTX 3090の24GB GDDR6X、936GB/sの帯域幅、電力上限はそのままです。48GB改造のようにメモリチップを替える作業とは別物で、大きなモデルを多く載せられるようにもなりません。
