Vengineerの戯言

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

Google TPU v2/v3 の詳しい記事

@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそすべては、SystemC v0.9公開から始まった 

先週の連休の時に見つけた COMMUNICATIONS of th ACM 掲載の記事

A Domain-Specific Supercomputer for Training Deep Neural Networks

Google TPU v2 の詳しい記事です。PDF 版もあります。

Google TPU v2 Pod は、2D-torus topology で、16x16 2D torusのようです。

下図は、引用のために組み込みURLで表示させています。

https://dl.acm.org/cms/attachment/7bfa1b68-8187-4512-b7bf-6214c6d698bd/f1.jpg

16x16 なので、256チップ。1ボードに4チップ載っているので、64ボード。

Google Cloud TPUのページを見ると、

  • v2-512 (v2コアが512なので、256チップ)

で、16x16 = 256 と同じですね。

それから、TPU v2のざっくりなブロック図

メモリであるHBM は、Computeである TensorCore と Communication である ICI と接続しています。また、HBMはホストとPCIe で接続されています。

下図は、引用のために組み込みURLで表示させています。

https://dl.acm.org/cms/attachment/e3eba3c6-1eb3-42f0-8e10-498242de241f/f2.jpg

フロアプランの図もあります。

ICIとHBM port が4つありますね。ブロック図とはちと、違いますね。

HBMのチャンネル数が2個なので、このHBM portは1つのチャンネルのことになるのでしょうか?

下図は、引用のために組み込みURLで表示させています。

https://dl.acm.org/cms/attachment/94cc812e-bfd2-4812-b26b-2c908ee6b16b/f3.jpg

動作周波数ですが、

v2 は 700 MHz、v3は940 MHz。

ICIは 4 x 496 Gbits、4 x 656 Gbits と。。え、496 Gbits の SERDES って、何?

MXUは、v2 では 128x128 x 2個で、v3 では 128x128 x 4個。

シリコン面積は、同じプロセスで 611 と 648 。MXU が 2個増えても、6%ぐらいしかアップしていない。

「because the engineers had a better idea beforehand of the layout challenges of the major blocks in TPUv2, which led to a more efficient floor plan for TPUv3.」

あって、、エンジニアの努力の結晶と。。。