Fast and Practical Strassen's Matrix Multiplication using FPGAs
<|reference_start|>Fast and Practical Strassen's Matrix Multiplication using FPGAs: Matrix multiplication is a cornerstone operation in a wide array of scientific fields, including machine learning and computer graphics. The standard algorithm for matrix multiplication has a complexity of $\mathcal{O}(n^3)$ for $n\times n$ matrices. Strassen's algorithm improves this to $\mathcal{O}(n^{2.807})$, but its practicality is limited for small to medium matrix sizes due to the large number of additions it introduces. This paper presents a novel FPGA-based implementation of Strassen's algorithm that achieves superior speed over an optimized General Matrix Multiply (GeMM) implementation for matrices as small as $n=256$. Our design, tested extensively on two high-performance FPGA accelerators (Alveo U50 and U280) across various data types, matches or surpasses the performance of a highly optimized baseline across a range of matrix sizes.<|reference_end|>
@article{ahmad2024fast,
    title={Fast and Practical Strassen's Matrix Multiplication using FPGAs},
    author={Afzal Ahmad, Linfeng Du, Wei Zhang},
    journal={arXiv preprint arXiv:2406.02088},
    year={2024},
    archivePrefix={arXiv},
    eprint={2406.02088},
    primaryClass={cs.AR}
}