2026年11月15日(日) 記事を探す決算カレンダー広告掲載このサイトについて
トップ › 仕組み
仕組み

キャッシュとは 計算の回路のそばの小さく速いメモリ、H100のL2は50MB

キャッシュは、メインのメモリから読んだデータを計算の回路のそばに一時的に置く、小さく速いメモリです。エヌビディアのH100は、GPU全体で共有するL2キャッシュを50MB持ち、前の世代のA100の1.25倍にしました。

ポイント
  • キャッシュは、メインのメモリより小さく、ずっと速いメモリです。半導体のチップの中に作ります。
  • 計算の回路に近い順にL1、L2、L3と階層があり、近いほど速く、小さくなります。
  • H100はL2キャッシュが50MB、A100は40MBです。AMDのパソコン向けCPU「Ryzen 7 9800X3D」は、キャッシュを縦に積んで合計104MBにしました。
  • AIの「KVキャッシュ」は、言語モデルの途中の計算結果を残すもので、ここで言う回路のキャッシュとは別の意味です。

キャッシュは「隠し場所」という意味です。半導体では、メインのメモリ(DRAMやHBM)から読み出したデータの写しを、計算の回路のすぐそばに置いておく小さなメモリを指します。同じデータをもう一度使う時に、遠いメモリまで取りに行かずに済みます。

当たりと外れ

計算の回路がデータを求めると、まずキャッシュを探します。そこにあれば「ヒット(当たり)」で、すぐに使えます。なければ「ミス(外れ)」で、次の階層や、メインのメモリまで取りに行きます。

キャッシュが効くのは、プログラムに2つのくせがあるからです。一度使ったデータはすぐにまた使われやすい。あるデータの隣にあるデータも続けて使われやすい。そのため、キャッシュはデータを数十バイトほどのまとまり(ライン)で取り込みます。

容量には限りがあるため、新しいデータを入れる時は、しばらく使われていないものから追い出します。キャッシュの中身はふつう、SRAMという、電源が入っている間は書き換えなしで値を保つ速い回路で作ります。

GPUとCPUのキャッシュ

主な半導体のキャッシュ(各社の発表から)
製品キャッシュメインのメモリ
エヌビディア A100L2 40MBHBM
エヌビディア H100L2 50MB、SMごとにL1と共有メモリで256KBHBM3 80GB
AMD Ryzen 7 9800X3D合計104MB(第2世代3D V-Cache)DDR5

エヌビディアの技術解説によると、H100は計算の単位(SM)を132個持ち、それぞれにL1キャッシュと共有メモリを合わせて256KBを置きます。A100の1.33倍です。その外側に、GPU全体で使う50MBのL2キャッシュがあります。H100のHBMは80GBで、L2はその約1,600分の1の大きさです(計算)。

AMDは2024年10月31日、パソコン向けのCPU「Ryzen 7 9800X3D」を発表しました。キャッシュの層を別のチップとして作り、計算のチップと縦に重ねる「3D V-Cache」の第2世代を使います。この世代では、キャッシュのチップを計算のチップの下に移しました。熱を逃がしやすくするためで、会社はクロックの引き上げにも対応したと説明しています。キャッシュの合計は104MB、8コアで、米国の希望小売価格は479ドルでした。

AIの「KVキャッシュ」は別物

AIの話でよく出る「KVキャッシュ」は、言語モデルが答えを作る途中の結果を、次の語を作る時に使い回すために残したデータです。置き場所はGPUのHBMで、回路のキャッシュとは違います。

ただ、考え方は同じです。一度計算した結果を手元に置き、もう一度計算する手間を省きます。エヌビディアの推論ソフトDynamoは、過去の問いのKVキャッシュがあるGPUに次の問いを回す仕組みを持ちます。使わないKVキャッシュは、安いメモリや記憶装置に移します。

関連する用語

  • SRAM:キャッシュの中身に使う、速くて場所を取るメモリの回路。
  • ヒット率:求めたデータがキャッシュにあった割合。
  • 共有メモリ:GPUで、プログラムが自分で出し入れを決められるチップ内のメモリ。
  • 3D V-Cache:AMDの、キャッシュのチップを縦に積む技術。

H100のL2キャッシュとHBMの容量の差は、HBMが外付けで、キャッシュがチップの中に作られることから生まれます。

この記事は公開資料をもとに作成しています。売買をすすめるものではありません。誤りを見つけたら訂正します(編集方針)。

関連する記事