Balanced Hashing and Efficient GPU Sparse General Matrix-Matrix Multiplication
Title | Balanced Hashing and Efficient GPU Sparse General Matrix-Matrix Multiplication |
Publication Type | Conference Paper |
Year of Publication | 2016 |
Authors | Anh, Pham Nguyen Quang, Fan, Rui, Wen, Yonggang |
Conference Name | Proceedings of the 2016 International Conference on Supercomputing |
Publisher | ACM |
Conference Location | New York, NY, USA |
ISBN Number | 978-1-4503-4361-9 |
Keywords | Algorithm, 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. |
URL | http://doi.acm.org/10.1145/2925426.2926273 |
DOI | 10.1145/2925426.2926273 |
Citation Key | anh_balanced_2016 |