A work-efficient parallel sparse matrix-sparse vector multiplication algorithm

被引:37
作者
Azad, Ariful [1 ]
Buluc, Aydin [1 ]
机构
[1] Lawrence Berkeley Natl Lab, Computat Res Div, Berkeley, CA 94720 USA
来源
2017 31ST IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS) | 2017年
关键词
D O I
10.1109/IPDPS.2017.76
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
We design and develop a work-efficient multithreaded algorithm for sparse matrix-sparse vector multiplication (SpMSpV) where the matrix, the input vector, and the output vector are all sparse. SpMSpV is an important primitive in the emerging GraphBLAS standard and is the workhorse of many graph algorithms including breadth-first search, bipartite graph matching, and maximal independent set. As thread counts increase, existing multithreaded SpMSpV algorithms can spend more time accessing the sparse matrix data structure than doing arithmetic. Our shared-memory parallel SpMSpV algorithm is work efficient in the sense that its total work is proportional to the number of arithmetic operations required. The key insight is to avoid each thread individually scan the list of matrix columns. Our algorithm is simple to implement and operates on existing column-based sparse matrix formats. It performs well on diverse matrices and vectors with heterogeneous sparsity patterns. A high-performance implementation of the algorithm attains up to 15x speedup on a 24-core Intel Ivy Bridge processor and up to 49x speedup on a 64-core Intel KNL manycore processor. In contrast to implementations of existing algorithms, the performance of our algorithm is sustained on a variety of different input types include matrices representing scale-free and high-diameter graphs.
引用
收藏
页码:688 / 697
页数:10
相关论文
共 20 条
[1]  
Andersen R, 2006, ANN IEEE SYMP FOUND, P475
[2]  
Azad A., 2016, P IPDPS IEEE
[3]  
Buluc A., 2011, IJHPCA, V25
[4]  
Buluc A., 2013, P IPDPS IEEE COMP SO
[5]  
Buluc A., 2008, P IPDPS APR
[6]  
Buluc Aydin, 2011, SC 11
[7]  
Buono D., 2016, Proceedings of the 2016 International Conference on Supercomputing, P37
[8]   LIBSVM: A Library for Support Vector Machines [J].
Chang, Chih-Chung ;
Lin, Chih-Jen .
ACM TRANSACTIONS ON INTELLIGENT SYSTEMS AND TECHNOLOGY, 2011, 2 (03)
[9]   The University of Florida Sparse Matrix Collection [J].
Davis, Timothy A. ;
Hu, Yifan .
ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE, 2011, 38 (01)
[10]   Graph Programming Interface (GPI): A Linear Algebra Programming Model for Large Scale Graph Computations [J].
Ekanadham, K. ;
Horn, W. P. ;
Kumar, Manoj ;
Jann, Joefon ;
Moreira, Jose ;
Pattnaik, Pratap ;
Serrano, Mauricio ;
Tanase, Gabriel ;
Yu, Hao .
PROCEEDINGS OF THE ACM INTERNATIONAL CONFERENCE ON COMPUTING FRONTIERS (CF'16), 2016, :72-81