計算方法
The nomenclature differs across memory technologies, but for commodity DDR SDRAM, DDR2 SDRAM, and DDR3 SDRAM memory, the total bandwidth is the product of:
- Base DRAM clock frequency
- Number of data transfers per clock: Two, in the case of “double data rate” (DDR, DDR2, DDR3, DDR4) memory.
Memory bus (interface) width: Each DDR, DDR2, or DDR3 memory interface is 64 bits wide. Those 64 bits are sometimes referred to as a “line.”- Number of interfaces: Modern personal computers typically use two memory interfaces (dual-channel mode) for an effective 128-bit bus width.
For example, a computer with dual-channel memory and one DDR2-800 module per channel running at 400 MHz would have a theoretical maximum memory bandwidth of:
400,000,000 clocks per second × 2 lines per clock × 64 bits per line × 2 interfaces =
102,400,000,000 (102.4 billion) bits per second (in bytes, 12,800 MB/s or 12.8 GB/s)This theoretical maximum memory bandwidth is referred to as the “burst rate,” which may not be sustainable.
ピークメモリバンド幅は、以下の4つの要素の積で求められるとのこと。
- メモリ周波数(Base DRAM clock frequency)
- データ転送回数 (Number of data transfers per clock) ※ 2 (DDRはDouble Data Rate)
- バス幅(memory bath width) = 8B (64 bits) ※DDRシリーズの規格(DDR, DDR2, DDR3, DDR4)では共通
- チャネル数(Number of interface) ※Broadwell-EPは4ch/CPU
なお、DDR4-2400の「2400」の部分は転送レート=メモリ周波数 × データ転送回数を表す。
まとめると以下となる
理論ピークメモリバンド幅 =メモリ周波数 × データ転送回数 × バス幅 × チャネル数
メモリバンド幅を調べていると「転送レート」いう言葉も出てきて分かりづらいですが、式の前半部分が転送レートです。
例題
Broadwell-EPのメモリバンド幅
2400MT/s x8B(64bit) x4channel =76.8GB/s
Xeon Phi 5110Pのメモリバンド幅
5GT/s x4B(32bit) x16channel = 320GB/s
NVIDIA Tesla K40のメモリバンド幅
3.0GHz x2 x48B(384bit)= 288GB/s
NVIDIA Tesla P100(HBM2)のメモリバンド幅
0.715Gbps x2 x512B(4096bit) = 732GB/s
NVIDIA Tesla V100(HBM2)のメモリバンド幅
0.87Gbps x2 x512B(4096bit) = 900GB/s
900GB/sから逆算すると、メモリクロックは0.87Gbps?
これに対してV100 GPUのメモリバンド幅は900GB/sと20%上回っている。HBM2の規格では、4個のHBM2の場合、最大メモリバンド幅は1024GB/sとなるが、実際にDRAMメーカーが出荷している製品はこの性能を満たしておらず、Pascal時代に入手できたHBM2メモリでは720GB/sでしか動かせなかったが、Voltaの時代には改善されて900GB/sで動かせるメモリが入手できるようになってきたのではないかと思われる。https://news.mynavi.jp/article/gtcjapan2017_v100-1/
参考
DDR3/4 DRAM GDDR5 DRAM データ転送速度 0.8~3.2Gbit/s 4~7Gbit/s 1チップのbit幅 4/8bit 32bit DDR3/4系のDRAMのデータピンのデータ転送速度は、典型的には1.333Gbit/s~2.4Gbit/s程度である。一方、GDDR5 DRAMではデータピンあたり7Gbit/sの速度でデータ転送するものが使われている。
このように、GDDR5 DRAMはデータピンあたりのデータ伝送速度がDDR3/4 DRAMの3~4倍であるので、それだけ高いメモリバンド幅が得られる。また、GDDR5 DRAMは1チップで32bit幅のデータを読み書きできるので、4bit、または8bitのデータ幅のDDR3/4 DRAMより少ないメモリチップ数で必要なビット幅を実現することができる。
CPUのメモリチャネルは4チャネル合計で256bit幅であるが、ハイエンドのGPUは12~16個のGDDR5 DRAMを使って384~512bitと、CPUに比べて1.5~2倍のデータ幅を持っている。
GPUとHBMモジュールの間のデータバスは1,024-bit幅。128-bit幅のチャネルを8チャネル束ねたインターフェイスとなっている。GP100は、合計4モジュールを接続するため、データバスは合計で4,096-bitとなる。メモリチャネルは合計で32チャネル(スードメモリチャネルでは64)となる。
http://pc.watch.impress.co.jp/docs/column/kaigai/20160413_752893.html
コメント