Eyeriss中的RS(行固定)数据流
Eyeriss想必大家都读过,但是你在第一次读v1的时候可能并不清楚他所讲的RS数据流具体是什么样的。笔者在这里专门对Eyeriss v1中的RS(行固定)数据流进行详细举例说明。
原文中有关RS数据流的部分:
“Eyeriss: An Energy-Efficient Reconfigurable Accelerator for Deep Convolutional Neural Networks”中的第四段。
“Eyeriss: A Spatial Architecture for Energy-Efficient Dataflow for Convolutional Neural Networks”中的第V部分。
原文中有关RS数据流的图如下:
第一次看到原文中的描述和这几张图片笔者一脸懵逼,这数据到底是怎么流动的呢?
于是笔者亲自拿出笔纸写写画画,终于大致搞明白了PE中的数据流。在这里分享给需要了解RS数据流的人。
卷积运算大家应该都清楚,这里不必赘述。接下来直接上干货。
1D Convolution Primitives
首先对于原文中的“1D Convolution Primitives”的操作,它是把2D卷积分解成一行一行的卷积来算。每个PE里面装权重的一行和输入特征的一行,然后权重的一行和输入特征的一行进行一维卷积。举个例子:
输入特征矩阵D: