Parallel Algorithms for Masked Sparse Matrix-Matrix Products
Sr{\dj}an Milakovi\'c, Oguz Selvitopi, Israt Nisa, Zoran Budimli\'c,, Aydin Buluc

TL;DR
This paper introduces novel parallel algorithms and data structures for efficient Masked SpGEMM, significantly outperforming existing methods by considering mask structures and cache behavior on shared-memory systems.
Contribution
It presents new algorithms and guidelines for fast Masked SpGEMM that incorporate mask considerations directly into the computation process.
Findings
Algorithms outperform state-of-the-art in most cases
Performance depends on matrix and mask density and structure
Cache behavior significantly impacts efficiency
Abstract
Computing the product of two sparse matrices (SpGEMM) is a fundamental operation in various combinatorial and graph algorithms as well as various bioinformatics and data analytics applications for computing inner-product similarities. For an important class of algorithms, only a subset of the output entries are needed, and the resulting operation is known as Masked SpGEMM since a subset of the output entries is considered to be "masked out". Existing algorithms for Masked SpGEMM usually do not consider mask as part of multiplication and either first compute a regular SpGEMM followed by masking, or perform a sparse inner product only for output elements that are not masked out. In this work, we investigate various novel algorithms and data structures for this rather challenging and important computation, and provide guidelines on how to design a fast Masked-SpGEMM for shared-memory…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsGraph Theory and Algorithms · Advanced Graph Neural Networks · Error Correcting Code Techniques
