ENVISION: A 0.26-to-10 TOPS/W Subword-Parallel Dynamic-Voltage-Accuracy-Frequency-Scalable CNN Processor in 28nm FDSOI

单位:EAST-MICAS, KU Leuven(鲁汶大学)

本文是我觉得本次ISSCC2017 session 14中最好的一篇,给人的启示有很多,比如一款SOC可以在非常大的能效范围内调节;比如DL加速需要多少组成部件以及有几种数据复用的形式;多种bit位宽的乘法器资源复用,数据IO压缩;

嵌入式设备中的神经网络:从云端到终端的计算载体转移,对能效的要求提高。1-10TOPS/W的CNN计算能效是对始终在线的(Always-On)嵌入式设备运行NN的重要保证。不同计算压力下,计算量不同,因此能耗节省空间大[1]。

高精度调整乘法器电压+频率:DVAS->DVAFS。基于JSSC2016、VLSI2016的DVAS工作基础,对乘法器进行优化设计,增加实现频率的调整。DVAFS实现了对运行时所有可调整参数的降低:激活a,频率f,电压v。通过采用高位x高位、低位x低位,可以在16b阵列上同时计算两个8b乘法,对于后续的不同精度计算吞吐提升和资源利用提高起到极大的作用。

重点看一下本篇的架构设计:

在ENVISION中,数据重用分为三类:卷积重用(单一卷积核vs一张图的多图层);图像重用(多个卷积核vs一张图的单图层);卷积核重用(单一卷积核vs多张图像的多图层)。

总体架构如下:整个架构包含用于ReLU/MacPool/Mac计算的1D-SIMD,专用于MAC计算的2D-SIMD,用于数据和控制的RISC主控、DMA接口、DM、PM模块等。

下面几张图分别介绍了卷积重用(单一卷积核vs一张图的多图层);图像重用(多个卷积核vs一张图的单图层);卷积核重用(单一卷积核vs多张图像的多图层)的方法:

上面这些都是很基本的计算trick,但是在一款设计中要全部做到,很多以前的设计并没有做好。原因很多,比如在做多张的时候,如果复用一张的资源就需要2X的资源,但是本文结合了4-8-16复用一套计算单元的方法——就是在低bit的时候,还是一套资源。

几个其他特点:

  1. C编程
  2. 16bit指令
  3. IO的时候有huffman压缩
  4. GRD SRAM——用于使能sparse计算,关闭sparse的乘法;

关闭sparse的乘法:

芯片性能及能效表现:由上到下分为1x16b/2x8b/4x4b/30~60% 4×3~4b。可以看到scale非常大,能效相差可达40x,电压域为0.61v~0.85v。性能表现在BBopt下可达10TOPS/W。

总结[1]:

1、面向多层场景的Always-on架构

2、高能效的CNN处理架构:基于2D-SIMD;采用DVAFS技术;面向稀疏计算的检测及IO级压缩

3、ENVISION是一款具有0.25~10TOPS/W@76GOPS能效表现的嵌入式CNN处理芯片。

参考资料

[1] https://reconfigdeeplearning.com/2017/02/09/isscc-2017-session-14-slides14-5/

[2] ENVISION: A 0.26-to-10 TOPS/W Subword-Parallel Dynamic-Voltage-Accuracy-Frequency-Scalable CNN Processor in 28nm FDSOI

