基于脉动阵列的矩阵乘法加速(FPGA)
原本准备做FADDEV求逆矩阵算法的FPGA实现,其中有一个概念挺吸引人,就是:脉动阵列。
1、脉动阵列
先来讲讲脉动阵列的概念,脉动阵列其实是一种处理单元的结构。数据同步流过,能够减小降低重复访问,调高处理效率和资源消耗。
其实这是个比较旧的概念了,1982就有学者提出了。18年谷歌提出的TPU(Tensor Processing Unit)让这个概念回到大众视野,通过脉动阵列可以设计完成矩阵乘法和卷积的操作。今天先讲讲矩阵乘法的实现。
2、脉动阵列结构
我们直接上图来讲解脉动阵列的结构。图源来自(§4脉动阵列处理机 - 百度文库 (baidu.com))
先设两个进行叉乘的矩阵
这里就不讲矩阵的乘法怎么运算了,基本的线性代数知识。
上图即为脉动阵列进行矩阵乘法时的布局。这里讲一下,图中每一个处