Optimization of GPU-based Sparse Matrix Multiplication for Large Sparse Networks

被引:13
作者
Lee, Jeongmyung [1 ]
Kang, Seokwon [1 ]
Yu, Yongseung [1 ]
Jo, Yong-Yeon [1 ]
Kim, Sang-Wook [1 ]
Park, Yongjun [1 ]
机构
[1] Hanyang Univ, Dept Comp Sci, Seoul, South Korea
来源
2020 IEEE 36TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING (ICDE 2020) | 2020年
关键词
Sparse matrix multiplication; sparse network; GPU; linear algebra; EFFICIENT;
D O I
10.1109/ICDE48307.2020.00085
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Sparse matrix multiplication (spGEMM) is widely used to analyze the sparse network data, and extract important information based on matrix representation. As it contains a high degree of data parallelism, many efficient implementations using data-parallel programming platforms such as CUDA and OpenCL have been introduced on graphic processing units (GPUs). Several well-known spGEMM techniques, such as cuSPARSE and CUSP, often do not utilize the GPU resources fully, owing to the load imbalance between threads in the expansion process and high memory contention in the merge process. Furthermore, even though several outer-product-based spGEMM techniques are proposed to solve the load balancing problem on expansion, they still do not utilize the GPU resources fully, because severe computation load variations exist among the multiple thread blocks. To solve these challenges, this paper proposes a new optimization pass called Block Reorganizer, which balances the total computations of each computing unit on target GPUs, based on the outer-product-based expansion process, and reduces the memory pressure during the merge process. For expansion, it first identifies the actual computation amount for each block, and then performs two thread block transformation processes based on their characteristics: 1) B-Splitting to transform a heavy-computation blocks into multiple small blocks and 2) B Gathering to aggregate multiple small-computation blocks to a larger block. While merging, it improves the overall performance by performing B-Limiting to limit the number of blocks on each computing unit. Experimental results show that it improves the total performance of kernel execution by 1.43x, on an average, when compared to the row-product-based spGEMM, for NVIDIA Titan Xp GPUs on real-world datasets.
引用
收藏
页码:925 / 936
页数:12
相关论文
共 37 条
[1]   SIMULTANEOUS INPUT AND OUTPUT MATRIX PARTITIONING FOR OUTER-PRODUCT-PARALLEL SPARSE MATRIX-MATRIX MULTIPLICATION [J].
Akbudak, Kadir ;
Aykanat, Cevdet .
SIAM JOURNAL ON SCIENTIFIC COMPUTING, 2014, 36 (05) :C568-C590
[2]  
[Anonymous], 2010, KDD
[3]  
[Anonymous], 2011, ACM CIKM
[4]  
[Anonymous], 2010, OPENCL OP STAND PAR
[5]   Efficient Algorithm for Computing Link-based Similarity in Real World Networks [J].
Cai, Yuanzhe ;
Cong, Gao ;
Jia, Xu ;
Liu, Hongyan ;
He, Jun ;
Lu, Jiaheng ;
Du, Xiaoyong .
2009 9TH IEEE INTERNATIONAL CONFERENCE ON DATA MINING, 2009, :734-739
[6]  
Chakrabarti D, 2004, SIAM PROC S, P442
[7]  
Dalton S., 2014, Cusp: Generic parallel algorithms for sparse matrix and graph computations
[8]   Algorithm 915, SuiteSparseQR: Multifrontal Multithreaded Rank-Revealing Sparse QR Factorization [J].
Davis, Timothy A. .
ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE, 2011, 38 (01)
[9]   Link Prediction and Recommendation across Heterogeneous Social Networks [J].
Dong, Yuxiao ;
Tang, Jie ;
Wu, Sen ;
Tian, Jilei ;
Chawla, Nitesh V. ;
Rao, Jinghai ;
Cao, Huanhuan .
12TH IEEE INTERNATIONAL CONFERENCE ON DATA MINING (ICDM 2012), 2012, :181-190
[10]   Low Thread-count Gustavson: A multithreaded algorithm for sparse matrix-matrix multiplication using perfect hashing [J].
Elliott, James J. ;
Siefert, Christopher M. .
SCALA 2018: PROCEEDINGS OF 2018 IEEE/ACM 9TH WORKSHOP ON LATEST ADVANCES IN SCALABLE ALGORITHMS FOR LARGE-SCALE SYSTEMS (SCALA), 2018, :57-64