skip to main content


Title: Exploiting Multiple Levels of Parallelism in Sparse Matrix-Matrix Multiplication

Sparse matrix-matrix multiplication (or SpGEMM) is a key primitive for many high-performance graph algorithms as well as for some linear solvers, such as algebraic multigrid. The scaling of existing parallel implementations of SpGEMM is heavily bound by communication. Even though 3D (or 2.5D) algorithms have been proposed and theoretically analyzed in the flat MPI model on Erdös-Rényi matrices, those algorithms had not been implemented in practice and their complexities had not been analyzed for the general case. In this work, we present the first implementation of the 3D SpGEMM formulation that exploits multiple (intranode and internode) levels of parallelism, achieving significant speedups over the state-of-the-art publicly available codes at all levels of concurrencies. We extensively evaluate our implementation and identify bottlenecks that should be subject to further research.
 [1] ;  [2] ;  [1] ;  [3] ;  [4] ;  [5] ;  [6] ;  [1]
  1. Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States)
  2. Sandia National Lab. (SNL-CA), Livermore, CA (United States); Wake Forest Univ., Winston Salem, NC (United States)
  3. Univ. of California, Berkeley, CA (United States)
  4. INRIA Paris-Rocquencourt, Alpines (France)
  5. The Hebrew Univ. (Israel)
  6. Tel Aviv Univ. (Israel)
Publication Date:
Grant/Contract Number:
Accepted Manuscript
Journal Name:
SIAM Journal on Scientific Computing
Additional Journal Information:
Journal Volume: 38; Journal Issue: 6; Journal ID: ISSN 1064-8275
Research Org:
Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States)
Sponsoring Org:
USDOE Office of Science (SC), Advanced Scientific Computing Research (ASCR) (SC-21)
Country of Publication:
United States
97 MATHEMATICS AND COMPUTING; parallel computing; numerical linear algebra; sparse matrix-matrix multiplication; 2.5D algorithms; 3D algorithms; multithreading; SpGEMM; 2D decomposition; graph algorithms
OSTI Identifier: