文章目錄
- 題目:Reconfigurable Convolutional Kernels for Neural Networks on FPGAs
- 時間:2019
- 會議:FPGA
- 研究機構:德國卡塞爾大學
- 參考資料:https://zhuanlan.zhihu.com/p/70359023
1 縮寫 & 引用
- SOP: sum of product
- RCM: reconfigurable constant multipliers
- SRL: shift register LUT
- CFG-LUT: configurable look-up table
- PP: partial product
- GPC: generalized parallel counter
- SOP: sum of product
2 abstract & introduction
本篇論文主要是針對基於LUT的乘法器的優化,在AI加速器上得到了應用,主要貢獻包括:
- LUT乘法器的優化:包括快速可配置的LUT、流水線的compressor樹、faithful rounding(可靠的截斷取整)、線上可配置的scheme
- 自動化的靈活的工具鏈、依靠開源的代碼生成器FloPoCo
- 乘法器兼容現有的很多卷積運算單元,可以節省資源開銷
3 方法論
3.1 通用的基於LUT的有常數乘法
一個乘的乘法,可以把按L拆成小塊,比如說按L=4拆分,這樣就變成個乘的乘法,而一個乘的乘法可以在一個LUT內部實現
之後在用加法樹加起來就好了,這裏叫做compressor tree,可能還有所優化
4 run-time可配置的CNN卷積核架構
4.1 通用架構
要求是權重不變的架構,這樣一個LUT存好數之後還可以用好多次,一個LUT負責一個乘的乘法
當權重改變的時候,需要32個時鐘週期來更新LUT,這我沒搞懂
4.2 faithfully rounded SOP
按照這個圖截斷