AI芯片:服务器级处理器Dadiannao分析

DaDianNao: A Machine-Learning Supercomputer

一、Diannao与Dadiannao

  Diannao和Dadiannao这两篇文章都发表于2014年。如果把Diannao看作是一个嵌入式终端处理器,那么Dadiannao就是服务器上使用的大规模高性能处理器。
  以前听过龙芯CPU的发展方向,3A5000工艺提高主频,3C5000工艺增加核数。Diannao是在单核情况下对结构设计(主频)的探索,Dadiannao是对多核架构设计的探索。CPU是通用处理器,Diannao系列架构是专用处理器,仅从这里看来,两者的发展路线还是很相似的。

二、Dadiannao架构思路

  Dadiannao这篇文章最大的贡献是给出了一个服务器级处理器的设计架构。目前大多数服务器主要使用的还是英伟达的GPU,Google使用的是自家研制的TPU ASIC芯片。
  如果想要实现一个大规模并行的系统,一个最简单的想法是直接把Diannao的计算单元扩大n(n>1)倍。如图1所示,作者进行了类似的尝试,将Diannao从16x16的并行乘法规模扩大到64x64的并行乘法规模。即使是忽略了内存传输影响,这样的设计依然存在问题:(1)数据传输线(Wires)布线后面积占用过多,共需要65536根线,面积达42.18mm2。(2)一个更重要的问题是如果采用上述方案,可拓展性很差。这对于一个服务器级处理器,这是不可接受的。

pipeline

  因此,作者设计了一个三级多核并行Dadiannao架构:tile->Node->Chip。每个tile单元是一个优化后的Diannao内核;图2,16个这样的tile单元通过Fat-tree总线构成一个Node;图3,Node与Node之间通过HT2.0总线连接形成Chip(我觉得这里也可以通过片上网络NOC连接)。该架构可以在保证每周期计算量不变的情况下,使得布线面积减少28.5%。一个Node结点内部存储单元大小为36MB,如果一个网络层的参数量大于36MB,那么该网络层就需要部署到多个这样的Node结点上。Dadiannao架构最多可以有36个这样的Node单元相连,这也就是Dadiannao架构具有较好的可拓展性的原因了。最终,在28nm工艺,606MHz频率下,与NVIDIA K20M GPU对比,64-node的Dadiannao,获得了450.65x加速比,节省了150.31x的能耗。Dadiannao频率相比于Diannao 0.98GHz的频率有所降低,这也是未来改进的方向。

pipeline pipeline

下面我们列举分析一下Dadiannao这篇文章的设计细节:
(1)面积节省:图1架构其每周期可执行64x64x16bit数据的运算,面积是42.18mm2。将其划分为16个tile的架构后,每个tile每周期可执行16x16x16bit数据的运算。16个tile单元的运算量与图1架构的运算量等价。每个tile面积是1.89mm2,16个tile的总面积是30.16mm2。也就是说,经过tile展开后,面积减少了28.5%。
(2)低片外访存带宽:在Diannao文章指出了片外访存能耗远高于片上访存消耗。由此,Dadiannao将参数全部存储在片上的eDRAM(eDRAM是SRAM和DRAM的折中)。
(3)传输数量较少的神经元而不是突触:16个tile共享两个全局的eDRAM,一个用于输入数据input广播,一个用于输出数据output收集,用来给每个tile内部的eDRAM传送输入输出数据。
(4)突触存储在使用它们的神经元旁边,最小化数据移动+高内部传输带宽:如图4所示,每个tile内部包含1个NFU单元和4个用于存储权重的eDRAM单元,存储靠近运算,减少了数据传输消耗。4个eDRAM单元相比于单个eDRAM的好处是可以减少数据访问冲突,实现更高的内部传输带宽。

pipeline

(5)改进后的NFU计算单元:NFU架构如图5所示。Output中间值会被存储在tile中的eDRAM中进行复用。计算完成后,传输给Node上的全局eDRAM单元上。这里NFU相比于Dianano更复杂,额外增加了训练功能。这也是必须要有的,因为Dadiannao是针对服务器端设计的。

pipeline

(6)可配置性:如图6,不同层(conv,pool)的不同阶段(interface,train)需要不同的操作。tile中针对不同层的数据移动也有对应的配置,这些都体现了可配置性。32bit for train(16bit时收敛慢),16bit for interface。

pipeline

Finished.

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值