图 2:TPU 芯片布局图。阴影同图 1。蓝色的数据缓存占芯片的 37%。黄色的计算是 30%。绿色的I/O 是 10%。红色的控制只有 2%。CPU 或 GPU 中的控制部分则要大很多(并且非常难以设计)。
图3:TPU印制电路板。可以插入服务器 SATA 盘的卡槽,但是该卡使用了 PCIe Gen3 x16 接口。
图4:矩阵乘法单元的 systolic 数据流。软件具有每次读取 256B 输入的错觉,同时它们会立即更新 256 个累加器 RAM 中其中每一个的某个位置。
表2:谷歌 TPU 与英特尔 Haswell E5-2699 v3、英伟达Tesla K80 的性能对比。E5 有 18 个核,K80 有 13 个 SMX 处理器。图 10 已经测量了功率。低功率 TPU 比高功率 GPU 能够更好地匹配机架(rack)级密度。每个 TPU 的 8 GiB DRAM 是权重内存(Weight Memory)。这里没有使用 GPU Boost 模式。SECDEC 和非 Boost 模式把 K80 带宽从 240 降至 160。非 Boost 模式和单裸片 vs 双裸片性能把 K80 峰值 TOPS 从 8.7 降至 2.8(*TPU 压模小于等于半个 Haswell 压模大小)。
图5:TPU (die) roofline。 其脊点位于所获权重内存每字节运行 1350 次的地方,距离右边还比较远。