はじめに
今回は、Google TPU の TensorCore の振り返りをしたいと思います。
Google TPU の TensorCore と Matrix 演算器(MXU)の数および性能の関係
Google TPU v2 では、MXUのサイズを 128 x 128 に変更しました (Google TPU v1 では、256 x 256 でした)
- v2, 45 TFLOPS, 2コア x 1 MXU
- v3, 123 TFLOPS, 2コア x 2 MXU
v2 => v3 になり、MXUが2倍になりました。性能は、45 => 123 で 2.733倍です。MXUが2倍になっているので、動作周波数は 1.366倍になった感じです。The Nextplatform の
に各TPUのデータの比較表がありますので、その比較表を下記に説明のために引用します。

これによると、v2 の動作周波数は 700MHz で v3 の動作周波数は 940MHz です。940/700 = 1.3438倍です。上記の 1.366倍といい感じです。この表では、v2 の性能が 46 になっています。
- v4, 275 TFLOPS, 2コア x 4 MTXU
v3 から v4 でも MXU の数が2倍になりました。1個のMXUでは、1.1倍です。動作周波数は、940MHz => 1050MHz にアップしました (1.117倍)
- v4i, 138 TFLOPS, 1コア x 4 MXU
- v5e, 197 TFLOPS, 1コア x 4 MXU
v4i => v5e では、コア数およびMXU数は変わらず、性能だけが向上しているので、動作周波数がアップしたのだと思います。1050MHz => 1750MHz (性能は 197 => 138 で、1.4275倍)
- v5p, 459 TFLOPS, 2コア x 4 MXU
v4 => v5p では、性能が 275 => 459 になりました。1.67倍。動作周波数は、1040MHz => 2040MHz
- v6e, 918 TFLOPS , 1コア x 2 MXU
v6e では、下記のようにMXUのサイズが 128 x 128 => 256 x 256 になりました。これにより、MXUの性能は4倍になります。v5e => v6e では、197 => 918 で4倍以上です。しかしながら、MXUの数が4個から2個になっています。となると、実質2倍の計算能力になります。918/197/2 = 2.3299倍です。2 => 2.3299倍ということで、動作周波数が 1.17倍以上速くなればOK。で 1750MHz => 2060MHz で、1.17倍

- Ironwood (v7、とGoogleは言っているけど、あたし的には、v6pだと思っている), 2,307 TFLOPS, 2 die, 2コア x 2 MXU
v6e の4倍の性能と考えればいいのか? BF16の 918 => 2307 で、2.513倍。2 die x 2 コアだと、4倍なので性能は上がっていない。が、FP8 をサポートして、4,617 で 約5倍。。こちらの強化。動作周波数は 1644MHz と低下
おわりに
でも書いている、「Future Systems Silicon Design」って、v6e/v6p のことなんでしょうか?そして、v6eでは入れなかった、FP8を v6p で入れたと。。。
どうなんだろうか?