ISSCC 2017论文导读 Session 14:ENVISION: A 0.26-to-10 TOPS/W Subword-Parallel DVAFS CNN Processor in 28nm
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的时候,还是一套资源。
几个其他特点:
- C编程
- 16bit指令
- IO的时候有huffman压缩
- 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的更多相关文章
- 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 ...
- 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 ...
- 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 ...
- 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 ...
- 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 ...
- 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 ...
- 安装sql server2017出现错误:Visual Studio 运行时"Microsoft visual c++2017 X64 Minimum Runtime - 14.10.25008"需要修复
安装sql server 2017 Developer Edition时,安装选择“基本”,发生如下错误: 解决方法: 1.进入控制面板→程序中,找到“Microsoft visual c++2017 ...
- 软考论文的六大应对策略V1.0
软考论文的六大应对策略V1.0 短短2个小时,要写3000字的文章,对习惯了用电脑敲字.办公的IT从业人员而言,难度不小.尤其,大家会提笔忘字.笔者的应试策略,就是勤学苦练,考试前的一个星期,摸清套路 ...
- 论文学习-系统评估卷积神经网络各项超参数设计的影响-Systematic evaluation of CNN advances on the ImageNet
博客:blog.shinelee.me | 博客园 | CSDN 写在前面 论文状态:Published in CVIU Volume 161 Issue C, August 2017 论文地址:ht ...
随机推荐
- 格式化NameNode
$cd /app/hadoop/hadoop-2.2.0/ $./bin/hdfs namenode -format
- mysql清空有外键关联的表
第一种:(不要外键约束) 手动删除外键约束: 删除表数据 第二种:(保留外键约束) SET FOREIGN_KEY_CHECKS = 0; TRUNCATE TABLE 表名; SET FORE ...
- git clone远程branch和tag
1.查看远程分支 git branch -r 2.测试git clone romete,只是clone远程remote的master,不会clone其他的目录 -------------------- ...
- XMind思维导图主题操作要点
- Python安装sqlite3
今天使用PYthon时,发现错误 ImportError: No module named sqlite 这是因为缺少 SQLITE3的缘故. 下面分享一下解决此问题的方法步骤: 1. 查看是Pyth ...
- 大神的博客地址liferay
http://www.huqiwen.com/category/technology-share/liferay/
- 001-linux中特殊权限
- 使用PowerMockito 对静态类进行mock
Mock的中文的意思就是模拟,Mockito是mock的扩展,但是Mockito并不支持对静态类的mock,所以我们引入PowerMockito实现对静态类的mock. 首先pom添加PowerMoc ...
- UVM中的driver组件
一般UVM环境中的Driver组件,派生自uvm_driver. uvm_dirver派生自uvm_component. class uvm_driver #(type REQ = uvm_sequ ...
- linux下安装vsftp(二)
安装vsftpd 1.以管理员(root)身份执行以下命令 yum install vsftpd 2.设置开机启动vsftpd ftp服务 chkconfig vsftpd on 3.启动vsftpd ...