研究者は電圧故障注入(VFI)の脆弱性を悪用することで、CMP 170HX 8GBマイニングカードを、小売用のNVIDIA A100よりも約1.18倍高速な高パフォーマンス構成に変換することに成功した。これは、製造歩留まりや市場の需要に基づいて製品を区分けするために、NVIDIAがGA100ダイ上の特定のコンポーネントを「フロースウィープ(floorsweep)」または無効化するために使用するハードウェアヒューズをバイパスすることで達成された。

ハードウェア区分けのメカニズム

NVIDIAは、製品の区分けとセキュリティを管理するために、GA100ダイ上にヒューズコントローラを使用している。このコントローラには16,000以上のeFuseが含まれており、ダイの他の部分に「オプションワード」を提供して、どの機能がアクティブで、どのハードウェアブロックの電源がオフになるかを決定する。

様々な機能ユニットを示すNVIDIA GA100ダイのブロック図。
ハードウェア区分けに使用されるヒューズコントローラを含むGA100ダイのアーキテクチャ。blog.kate.land

この図はGA100ダイの内部レイアウトを説明しており、ヒューズコントローラがどのように異なるハードウェアブロックを管理しているかの背景を提供している。

このプロセスにおける重要なメカニズムは「フロースウィープ」であり、特定のヒューズ値がダイの要素にアクセス不能にする信号をトリガーする。例えば、OPT_FBP_DISABLEヒューズは特定のフレームバッファパーティション(FBP)をマスクすることができ、チップの利用可能なメモリまたは計算能力を事実上減少させる。

「NVIDIAの設計では、より多くのヒューズを焼き切ることで制限を緩和することができる!」

— Using voltage glitching to unleash the A100 in my mining card

電圧故障注入によるヒューズのバイパス

研究者は、電圧故障注入を使用してヒューズコントローラの保護を打破できる脆弱性を特定した。これにより、オペレーターはダイの機能オプションを定義するJTAGチェーンのようなスクリプトとして構成される「Fuseless fuses(FF)」をプログラムすることができる。

すべてのヒューズがゼロとして検出されている状態を示す技術図。
電圧故障注入プロセス中のヒューズ状態の可視化。blog.kate.land

この図は、研究者がセキュリティをバイパスするために故障を注入する前のヒューズの初期状態を表している。

電圧故障を注入することで、研究者は「_DISABLE」ワードをゼロに設定する新しいFF行を書き込むことができた。これにより、フロースウィープされたコンポーネントが事実上「アンブロック」され、ハードウェアはその本来の意図されたSKUに関係なく、その潜在能力を最大限に活用できるようになる。

電圧故障中に中断されたRIR読み取りを示す技術図。
電圧故障の注入によって引き起こされたRIR読み取りの中断の表現。blog.kate.land

この画像は、ヒューズコントローラの保護を打破するために使用された電圧故障注入の具体的なメカニズムを描写している。

パフォーマンスの向上と制限

このアンロックの主な結果は、計算能力の大幅な向上である。小売用のA100は高い製造歩留まりを確保するために108 SMに制限されているため、特定のダイロットに応じて120から126のSMを有効にする解放されたカードは、小売ユニットの性能を上回る。

FP16 FMAスループット比較: retail A100 72.488 TFLOP/s; unlocked CMP 170HX 85.858 TFLOP/s
FP16 FMAスループット比較blog.kate.land

HN Digestによる図表(blog.kate.landの報告数値を引用)。数値はソースの表記通り。

この手法によってNVLinkやPCIe Gen4のようなハイエンド機能を解放できる一方で、NVJPG、NVDEC、MIGなどの特定の機能はこの構成ではまだテストされていない。さらに、アンロックの成功は、特定のダイロットおよび元のチップで利用可能な機能的なSMの数に依存する。