コンピュータアーキテクチャの話 (320) なぜGPUにはDDR DRAMではなくGDDR DRAMが用いられるのか?
○GPUのメモリシステム
GPUがCPUに比べて高い性能を持つ理由は、CPUと比較して多数の演算器を持ち、それらを並列に動作させているためである。しかし、そのためには、多数の演算器にデータを供給し、多数の演算結果を書き込めるメモリが必要である。
例えばXeon E5 2697 v3 CPUの場合は、4チャネルのメモリチャネルを持ち、使用できるメモリはDDR4-1600/1866/2133となっている。メモリチャネルは8バイト幅であるので、最大では8バイト×4チャネル×2133MHz=68.265GB/sのメモリバンド幅となる。
一方、NVIDIAのTesla K40 GPUでは、288GB/sと4.2倍のメモリバンド幅を持っている。このように、多数の演算器を動作させるために必要なメモリバンド幅を確保しているわけである。
○GDDR5 DRAM
高性能のGPUでは、この高いメモリバンド幅を実現するために、DDR3/4のようなCPU用のDRAMではなく、GDDR5というDRAMを使っている。
DDR3/4系のDRAMのデータピンのデータ転送速度は、典型的には1.333Gbit/s~2.4Gbit/s程度である。