Systolic阵列成为云端深度学习芯片的主流架构

Systolic阵列成为云端深度学习芯片的主流架构

深度学习的计算本质上是多维矩阵 , 即张量(tensor)的计算 。 目前有很多公司在设计面向深度学习张量计算的芯片 。 传统的指令级别并行的CPU是非常通用的一种体系结构 , 但是做张量计算的效率非常低 。 GPU采用线程级别并行 , 通过线程切换来平衡计算资源和内存带宽之间的矛盾 , 从而实现通用的大规模并行计算 。 虽然用GPU做张量计算的效率远高于CPU , 但是其效率依然不理想 。 因此 , 对于专用张量计算需要采用与CPU和GPU不同的体系结构 。

深度学习计算具有非常典型的流水线特征 , 单个云端深度学习张量计算芯片功耗高达上百瓦 , 因此在一个芯片内可以集成多个计算单元来进行大规模的卷积等计算 。 基于这些特点 , 云端深度学习张量芯片非常适合用Systolic架构来实现 。 在云端深度学习计算芯片中 , 超大规模的Systolic阵列具有得天独厚的优势 , 我们可以用硬件来自动实现多维的数据搬运和计算任务的分配 , 以获得非常高的性能 。 此外 , Systolic架构实现非常简单 , 很容易在电路层面进行更深入的定制 , 非常适合用专用集成电路(Application Specific Integrated Circuits , ASC)做定制设计 。

推荐阅读