Vengineerの妄想(準備期間)

人生は短いけど、長いです。人生を楽しみましょう!

NVIDIA の HBM2E?

はじめに

テカナリエの清水さんの下記のXの投稿にあった、NVIDIAのHBM側

無くなるともったいないので、画像を引用します。

HBM2E、2019、NVIDIA の文字があります。

HBM2E ということなので、H100ではなく、A100 でしょうか? 2019 年だと、2020年発表のA100になり、こちらも A100 になるでしょうかね。

HBMの構成を復習

PC Watchの下記の記事にHBMの構造の図があります。

pc.watch.impress.co.jp

下図がその図で、説明のために引用します。

HBMは、Logic Dieの上にMemory Dieが積層されています。HBM2eでは 8 Stack、HBM3では 8 Stack/12 Stack になります。

HBM の Logic Die は、GPU と PHY にて接続しています。

NVIDIA A100のMemory Controller

NVIDIA A100 Tensor Core GPU ArchitectureのPage.19には、

The full implementation of the GA100 GPU includes the following units: ● 8 GPCs, 8 TPCs/GPC, 2 SMs/TPC, 16 SMs/GPC, 128 SMs per full GPU ● 64 FP32 CUDA Cores/SM, 8192 FP32 CUDA Cores per full GPU ● 4 Third-generation Tensor Cores/SM, 512 Third-generation Tensor Cores per full GPU ● 6 HBM2 stacks, 12 512-bit Memory Controllers

とあります。

ここで注目するのは、Memory Controller です。12個の 512-bit の Memory Controller です。

下記のブログで紹介した、AMD MI250X の HBM2e の Memory Controller は、16B/cycle (128bit/cycle) です。つまり、128-bit の Memory Controller です。HBM2e の 128bit x 8 channles = 1024bit の構成をしているので、各チャネルに対してMemory Controllerを持っていることになります。MI300Xでは、HBM3になり、8B/cycle (64bit) x 16 channel = 1024bit の構成になっています。つまり、AMDMI250X/MI300XのHBM Memory Controllerは各チャネル毎にあるということになります。

vengineer.hatenablog.com

A100 (H100も)のHBM Memory Controller が AMD と同じように 128bit(HBM2e)/64bit(HBM3) ではなく、512bit なのがずーと疑問でした。

今回、テカナリエの清水さんの上記のXの投稿への写真でその理由が何となくわかりました。

GPU die 側では 512bit にして、HBMのLogic dieは各チャネルへのアクセスしているのでは?

おわりに

HBM2e だけでなく、P100/V100の時のHBM2、H100のHBM3 でも HBM側の Logic die を開発しているんでしょうかね。。。