Look-Up Table based Energy Efficient Processing in Cache Support for Neural Network Acceleration

这篇文章主要讲的是在CPU的SRAM上运用PIM进行加速,基于的是查表技术。
SRAM的组织方式是一个CPU对应一个SRAM切片,一个切片中有4个体,一个体中有10个子体,一个子体中有8个子阵列,一个子阵列又能分为4个子阵列分区,如下所示:
Look-Up Table based Energy Efficient Processing in Cache Support for Neural Network Acceleration 阅读
整体的设计如下所示,在SRAM中分出一些地方存查找表条目,同时存储CB(configure block),使用BCE(bFree compute engine),来运行PIM指令。Look-Up Table based Energy Efficient Processing in Cache Support for Neural Network Acceleration 阅读
下图(a)为一个原始的设计,将一个子阵列子分区的256列中的两列预留给查找表条目,但是这种设计不够省电。于是本文提出了设计(b),即添加一个预充电控制器,根据lut_en选择预充电部分,若为0即充上面的254行,为1即充下面的2行。然后两种的延迟以及能耗对比如©,看起来提升了很多。Look-Up Table based Energy Efficient Processing in Cache Support for Neural Network Acceleration 阅读
但是按照这种设定,一共有2行用于存被查找的表项,一个子阵列子分区中的表项大小为64bits * 2 = 16B。而一个子阵列中有四个子分区,所以总共可以存的表项数量为16B * 4=64B。
文中又规定了一个被查找的表项为1B,所以可以索引的值最多只有64个,确实很少。
然而哪怕只支持两个4bit宽的整数乘法,也需要 2 4 ∗ 2 4 2^4*2^4 2424=256个表项,本文使用了一篇文章中的方法,即将4位的整数分为3类,奇数,2的幂,非2的幂的偶数,输入两个数,如果其中的数属于奇数,就可以直接查表。如果是2的幂,就使用移位来实现乘法,如果是非2的幂的偶数就移位后查表。而0-15中,1可看成2的零次幂,一共只有7个奇数,所以只需要7*7=49个表项。查找表的表项如下所示。
Look-Up Table based Energy Efficient Processing in Cache Support for Neural Network Acceleration 阅读
如果要做更高精度的乘法比如8位乘,就只能拆开做四次,然后将和累加起来。实现这一逻辑的是BCE(Bfree compute engine),每一个子阵列都配备了一个。
对于除法,三角函数,指数函数,文章使用的是泰勒拓展,并没有很多的运用到查表的机制。
对于矩阵乘法,本文提出了一个运用多路选择器以及Mult ROM来实现加速的机制,就是下图:
Look-Up Table based Energy Efficient Processing in Cache Support for Neural Network Acceleration 阅读
然后在子体内,本文添加了用于子阵列互联的Router,来在SRAM上实现类似TPU的脉冲式计算,将TPU的一些工作复刻了一遍,不过我对这种不是很熟,还是没怎么弄懂。Look-Up Table based Energy Efficient Processing in Cache Support for Neural Network Acceleration 阅读
Look-Up Table based Energy Efficient Processing in Cache Support for Neural Network Acceleration 阅读

总而言之,本文在每一个SRAM中分出了一片来支持查表绕过一些运算,本文主要提到的就是乘法运算。然后添加了router,在SRAM中复刻了脉动式计算。
但是SRAM中的表是可以自己配置的只是表项很少,应该可以绕过更多运算,感觉有着很多可能。

相关文章:

  • 2021-08-13
  • 2021-11-12
  • 2021-08-21
  • 2021-04-10
  • 2021-12-31
  • 2021-12-02
  • 2021-08-18
  • 2021-04-23
猜你喜欢
  • 2021-11-08
  • 2022-01-19
  • 2021-04-22
  • 2022-01-29
  • 2021-06-12
  • 2021-05-13
  • 2021-04-05
相关资源
相似解决方案