はじめに
NVIDIA の P100/V100/A100/H100のNVLINKの各ポートとMemory Controllerの帯域を比較してみました。
NVLINK
- P100 : v1 (20GB/s) x 4 porsts
- V100 : v2 (25GB/s) x 6 ports
- A100 : v3 (25GB/s) x 12 ports
- H100 : v4 (25GB/s) x 18 ports
Memory Controller
- P100 : HBM2 x 4 : 22.875GB/s (128bit)
- V100 : HBM2 x 4 : 28.125GB/s (128bit)
- A100 : HBM2e x 6 : 50GB/s (128bit), 25GB/s (64bit)
H100 : HBM3 x 6 : 75GB/s (128bit), 37.5GB/s (64bit)
HBM2/2e の Memory Controller は、128bit x 8 channels
- HBM3/HBM3e の Memory Controller は、64bit x 16 channels
NVLINK の port と Memory Controller の Channel の帯域の比較
- P100 : 20GB/s vs 22.875GB/s
- V100 : 25GB/s vs 28.125GB/s
- A100 : 25GB/s vs 25GB/s
- H100 : 25GB/s vs 37.5GB/s
これを見ると、NVLINK の port と Memory Controller の Channel の帯域は同じぐらい。
Copy Engine の数
- P100 : ???
- V100 : ???
- A100 : 10個
- H100 : 10個
仮に、P100 と V100 の Copy Engine が A100 と H100 と同じ10個だとすると、NVLINKの ports 数が 4 と 6 であるので間に合いそう。
A100のNVLINKのport数は12、H100のNVLINKのport数は18なので、Copy Engine が 10個だと、少なそう。。。
おわりに
NVIDIAのNVLINKのportの帯域は、Memory Controller のChannelの帯域と同じぐらいでは?ということが分かりました。。。