arXiv · 1801.03065
Multi-threaded Sparse Matrix-Matrix Multiplication for Many-Core and GPU Architectures
Abstract
Sparse Matrix-Matrix multiplication is a key kernel that has applications in several domains such as scientific computing and graph analysis. Several algorithms have been studied in the past for this foundational kernel. In this paper, we develop parallel algorithms for sparse matrix-matrix multiplication with a focus on performance portability across different high performance computing architectures. The performance of these algorithms depend on the data structures used in them. We compare different types of accumulators in these algorithms and demonstrate the performance difference between these data structures. Furthermore, we develop a meta-algorithm, kkSpGEMM, to choose the right algorithm and data structure based on the characteristics of the problem. We show performance comparisons on three architectures and demonstrate the need for the community to develop two phase sparse matrix-matrix multiplication implementations for efficient reuse of the data structures involved.
Explore related subjects
Keep this discovery
Mehmet Deveci, Christian Trott, Sivasankaran Rajamanickam. 2018-01-09. Multi-threaded Sparse Matrix-Matrix Multiplication for Many-Core and GPU Architectures. https://arxiv.org/abs/1801.03065
Cite the original work for its findings. Save a collection to share your selection of sources.