脉动阵列

2023-11-03

脉动阵列是一个比较古老的概念,早在1982年就有了,可是,最近google的TPU采用了这个结构,脉动阵列又火了起来。我也是从今年新入职了一家公司后才接触到的,对比之前自己设计的AI架构,脉动阵列确实有很多优势。所以本文从传统AI计算架构和脉动阵列的对比来说明脉动阵列的设计方法和优势。

 

卷积运算

在正式介绍AI硬件架构前,简单讲一下卷积运算。因为卷积运算在CNN中发挥着重要作用,也是CNN中计算量最大的步骤。比如对于一个8x5大小的图像,用3x3卷积核进行卷积,首先将图像补充到10x7大小,然后移动3x3卷积核,得到卷积后的图像。

用公式表示这种运算为:

QQ截图20190127205326.png

在神经网络中有大量的卷积运算,在每一层网络中,有M个输入图片(称之为feature map,对应着一个输入通道),N个输出feature map(N个输出通道),M个输入会分别进行卷积运算然后求和,获得一幅输出map。那么需要的卷积核数量就是M*N。经过仔细观察和思考,可以看出每个卷积核会被M个图片共享,脉动阵列正是利用了共享数据。

算法E.png

非脉动计算架构

这是我最开始考虑的一种方案,主要思想是在输入和输出通道上实现并行运算。就针对上述例子(3x4卷积层),使用12个运算通道,每个通道完成卷积运算和累加,然后每3个通道完成求和,得到一个输出map。如下图:

QQ截图20190127205030.png

假设feature map为x(I,j),卷积核为W(3x3),那么PE中乘积和累加可以表示为:

q1.png

输出通道结果可以表示为:

q2.png

非脉动结构feature map的fanout比较大,上述中同一个feature map被三个PE共用,fanout为3,如果输入通道更大那么fanout会更大,大的fanout会影响FPGA时序。同时完成卷积运算后需要在输入通道之间增加额外的加法树。同时对于不同层输入输出通道数不一样,加法树就会变得很复杂。而接下来我们看到脉动阵列具有灵活的配置以及较好的时序性。

脉动阵列

针对上述的方案是否能够进行改进呢?可以首先想到能不能去除加法树,将输入通道的求和也使用累加来实现。那就变成只有一个PE完成卷积运算以及不同通道的求和。但是一个PE却降低了并行度,那么可以想到增加串行的PE数量来增加输入并行度,即演变为一列PE来实现输入通道求和。由于PE排序上的空间限制,导致后边一个PE的计算相比于前一个PE要有1个周期延时,如果将数据从从PE间的移动打一拍,那正好可以在第二个PE计算出来的同时完成和前一个PE的求和,这就是脉动的关键所在。

QQ截图20190127205541.png

增加多列脉动结构,就构成了脉动矩阵,比如针对上述网络层,就增加4列,那么就是一个3X4矩阵阵列。因为每一列使用相同的feature map,那么可以将feature map数据灌入的方向从沿着列改到沿着行。其中Wij是卷积核,i对应输入通道序号,j对应输出通道序号。脉动阵列每一个相邻PE之间有一个时钟周期延时,x1,x2,x3进入PE的时间也延时一个周期,输出数据也相差一个周期,但是整个计算实现了流水同步。并行度也在3x4=12。

QQ截图20190127205244.png

脉动阵列的fanout只有1,同时没有了加法树的复杂结构,而且不同层结构对脉动矩阵结构没有强依赖,可以通过数据输入顺序来调整对脉动结构的适配。

THE END

本文对比了脉动阵列和非脉动阵列的特点,脉动阵列具有较小的fanout,占用较少的资源。同时还能适配不同形式的计算。

在看点一下 大家都知道

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

