ENVISION: A 0.26-to-10 TOPS/W Subword-Parallel Dynamic-Voltage-Accuracy-Frequency-Scalable CNN Processor in 28nm FDSOI编程
单位:EAST-MICAS, KU Leuven(鲁汶大学)markdown
本文是我以为本次ISSCC2017 session 14中最好的一篇,给人的启示有不少,好比一款SOC能够在很是大的能效范围内调节;好比DL加速须要多少组成部件以及有几种数据复用的形式;多种bit位宽的乘法器资源复用,数据IO压缩;网络
嵌入式设备中的神经网络:从云端到终端的计算载体转移,对能效的要求提升。1-10TOPS/W的CNN计算能效是对始终在线的(Always-On)嵌入式设备运行NN的重要保证。不一样计算压力下,计算量不一样,所以能耗节省空间大[1]。session
高精度调整乘法器电压+频率:DVAS->DVAFS。基于JSSC201六、VLSI2016的DVAS工做基础,对乘法器进行优化设计,增长实现频率的调整。DVAFS实现了对运行时全部可调整参数的下降:激活a,频率f,电压v。经过采用高位x高位、低位x低位,能够在16b阵列上同时计算两个8b乘法,对于后续的不一样精度计算吞吐提高和资源利用提升起到极大的做用。架构
重点看一下本篇的架构设计:ide
在ENVISION中,数据重用分为三类:卷积重用(单一卷积核vs一张图的多图层);图像重用(多个卷积核vs一张图的单图层);卷积核重用(单一卷积核vs多张图像的多图层)。
性能
整体架构以下:整个架构包含用于ReLU/MacPool/Mac计算的1D-SIMD,专用于MAC计算的2D-SIMD,用于数据和控制的RISC主控、DMA接口、DM、PM模块等。优化
下面几张图分别介绍了卷积重用(单一卷积核vs一张图的多图层);图像重用(多个卷积核vs一张图的单图层);卷积核重用(单一卷积核vs多张图像的多图层)的方法:spa
上面这些都是很基本的计算trick,可是在一款设计中要所有作到,不少之前的设计并无作好。缘由不少,好比在作多张的时候,若是复用一张的资源就须要2X的资源,可是本文结合了4-8-16复用一套计算单元的方法——就是在低bit的时候,仍是一套资源。架构设计
几个其余特色:
关闭sparse的乘法:
芯片性能及能效表现:由上到下分为1x16b/2x8b/4x4b/30~60% 4×3~4b。能够看到scale很是大,能效相差可达40x,电压域为0.61v~0.85v。性能表如今BBopt下可达10TOPS/W。
总结[1]:
一、面向多层场景的Always-on架构
二、高能效的CNN处理架构:基于2D-SIMD;采用DVAFS技术;面向稀疏计算的检测及IO级压缩
三、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