Exploiting Locality in Sparse Matrix-Matrix Multiplication on Many-Core Architectures

被引:28
作者
Akbudak, Kadir [1 ]
Aykanat, Cevdet [1 ]
机构
[1] Bilkent Univ, Comp Engn Dept, TR-06800 Ankara, Turkey
关键词
Data locality; sparse matrix; sparse matrix-matrix multiplication; SpGEMM; computational hypergraph model; hypergraph partitioning; hypergraph clustering; graph model; bipartite graph model; graph partitioning; graph clustering; many-core architecture; Intel Xeon Phi; IMPLEMENTATION; MODELS;
D O I
10.1109/TPDS.2017.2656893
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Exploiting spatial and temporal localities is investigated for efficient row-by-row parallelization of general sparse matrix-matrix multiplication (SpGEMM) operation of the form C = AB on many-core architectures. Hypergraph and bipartite graph models are proposed for 1D rowwise partitioning of matrix A to evenly partition the work across threads with the objective of reducing the number of B-matrix words to be transferred from the memory and between different caches. A hypergraph model is proposed for B-matrix column reordering to exploit spatial locality in accessing entries of thread-private temporary arrays, which are used to accumulate results for C-matrix rows. A similarity graph model is proposed for B-matrix row reordering to increase temporal reuse of these accumulation array entries. The proposed models and methods are tested on a wide range of sparse matrices from real applications and the experiments were carried on a 60-core Intel Xeon Phi processor, as well as a two-socket Xeon processor. Results show the validity of the models and methods proposed for enhancing the locality in parallel SpGEMM operations.
引用
收藏
页码:2258 / 2271
页数:14
相关论文
共 55 条
[1]  
Akbudak K., ACM TOPC IN PRESS
[2]   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
[3]   HYPERGRAPH PARTITIONING BASED MODELS AND METHODS FOR EXPLOITING CACHE LOCALITY IN SPARSE MATRIX- VECTOR MULTIPLICATION [J].
Akbudak, Kadir ;
Kayaaslan, Enver ;
Aykanat, Cevdet .
SIAM JOURNAL ON SCIENTIFIC COMPUTING, 2013, 35 (03) :C237-C262
[4]  
[Anonymous], 2012, DIMACS IMPLEMENTATIO
[5]  
[Anonymous], 2013, SCALABLE HETEROGENEO
[6]  
[Anonymous], 2016, MKL DEV REFERENCE
[7]  
Azad A., 2015, CORR
[8]  
Ballard G., 2013, Proceedings of the 25th ACM Symposium on Parallelism in Algorithms and Architectures. SPAA '13, P222
[9]   Brief Announcement: Hypergraph Partitioning for Parallel Sparse Matrix-Matrix Multiplication [J].
Ballard, Grey ;
Druinsky, Alex ;
Knight, Nicholas ;
Schwartz, Oded .
SPAA'15: PROCEEDINGS OF THE 27TH ACM SYMPOSIUM ON PARALLELISM IN ALGORITHMS AND ARCHITECTURES, 2015, :86-88
[10]  
Bell N., 2014, CUSP GENERIC PARALLE