SpSYRK: Half the Work in Distributed Sparse Matrix Multiplication
2026-08-10 • Distributed, Parallel, and Cluster Computing
Distributed, Parallel, and Cluster Computing
AI summaryⓘ
The authors study a special kind of matrix multiplication that calculates the similarity between rows of a matrix, which is important in fields like machine learning and genomics. They notice current methods don't use the fact that the output is symmetric to save time and effort. So, they create new distributed algorithms that only calculate half the matrix and smarter communication steps to reduce work. Their methods run about twice as fast on supercomputers for certain problems and use less memory, making them good drop-in replacements in many applications.
Sparse MatrixSymmetric Rank-k Update (SYRK)Gram MatrixSparse Matrix Multiplication (SpGEMM)Distributed ComputingSparse SUMMAJaccard SimilarityMatrix SymmetryPerlmutter Supercomputer
Authors
Thomas McFarland, Julian Bellavita, Giulia Guidi
Abstract
The symmetric rank-$k$ update (SYRK), $\C = \A\A^\top$, computes the dot product between each pair of rows of $\A$, producing the Gram matrix $\C$. Its sparse variant underpins similarity search in machine learning, graph analytics, and genomics, including Jaccard similarity on datasets too large for a single node. Yet, despite the symmetry in its inputs and outputs, existing distributed sparse matrix multiplication algorithms, such as Sparse SUMMA, treat sparse SYRK as generic multiplication, leaving performance untapped. In this paper, we present distributed sparse SYRK approaches that leverage symmetry. The approach partitions the off-diagonal blocks of the output between the upper and lower triangular portions of the process grid and computes only the lower-triangular part of each diagonal block, reducing per-process communication and computation compared with state-of-the-art distributed SpGEMM. A second variant reorders communication to avoid materializing $\A^\top$. On 32 nodes of the Perlmutter supercomputer, the algorithm achieves a $2\times$ speedup over an optimized Sparse SUMMA on matrices where local multiplication dominates the runtime; the advantage narrows on communication-bound inputs, a dependence the cost model predicts from the arithmetic intensity. Our variant rectifies this and consistently achieves superior scaling at high process counts. The approach is a drop-in replacement for any application computing $\C = \A \A^\top$ via a distributed SpGEMM routine, and its triangular output can be consumed directly by subsequent operations, reducing both compute and memory footprint.