Parallel sparse matrix-matrix multiplication and indexing: Implementation and experiments

A Buluç, JR Gilbert - SIAM Journal on Scientific Computing, 2012 - SIAM
SIAM Journal on Scientific Computing, 2012SIAM
Generalized 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. Here we show that SpGEMM also yields efficient algorithms for general sparse-
matrix indexing in distributed memory, provided that the underlying SpGEMM
implementation is sufficiently flexible and scalable. We demonstrate that our parallel
SpGEMM methods, which use two-dimensional block data distributions with serial …
Generalized 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. Here we show that SpGEMM also yields efficient algorithms for general sparse-matrix indexing in distributed memory, provided that the underlying SpGEMM implementation is sufficiently flexible and scalable. We demonstrate that our parallel SpGEMM methods, which use two-dimensional block data distributions with serial hypersparse kernels, are indeed highly flexible, scalable, and memory-efficient in the general case. This algorithm is the first to yield increasing speedup on an unbounded number of processors; our experiments show scaling up to thousands of processors in a variety of test scenarios.
Society for Industrial and Applied Mathematics