脉冲阵列 - Systolic Array 脉动阵列简介 脉冲阵列就是 TPU 的核心,也是本文最重要的内容。脉冲阵列的英文名 Systolic Array 就是源于它处理数据的节奏就像心跳一样,于是便有了这个名字。 在我们讲到具体的实现之前,我们需要先回顾一下 Img2Col 这个算法。我们知道,在推理场景,在 2017 年附近,卷积神经网络占据了...
脉动阵列本质是结构简单的流水线,其工作过程可看作是数据在时钟的驱动下像脉搏一般在阵列中向前跳动,如图所示 脉动阵列工作原理 GEMM的脉动阵列实现 GEMM(GEneral Matrix Multiply,通用矩阵乘法)中存在大量的MAC(Multiply and ACcumulate, 乘累加)运算,具有运算量较大、运算种类单一的特点,因而非常适合使用脉动阵列来实...
高运算吞吐率:通过流水线操作和并行计算,脉动阵列能够实现高效的计算,尤其是在处理大规模矩阵运算和卷积运算时表现突出,能够显著提高AI计算的速度。 设计简洁:脉动阵列的设计相对简单,每个处理单元的功能固定,易于实现和维护,也便于采用超大规模集成电路技术进行设计和制造。 (二)挑战 灵活性有限:虽然脉动阵列在特定运算...
从数学和计算机科学的角度来看,脉动阵列是一种并行计算架构,它通过在阵列中的每个处理单元之间传递数据来实现高效的数据处理。那么 MXU 的本质上也就是一个由256×256个 PE 组成的二维网格,每个乘法器可以执行乘法和累加操作。在脉动阵列中,数据流是通过阵列的对角线方向进行的,这种流动方式类似于心脏的脉动,因此得名...
采用FPGA实现脉动阵列 微电子学的发展彻底改变了计算机的设计:集成电路技术增加了能够安装到单个芯片中的元器件数目及其复杂度。因此,采用这种技术可以构建低成本、专用的外围器件,从而迅速地解决复杂的问题。 大规模集成电路(VLSI)技术明确地指出:简单和规则的互连导致廉价的实现方式以及高密度,而高密度能够实现高性能和...
脉动阵列,本身的核心概念就是让数据在运算单元的阵列中进行流动,减少访存的次数,并且使得结构更加规整,布线更加统一,提高频率。 脉动阵列架构 上图中上半部分是传统的计算系统的模型。一个处理单元(PE)从存储器(memory)读取数据,进行处理,然后再写回到存储器。这个系统的最大问题是:数据存取的速度往往大大低于数据处理...
矩阵乘法单元 MXU(MMU): MXU 以脉动阵列的形式工作,能够提供 256×256×8 bit 的乘加计算,在每个时钟周期输出 256 个 16bit 的部分和计算结果。矩阵单元里面包含一个 64kb 的 Weight Tile 以及一个双缓存单元用于缓存回调。MXU 被谷歌的工程师们描述为“TPU 的心脏”,在本文后面的内容中,我们会更加细致的去...
我们脉动阵列先从字面意思来解读它。脉动,本身就是指一种间歇性变化得运动。阵列,则代表着一组排列整齐的对象。将这两者结合,脉动阵列算法的目标就是让多个目标物体(通常是多个信号源或者传感器)在一定的时间间隔内;产生一种有序且精准的排列模式;从而提升工作效率,甚至能精确地控制其运动轨迹。这种技术往往应用于...
1. 高效性:脉动阵列处理机采用并行计算结构,能够同时进行大量的计算任务,具备高效的计算能力。 2. 专用性:脉动阵列处理机是一种专用的硬件设备,针对特定的计算任务进行设计和优化,具备较高的处理效率。 3. 可扩展性:脉动阵列处理机的处理单元可以进行灵活的扩展和组...
脉动阵列是一种通过电场和磁场相互作用来实现离子传输的装置。它是将离子束引入磁场中,使离子束在减速、转向、聚焦和过滤等过程中,通过交变电场的作用而发生振荡,形成脉动。脉动阵列的主要功能是对离子束进行聚焦,使得离子束能够更加精确地被定位和控制。 二、脉动阵列的应用范围 ...