GPUプログラミング
GPUのキャッシュについて、CPUと比べた一般的な特徴として正しいものはどれか。
- AGPUにはキャッシュがまったくない
- BGPUにもL1やL2のキャッシュはあるが、同時に動くスレッドの数が非常に多いので、1スレッドあたりのキャッシュの容量はずっと小さい
- CGPUのキャッシュは1スレッドあたりCPUの何倍も大きい
答えと解説を見る
正解:B. GPUにもL1やL2のキャッシュはあるが、同時に動くスレッドの数が非常に多いので、1スレッドあたりのキャッシュの容量はずっと小さい
GPUもSMごとのL1キャッシュやチップ全体で共有するL2キャッシュを持っていますが、数万本のスレッドが同時に動くので、1スレッドあたりに使える容量はCPUの1スレッドより桁違いに小さくなります。キャッシュに頼って遅延を減らすのではなく、多数のワープの切り替えで遅延を隠し、合体アクセスや共有メモリでメモリの使い方を工夫するのがGPUの考え方です。
- A. L1やL2のキャッシュはあります。
- B. 正しい。だから合体アクセスや共有メモリの工夫が大切です。
- C. スレッドの数が多いので、1スレッドあたりは小さくなります。