Arrow Matrix Decomposition: A Novel Approach for Communication-Efficient Sparse Matrix Multiplication
Lukas Gianinazzi,Alexandros Nikolaos Ziogas,Langwen Huang,Piotr Luczynski,Saleh Ashkboos,Florian Scheidl,Armon Carigiet,Chio Ge,Nabil Abubaker,Maciej Besta,Tal Ben-Nun,Torsten Hoefler
DOI: https://doi.org/10.1145/3627535.3638496
2024-03-20
Abstract:We propose a novel approach to iterated sparse matrix dense matrix multiplication, a fundamental computational kernel in scientific computing and graph neural network training. In cases where matrix sizes exceed the memory of a single compute node, data transfer becomes a bottleneck. An approach based on dense matrix multiplication algorithms leads to suboptimal scalability and fails to exploit the sparsity in the problem. To address these challenges, we propose decomposing the sparse matrix into a small number of highly structured matrices called arrow matrices, which are connected by permutations. Our approach enables communication-avoiding multiplications, achieving a polynomial reduction in communication volume per iteration for matrices corresponding to planar graphs and other minor-excluded families of graphs. Our evaluation demonstrates that our approach outperforms a state-of-the-art method for sparse matrix multiplication on matrices with hundreds of millions of rows, offering near-linear strong and weak scaling.
Distributed, Parallel, and Cluster Computing