本文为DianNao系列加速器总结的第一篇,有较多公式,简书不支持公式渲染,公示完整版待该总结完成后将统一发表在个人博客
简介
DianNao系列是中科院计算所推出的系列机器学习加速器,包括以下四个成员:
- DianNao:神经网络加速器,DianNao系列的开山之作。
- DaDianNao:神经网络“超级计算机”,DianNao的多核升级版本
- ShiDianNao:机器视觉专用加速器,集成了视频处理部分
- PuDianNao:机器学习加速器,DianNao系列收山之作,可支持7种机器学习算法
DianNao系列相比于其他神经网络加速器,除了关心运算的实现外,更关心存储的优化。
整体架构
DianNao系列的整体架构比较类似,均分为以下三个部分:
- 运算核心:完成对应的运算加速功能
- 缓存:缓存输入输出数据与参数,减小访存带宽需求
- 控制:协调运算核心和缓存的工作
前三代(DianNao,DaDianNao,ShiDianNao)的整体架构如下图所示:
其中:
- NBin,NBout和SB:均为存储器,分别用于存储输入数据,输出数据或临时数据和参数
- NFU:运算核心,用于完成神经网络相关的运算
以下为原论文中所绘制的架构图(左图为DianNao/DaDianNao,右图为ShiDianNao):
[图片上传中...(PuDianNao_structure.png-dc039b-1525185332874-0)]