English

Fast and Practical Strassen's Matrix Multiplication using FPGAs

Hardware Architecture 2024-06-05 v1

Abstract

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 O(n3)\mathcal{O}(n^3) for n×nn\times n matrices. Strassen's algorithm improves this to O(n2.807)\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=256n=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.

Keywords

Cite

@article{arxiv.2406.02088,
  title  = {Fast and Practical Strassen's Matrix Multiplication using FPGAs},
  author = {Afzal Ahmad and Linfeng Du and Wei Zhang},
  journal= {arXiv preprint arXiv:2406.02088},
  year   = {2024}
}

Comments

Accepted at 34th International Conference on Field-Programmable Logic and Applications (FPL 2024), 7 pages

R2 v1 2026-06-28T16:52:35.876Z