Visible to the public Balanced Hashing and Efficient GPU Sparse General Matrix-Matrix Multiplication

TitleBalanced Hashing and Efficient GPU Sparse General Matrix-Matrix Multiplication
Publication TypeConference Paper
Year of Publication2016
AuthorsAnh, Pham Nguyen Quang, Fan, Rui, Wen, Yonggang
Conference NameProceedings of the 2016 International Conference on Supercomputing
PublisherACM
Conference LocationNew York, NY, USA
ISBN Number978-1-4503-4361-9
KeywordsAlgorithm, composability, GPU, hash algorithms, Metrics, Performance optimization, pubcrawl, Resiliency, Scalability, Sparse matrix-matrix multiplication
Abstract

General sparse matrix-matrix multiplication (SpGEMM) is a core component of many algorithms. A number of recent works have used high throughput graphics processing units (GPUs) to accelerate SpGEMM. However, exploiting the power of GPUs for SpGEMM requires addressing a number of challenges, including highly imbalanced workloads and large numbers of inefficient random global memory accesses. This paper presents a SpGEMM algorithm which uses several novel techniques to overcome these problems. We first propose two low cost methods to achieve perfect load balancing during the most expensive step in SpGEMM. Next, we show how to eliminate nearly all random global memory accesses using shared memory based hash tables. To optimize the performance of the hash tables, we propose a lightweight method to estimate the number of nonzeros in the output matrix. We compared our algorithm to the CUSP, CUSPARSE and the state-of-the-art BHSPARSE GPU SpGEMM algorithms, and show that it performs 5.6x, 2.4x and 1.5x better on average, and up to 11.8x, 9.5x and 2.5x better in the best case, respectively. Furthermore, we show that our algorithm performs especially well on highly imbalanced and unstructured matrices.

URLhttp://doi.acm.org/10.1145/2925426.2926273
DOI10.1145/2925426.2926273
Citation Keyanh_balanced_2016