Skip to main content
QUICK REVIEW

[论文解读] Towards a Multi-array Architecture for Accelerating Large-scale Matrix Multiplication on FPGAs

Junzhong Shen, Yuran Qiao|arXiv (Cornell University)|Mar 10, 2018
Parallel Computing and Optimization Techniques参考文献 7被引用 3
一句话总结

该论文提出了一种可扩展、高度可配置的多阵列架构,通过扩展线性阵列中的处理单元(PE)及其阵列的动态配置,实现了在FPGA上大规模矩阵乘法的加速。该工作引入了一种工作窃取式负载均衡方案和一个分析模型,以确定最优设计参数,从而在AlexNet层面上实现了高达100.9 GFLOPS的性能(达到理论峰值的98.6%),且资源利用率极低。

ABSTRACT

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.

研究动机与目标

  • 解决现有线性阵列架构在FPGA上扩展大规模矩阵乘法时的局限性。
  • 实现处理单元数量和并行处理单元阵列数量的动态配置,以适应不同规模的问题。
  • 通过工作窃取方案确保多个处理单元阵列之间的负载均衡。
  • 开发一个分析模型,以确定最优设计参数(块大小和阵列数量),实现性能与内存效率的最优化。
  • 在真实世界深度学习工作负载(如AlexNet)上验证该架构的性能。

提出的方法

  • 所提出的架构采用多个通过可配置多路复用器连接的线性处理单元阵列,支持独立或协同工作模式。
  • 工作窃取方案通过在负载失衡时重新分配任务,动态平衡多个处理单元阵列之间的负载。
  • 矩阵处理引擎(MPE)为每个处理单元配备全流水线、浮点乘加单元,具有双输入寄存器和三个FIFO,用于数据流控制。
  • 分析模型估算内存带宽和数据流量,以指导块大小$S_i$和阵列数量$N_p$的最优配置。
  • 该模型使用公式9,通过固定总处理单元数($P_m \times P$)并最小化总执行时间$T_{‘total}$的范围,从而缩小设计空间。
  • 系统在Xilinx VC709 FPGA上实现,配备DDR3内存,使用Vivado 2016.4进行综合与时序分析。

实验结果

研究问题

  • RQ1如何有效扩展线性阵列架构,以在FPGA上实现大规模矩阵乘法的可扩展性?
  • RQ2哪些设计参数(块大小$S_i$,处理单元阵列数量$N_p$)能最大化性能与内存效率?
  • RQ3在计算过程中,如何缓解多个处理单元阵列之间的负载失衡问题?
  • RQ4分析模型在多大程度上能准确预测实际执行时间并指导最优配置?
  • RQ5在真实工作负载中,该多阵列架构是否优于单阵列或完全展开阵列的设计?

主要发现

  • AlexNet全连接层(fc-6)的最优配置实现了100.9 GFLOPS的性能,达到理论峰值的98.6%。
  • 尽管处理单元数量较少,$(N_p=1, S_i=32)$的配置仍优于$(N_p=2, S_i=16)$,原因是其有效内存带宽更高(1.6 GB/s vs. 1.4 GB/s)。
  • 在所有AlexNet层中,采用最优$<N_p, S_i>$配置的所提架构,均优于单阵列($N_p=1$)和完全展开阵列($N_p=4$)的配置。
  • 当内存带宽充足时,分析模型预测的下限与实际执行时间非常接近;但当处于内存受限状态时,预测值出现偏差。
  • 资源利用率始终低于50%(例如,LUTs为44.44%),支持高达200 MHz的时钟频率,并实现高效的性能扩展。
  • 工作窃取方案有效平衡了处理单元阵列之间的负载,避免了空闲周期,提升了整体利用率。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。