-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ShiDianNao: Shifting vision processing closer to the sensor(ISCA15) #12
Comments
1. 片上缓存设计原理根据CNN计算任务的特点(一组input neurons通过一层数学计算,生成一组output neurons),设计了三类SRAM存储: 作者:杨军 |
2. NFU的PE阵列设计里,值得一提的是对Inter-PE data propagation的支持。一个NFU(Neural Functional Unit),这是一个由若干个PE组成的计算阵列。每个PE内部由一个乘法器、一个加法器、若干个寄存器、两组用于在PE阵列水平/垂直方向进行数据交互的FIFO以及一些辅助的控制逻辑组成 NFU的计算结果会输出到一个ALU,通过ALU最终写入到NBOut里。ALU里实现了一些并行度要求不那么高的运算支持,比如average pooling会用到的除法操作,以及非线性激活函数的硬件实现等。其中非线性激活函数的实现,使用了分段函数进行插值近似[8],以求在精度损失较小的情况下,获取功耗和性能的收益。 引入这层支持的考虑是减少NFU与SRAM的数据通讯量。我们回顾一下卷积层Feature Map的计算细节,会注意到同一个feature map里不同的output neuron,在stride没有超过kernel size的前提下,其输入数据存在一定的overlap,这实际上就是Inter-PE data propagation的引入动机,通过将不同的output neuron之间overlap的那部分input neuron直接在PE之间进行传播,从而减少访问SRAM的频次,可以在性能和功耗上都获得一定的收益。这个收益,会随着卷积核尺寸的增加而变得更加明显。 作者:杨军 从图中可以看的出, 一个PE算的是一个3*3卷积的最终结果,也就是一系列乘加运算结果。这里例子有四个PE,所以最后四个PE的结果是那四种不同颜色区域的四个卷积运算结果。 这种方式和TPU中的脉动整列中的PE类似,算的都是一系列乘加运算的结果,而不是四个PE算四个乘法,最后将其中三个PE的乘法结果累加到一个PE上 |
ShiDianNao: Shifting vision processing closer to the sensor
这篇论文在创新方面比不上 Diannao , Cambricon等等, 但是相对于之前论文,他在加速器设计细节上讲的非常详细!!
The text was updated successfully, but these errors were encountered: