独立系開発者のZagitta氏が最近、「GPU Unlock」というオープンソースのプロジェクトを公開しました。このソフトウェアは、Nvidia Ampereアーキテクチャを採用した一部のグラフィックスカードに眠っていた演算能力を引き出します。起動の初期段階でハードウェアの速度セレクターを調整することで、融合積和演算に対するテンソル命令の発行レートを2倍に引き上げます。その結果、コンシューマー向けカードが、プロ向けワークステーション用シリコンに匹敵する演算スループットを達成します。
起動時の速度選択とカーネルアーキテクチャ
このプロジェクトの対象は、GA102、GA103、GA104、GA106の各シリコンダイを採用したGPUです。対応するコンシューマー向けモデルには、GeForce RTX 3090、RTX 3060のほか、一部のRTX 3080およびRTX 3070が含まれます。GPU Unlockのプロジェクトリポジトリにある技術文書によると、このユーティリティはドライバーの初期化前に、内部の設定レジスターを書き換えます。
具体的には、専用のLinuxカーネルモジュールがシステム起動時にGPUの速度セレクターを再プログラムします。続いてファンクションレベルリセットを実行し、その後で標準のプロプライエタリドライバーに制御を渡します。この方式では、カスタムVBIOSイメージを書き込んだり、バイナリドライバーを恒久的にパッチしたりする必要がありません。そのため、ユーザーはドライバーの整合性を保ったまま、カーネルブートパラメーターで高性能な実行プロファイルを有効にできます。
行列演算における実測ベンチマーク
450ワットで動作するRTX 3090 Tiを用いた厳密なテストでは、性能が大きく向上しました。大規模な密行列乗算のベンチマークでは、複数の数値精度で中央値のスループットが大幅に伸びています。
たとえばFP16の演算性能は87.46 TFLOPSから118.39 TFLOPSに上昇し、35%の高速化となりました。BF16のスループットは87.50 TFLOPSから157.41 TFLOPSへと跳ね上がり、80%という大幅な増加を示しています。TF32の演算も、42.58 TFLOPSから82.61 TFLOPSへと94%急増しました。
生成AIワークロードでの効果と限界
独立した研究者らは、ComfyUIを用いた生成系コンピュータービジョンのワークフローで、この最適化の効果を検証しました。MOSS-Image SFTやQwen-Image 2.1 Turboといった、BF16を使う画像生成パイプラインでは、56%を超える高速化を記録しています。一方、INT8量子化のタスクでは、向上幅はわずか0.3%にとどまりました。
このように、実際の効果はワークロードの特性やアルゴリズム上のボトルネックに大きく左右されます。今回の強化が対象とするのはTensor Coreの命令ディスパッチであり、メモリ帯域幅そのものではありません。そのため、メモリバスのスループットが制約となる大規模言語モデルの生成では、改善はほとんど見られません。さらに、シリコンごとの個体差(シリコンロッタリー)や電力上限により、カードごとに性能の上限は異なります。
翻訳元: https://meterpreter.org/nvidia-ampere-gpu-unlock/