ISSCC 2017论文导读 Session 14:ENVISION: A 0.26-to-10 TOPS/W Subword-Parallel DVAFS CNN Processor in 28nm的更多相关文章

  1. ISSCC 2017论文导读 Session 14 Deep Learning Processors,A 2.9TOPS/W Deep Convolutional Neural Network

    最近ISSCC2017大会刚刚举行,看了关于Deep Learning处理器的Session 14,有一些不错的东西,在这里记录一下. A 2.9TOPS/W Deep Convolutional N ...

  2. ISSCC 2017论文导读 Session 14 Deep Learning Processors,A 2.9TOPS/W Deep Convolutional Neural Network SOC

    最近ISSCC2017大会刚刚举行,看了关于Deep Learning处理器的Session 14,有一些不错的东西,在这里记录一下. A 2.9TOPS/W Deep Convolutional N ...

  3. ISSCC 2017论文导读 Session 14 Deep Learning Processors,DNPU: An 8.1TOPS/W Reconfigurable CNN-RNN

    转载请注明,本文出自Bin的专栏http://blog.csdn.net/xbinworld,谢谢! DNPU: An 8.1TOPS/W Reconfigurable CNN-RNN Process ...

  4. ISSCC 2017论文导读 Session 14:A 0.62mW Ultra-Low-Power Convolutional-Neural-Network Face-Recognition Pro

    A 0.62mW Ultra-Low-Power Convolutional-Neural-Network Face-Recognition Processor and a CIS Integrate ...

  5. ISSCC 2017论文导读 Session 14: A 28nm SoC with a 1.2GHz Prediction Sparse Deep-Neural-Network Engine

    A 28nm SoC with a 1.2GHz 568nJ/Prediction Sparse Deep-Neural-Network Engine with >0.1 Timing Erro ...

  6. ISSCC 2017论文导读 Session 14:A 288μW Programmable Deep-Learning Processor with 270KB On-Chip Weight

    A 288μW Programmable Deep-Learning Processor with 270KB On-Chip Weight Storage Using Non-Uniform Mem ...

  7. 安装sql server2017出现错误:Visual Studio 运行时"Microsoft visual c++2017 X64 Minimum Runtime - 14.10.25008"需要修复

    安装sql server 2017 Developer Edition时,安装选择“基本”,发生如下错误: 解决方法: 1.进入控制面板→程序中,找到“Microsoft visual c++2017 ...

  8. 软考论文的六大应对策略V1.0

    软考论文的六大应对策略V1.0 短短2个小时,要写3000字的文章,对习惯了用电脑敲字.办公的IT从业人员而言,难度不小.尤其,大家会提笔忘字.笔者的应试策略,就是勤学苦练,考试前的一个星期,摸清套路 ...

  9. 论文学习-系统评估卷积神经网络各项超参数设计的影响-Systematic evaluation of CNN advances on the ImageNet

    博客:blog.shinelee.me | 博客园 | CSDN 写在前面 论文状态:Published in CVIU Volume 161 Issue C, August 2017 论文地址:ht ...

随机推荐

  1. unity3d之 C# WaitFOrSeconds()

    学习unity3d不久.在使用WaitFOrSeconds()时,遇到了不少麻烦,故记录,以警示后人. 首先介绍C#和javascript 在使用它有非常大的差别. javascript能够直接使用 ...

  2. hadoop streaming怎么设置key

    充分利用hadoop的map输出自动排序功能,能够有效提高计算效率.Hadoop streaming框架默认情况下会以'/t’作为分隔符,将每行第一个'/t’之前的部分作为key,其余内容作为valu ...

  3. pandas.drop/isnull/fillna/astype的用法

    删除表中的某一行或者某一列更明智的方法是使用drop,它不改变原有的df中的数据,而是返回另一个dataframe来存放删除后的数据. (1)清理无效数据 df[df.isnull()] #返回的是个 ...

  4. Amaze UI JS 气泡弹出

    http://amazeui.org/javascript/popover?_ver=2.x

  5. EditPlus 4.3.2583 中文版已经发布

    新的版本提升了括号匹配的性能.请点击页面左上角连接下载.

  6. 功能测试三剑客:测试框架、bug预防、探索性测试

    功能测试有一套框架来实现完整的覆盖测试的各个维度 测试框架: 参加本人之前的博客测试框架(包括总体的框架.web测试框架.PC客户端.手机客户端.服务器端.接口测试)六部分,罗列了各个领域的测试覆盖考 ...

  7. Linux基础命令---e2image

    e2image e2Image程序将位于设备上的ext2.ext3或ext4文件系统元数据保存到由图像文件指定的文件中.通过对这些程序使用-i选项,image文件可以由dupe2fs和调试器来检查.这 ...

  8. Django框架----Web框架本质

    Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 半成品自定义web框架 impor ...

  9. Shell学习笔记之shell脚本和python脚本实现批量ping IP测试

    0x00 将IP列表放到txt文件内 先建一个存放ip列表的txt文件: [root@yysslopenvpn01 ~]# cat hostip.txt 192.168.130.1 192.168.1 ...

  10. vc编辑器常用设置

    代码格式化 1.选中代码: 2.ctrl+K: 3.ctrl+F; 显示行号