In plain words: Instead of one long chain of multipliers on a chip, this design runs several chains side by side and hands out work so none sits idle, with a formula to pick the best settings. On a real neural-network workload it found the best setup.
Abstract · Towards a Multi-array Architecture for Accelerating Large-scale Matrix Multiplication on FPGAs
Large-scale floating-point matrix multiplication is a fundamental kernel in many scientific and engineering applications. Most existing work only focus on accelerating matrix multiplication on FPGA by adopting a linear systolic array. This paper towards the extension of this architecture by proposing a scalable and highly configurable multi-array architecture. In addition, we propose a work-stealing scheme to ensure the equality in the workload partition among multiple linear arrays. Furthermore, an analytical model is developed to determine the optimal design parameters. Experiments on a real-life convolutional neural network (CNN) show that we can obtain the optimal extension of the linear array architecture.
Junzhong Shen, Yuran Qiao, You Huang, Mei Wen, Chunyuan Zhang
arXiv:1803.03790 · cs.AR · submitted Mar 10, 2018
abstract · pdf · html · This paper has been accepet by IEEE International Symposium on Circuits and Systems (ISCAS 2018)
Large-scale floating-point matrix multiplication is a fundamental kernel in many scientific and engineering applications. Most existing work only focus on accelerating matrix multiplication on FPGA by adopting a linear systolic array. This paper towards the extension of this architecture by proposing a scalable and highly configurable multi-array architecture. In addition, we propose a work-stealing scheme to ensure the equality in the workload partition among multiple linear arrays. Furthermore, an analytical model is developed to determine the optimal design parameters. Experiments on a real-life convolutional neural network (CNN) show that we can obtain the optimal extension of the linear array architecture.