GPUがメモリを読むとき、何が起きるのか——RTX 4090の内部をタイミング実験で追う

What happens when a GPU reads memory

GPUがメモリを読むとき、何が起きるのか——RTX 4090の内部をタイミング実験で追う

前回の記事では、ベクトル加算カーネルがnvccからワープに至るまでを追いましたが、今回はその続きとして、SASS命令(グローバルロード)がハードウェアを通過する経路を、RTX 4090上でのタイミング実験に基づいて解説します。L1キャッシュのヒットは約15.4ns、L2は約127ns、TLBミスは約4.4nsといった実測値を交えながら、レジスタからL1、アドレス変換、L2、DRAMに至るまでの詳細な流れを、NVIDIAが公開していないレベルまでリバースエンジニアリングで明らかにします。

L1ヒットは約15.4ns(40サイクル)かかる。この数値は、L1に常駐するラインのランダムな置換を追跡する依存チェーンを1スレッドで実行した結果から得られたものだ。
  1. empiricus

    長い間、チップメーカーはハードウェアを簡素化し、ソフトウェア側が適応・最適化することに頼る傾向があった。しかし、この試みは何十年にもわたって失敗し続けてきた。今や、カーネルを比較的迅速にファインチューニングできる執拗なAIが登場している。もしかすると、今回こそよりシンプルなハードウェアが機能するかもしれない? 注:TPU/NPUが単純なだけでなく、あまりにも限定的ではないかどうかは確かではない。

  2. xyzsparetimexyz

    > この経路の詳細はNVIDIAによって文書化されておらず、少なくとも我々が望むレベルではない。そこで、ハードウェア自体に対するタイミング実験によってそれを決定する。

    あるいは、単にAMDのISAを使うこともできるだろう。

  3. KellyCriterion

    非常に良い記事だ。次の記事を思い出させる:

    「プログラマが知るべきメモリについて」

    https://github.com/Ty-Chen/Reading-List/blob/master/What%20e...

この日のほかの記事

2026-08-21