Hypergraph partitioning for sparse matrix-matrix multiplication

Grey Ballard, Alex Druinsky, Nicholas Knight, Oded Schwartz

Research output: Contribution to journalArticlepeer-review

29 Scopus citations


We propose a fine-grained hypergraph model for sparse matrix-matrix multiplication (SpGEMM), a key computational kernel in scientific computing and data analysis whose performance is often communication bound. This model correctly describes both the interprocessor communication volume along a critical path in a parallel computation and also the volume of data moving through the memory hierarchy in a sequential computation. We show that identifying a communication-optimal algorithm for particular input matrices is equivalent to solving a hypergraph partitioning problem. Our approach is nonzero structure dependent, meaning that we seek the best algorithm for the given input matrices. In addition to our three-dimensional fine-grained model, we also propose coarse-grained one-dimensional and two-dimensional models that correspond to simpler SpGEMM algorithms. We explore the relations between our models theoretically, and we study their performance experimentally in the context of three applications that use SpGEMM as a key computation. For each application, we find that at least one coarse-grained model is as communication efficient as the fine-grained model. We also observe that different applications have affinities for different algorithms. Our results demonstrate that hypergraphs are an accurate model for reasoning about the communication costs of SpGEMM as well as a practical tool for exploring the SpGEMM algorithm design space.

Original languageAmerican English
Pages (from-to)1-34
Number of pages34
JournalACM Transactions on Parallel Computing
Issue number3
StatePublished - Dec 2016

Bibliographical note

Publisher Copyright:
© 2016 ACM.


  • Hypergraph partitioning
  • Sparse matrix-matrix multiplication


Dive into the research topics of 'Hypergraph partitioning for sparse matrix-matrix multiplication'. Together they form a unique fingerprint.

Cite this