Tensor Processoring Unit
TPU V1 2015
- 2CH的2133MHz的DDR3內存是Off Die的,一共8GiB;
- 內存的帶寬:2Channel*2133MHz*64bit/8/1000=34GB/s
- 256*256=65536 8bit MAC 矩陣乘法單元
- 700MHz,Peak :65536*2(M/A)*700MHz=92T INT8 Operations/second
- 28MiB的片上內存
- 4MiB的加法器內存
- 24MiB的統一Buffer;
- 下面是個透視圖

- TPU組成的加速卡,每個服務器上放4個;

TPU V2 2017
TPU V2 Chip Block Diagram

TFLOPs:
1
MXU Per Core
22.5TFLOPs Per core , 8GB HBM Per Core;2 Cores per chip, means 45 TFLOPs per Chip4 Chips per board, means 180TFLOPs per BoardMostly fp32
Mrtaix Unit:
128*128 array;
float32 accumulate, bfloat16 multiplies;
就是矩陣式脈動陣列的一種,權重不變,輸入X,輸出Y;
內存帶寬,不知道內存的位寬和頻率。
TPU V2 Board (V2-8)(一個板子上有四個芯片,每個芯片兩個Core)

Connect to Host CPU through
32 Lans PCIe Gen3
180 Teraflops of computation
64GB of HBM Memory
2400GB/s memory BW
TPU V2部署的機房:

TPU V2 可以形成的最大的Pod (V2-8*64-512)(一個池子有64塊板子,左邊32個,右邊32個)

64 pic of V2 Board,64*8=512個TPU V2 Core;
11.5 pflops of computation
4TB of HBM Memory
2D torus 環形 topology
TPU V3 2019
TPU V3 Chip Bloack Diagram

TFLOPs:
?? TFLOPs Per core , 16GB HBM Per Core;2 MXU Per Core2 Cores per chip,4 Chips per board,Mostly fp32
Mrtaix Unit:
輸入和輸出都是FP32,但是乘法運算是按照BF16進行計算的;
128*128 array; float32 accumulate, bfloat16 multiplies;
就是矩陣式脈動陣列的一種,權重不變,輸入X,輸出Y;
TPU V3 Board(V3-8)
(一個板子上有四個芯片,每個芯片兩個Core)

420Teraflops of computation,乘法還是BF16,但是輸入和輸出還是TF32的。
128GB of HBM Memory
Liquid Cooling
TPU V3部署的機房:

TPU V3可以形成的最大的 Pod(V3-8*256-2048)(一個池子256個板子,256*8Core=2048Core,上面8個機櫃共同組成最大的Pod)
Over 100 pflops
32TB of HBM Memory;
參考文獻:
2017年HotChip上第一次介紹TPU V1:
https://www.hotchips.org/archives/2010s/hc29/
HC29.22.730-TensorPU-Young-Google.pdf
2017年在ISCA發布的第一代的TPU的論文:https://arxiv.org/ftp/arxiv/papers/1704/1704.04760.pdf
2019年HotChip上的培訓:
https://www.hotchips.org/hc31/HC31_T3_Cloud_TPU_Codesign.pdf
最后Cloud TPU的地址:
https://cloud.google.com/tpu