定制化硬件让斯特拉森矩阵乘法理论加速落地
Strassen Multisystolic Array Hardware Architectures
- 设计多阵列结构,高效实现斯特拉森算法递归
- FPGA实现中每多一层递归,DSP资源节省1.14倍
- 适合需要高吞吐矩阵计算的机器学习加速器
尽管斯特拉森矩阵乘法算法降低了朴素方法的时间复杂度,但通用硬件难以实现其理论加速。本文填补空白,提出并评估新型流水线阵列架构,将斯特拉森算法的理论复杂度优势直接转化为硬件资源节省。所提架构为多流水阵列设计,可在更小矩阵尺寸(如32×32、24×24)下实现更高利用率。在FPGA上实现时,每增加一层斯特拉森递归,所需DSP资源减少1.14^r倍,总体软逻辑资源相近。在独立测试及端到端机器学习加速器中均优于基线和已有工作,达到当前最优性能。
原文摘要 · Abstract (English)
While Strassen's matrix multiplication algorithm reduces the complexity of naive matrix multiplication, general-purpose hardware is not suitable for achieving the algorithm's promised theoretical speedups. This leaves the question of if it could be better exploited in custom hardware architectures designed specifically for executing the algorithm. However, there is limited prior work on this and it is not immediately clear how to derive such architectures or if they can ultimately lead to real improvements. We bridge this gap, presenting and evaluating new systolic array architectures that efficiently translate the theoretical complexity reductions of Strassen's algorithm directly into hardware resource savings. Furthermore, the architectures are multisystolic array designs that can multiply smaller matrices with higher utilization than single-systolic array designs. The proposed designs implemented on FPGA reduce DSP requirements by a factor of $1.14^r$ for $r$ implemented Strassen recursion levels, and otherwise require overall similar soft logic resources when instantiated to support matrix sizes down to 32x32 and 24x24 at 1-2 levels of Strassen recursion, respectively. We evaluate the proposed designs both in isolation and in an end-to-end machine learning accelerator compared to baseline designs and prior works, achieving state-of-the-art performance.
Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。