脉动阵列 的相关文章

  • AMS1117典型电路

    AMS1117 3 3V 5V 封装 常见应用连接 1 输入旁路电容Input Bypass Capacitor A 10uF tantalum on the input is a suitable input bypassing fora
  • 舵机的三条线分别代表什么

    橙色信号线 红色正极 棕褐色负极
  • SOIC 和 SOP区别

    SOP是一种很常见的封装形式 始于70年代末期 SOP封装的应用范围很广 而且以后逐渐派生出SOJ J型引脚小外形封装 TSOP 薄小外形封装 VSOP 甚小外形封装 SSOP 缩小型SOP TSSOP 薄的缩小型SOP 及SOT 小外形晶
  • 阻抗匹配之反射波形测量

    稍微接触过高速信号的朋友 一定对阻抗匹配和信号反射都有所了解 甚至可以按照公式 把反射波形一路推导出来 但是 纸上得来终绝浅 绝知此事要躬行 今天 我们就来实测一下信号反射波形 测试环境如下 信号发生器产生一个1 25MHz VPP 2V的
  • 电阻的精度和温漂

    转载自 http blog sina com cn s blog 68b345970100jc2h html 电阻的精度和温漂 1 电阻温度系数 TCR 表示电阻当温度改变1度时 电阻值的相对变化 当温度每升高1 时 导体电阻的增加值与原来
  • 电工电子——NUM2

    二极管 二极管基本工作原理 第26期 02 电子元器件之稳压二极管 齐纳二极管 ZenerDiode 哔哩哔哩 bilibili 二极管由一个PN结加上相应的电极引线及管壳封装而成 二极管的主要原理利用PN结的单向导电性 在PN结加上引线和
  • [DCDC](DC-DC 电感)纹波率r是难题?来我这里来学习

    大家可能都有深刻体会 电子知识博大精深 无穷无尽 每个简单的知识点背后 都蕴含着无穷无尽的宝藏 古人云 学无止境 我现在就是这种感觉 学的越多 也就更加战战兢兢 如履薄冰 但我始终相信 虽然知识是无限的 但人的能力也是无限的 只要你肯 明天
  • 51单片机 IIC OLED屏幕驱动+Proteus仿真+实物验证示例程序

    51单片机 IIC OLED屏幕驱动 Proteus仿真 实物验证示例程序 Proteus仿真效果 注意点击运行仿真后 图像刷新出来比较慢 示例主程序 include REG51 h include oled h include bmp h
  • 脉动阵列

    脉动阵列是一个比较古老的概念 早在1982年就有了 可是 最近google的TPU采用了这个结构 脉动阵列又火了起来 我也是从今年新入职了一家公司后才接触到的 对比之前自己设计的AI架构 脉动阵列确实有很多优势 所以本文从传统AI计算架构和
  • 单片机常用外设驱动电路

    单片机常用外设驱动电路 DS18B20 DHT11 AT24C02 L293D 带光耦隔离 I2C接口和EEPROM电路 LCD1602电路 数码管 RS485 红外开关 蜂鸣器驱动 译码器 移位寄存器 74HC595 步进电机控制 复位电
  • cadence的PCB封装库导入Altium designer

    目录 说明及作者联系方式 导入封装库说明 实例 导入cadence PCB文件 生成封装库 说明及作者联系方式 作者的软件是AD20 cadence是17 4 参考官方文档 官方文档原地址可点击此处跳转 作者还拥有个人公众号 会写一些感悟文
  • altium Designer22 AD22 CAD电子绘图员三级知识点操作说明

    文章目录 AD22 一 解决局域网中多台电脑冲突 禁用license的网络功能 二 添加库文件 三 库的使用 四 库绘制 1 原理图库绘制 2 PCB封装库绘制 五 动态标题栏 六 原理图模板的使用 七 层次电路图设计 1 在母图上放置页面
  • Y形电路与三角电路转换,网孔和节点分析法

    Y形电路与三角电路转换 网孔和节点分析法 Y形电路与三角电路转换 推导过程与之前的电压源和电流源的转换类似 用系数相等即可等价转换 此处直接给出结论与记法 网孔分析法 自电阻 在这个网孔中所有电阻的和 互电阻 网孔1与网孔2之间的电阻 将每
  • 3串锂电池充放电保护板设计参考

    3串锂电池充放电保护板设计参考 这里只提供原理图参考 链接 https pan baidu com s 1cSmTf8fifrEjxfrCrTV 3w 提取码 5i5i 不想自己做 可以去TB买 也不贵 也就10几块钱 自己做也可以参考其说
  • IR2104电机驱动

    目录 一 IR2104的引脚定义 二 IR2104的内部原理 三 半桥驱动原理分析 四 全桥驱动原理分析 五 电感电流回流路径的建立 六 自举电容容值的计算与自举二极管选型 七 mos管发热可能的问题 八 推荐阅读 一 IR2104的引脚定
  • 算法:单圈绝对值编码器处理成多圈的

    硬件描述 单圈编码器的分辨率是4096 功能描述 将单圈数据处理处理成多圈数据 起始圈数是1000圈 long GetCurrentAbsTotalValue long lValue long m absEncTotal 计算编码器总时间片
  • 5分钟讲解直流线性稳压降压电源基本原理

    怎么把 12 v电变为 5v呢 通过变压器是可以实现的 但是变压器只能转换交流电 那直流电怎么转换呢 我们来看下最简单的降压方式 比如负载是 5欧 那么要得到 5V的压降 按照串联分压原理 需要给它串联一个 7 欧的电阻附加 就能得到 5
  • 编码器输出:HTL、TTL

    HTL 即常说的推挽 就是NPN PNP的组合 所以其同时支持PNP与NPN控制电路 电路简单 好用 工作电压较宽 编码器常用5到30V均可 注 HTL输出信号电平一般等同工作电压减三极管压降 有较强的抗干扰能力 它的主要缺点是工作速度比较
  • 关于差分信号

    对差分信 VDS 号而言 对其影响最大的因素是它们的对地阻抗是否一致 也就是对地平衡度 它们之间相对的阻抗影响并不特别重要 之间分布电容大了只会衰落信号强度 不会引入噪声和干扰 也就是对信噪比不会产生很大影响 差分信号只是使用两根信号线传输
  • 放大滤波电路设计

    放大滤波电路设计 摘 要 研究目的主要为自主设计一个放大滤波电路 使其满足相应参数要求 并且在放大器输出端留有测试端子 本作品信号源提供正弦输入信号 基本满足电压增益40dB可调 低通滤波器 带通滤波器设计等任务要求 关键词 放大滤波电路

随机推荐