Speculative Segmented Sum for Sparse Matrix-Vector Multiplication on Heterogeneous Processors
Niels Bohr Institute, University of Copenhagen, Blegdamsvej 17, 2100 Copenhagen, Denmark
arXiv:1504.06474 [cs.MS], (24 Apr 2015)
@article{liu2015speculative,
title={Speculative Segmented Sum for Sparse Matrix-Vector Multiplication on Heterogeneous Processors},
author={Liu, Weifeng and Vinter, Brian},
year={2015},
month={apr},
archivePrefix={"arXiv"},
primaryClass={cs.MS}
}
Sparse matrix-vector multiplication (SpMV) is a central building block for scientific software and graph applications. Recently, heterogeneous processors composed of different types of cores attracted much attention because of their flexible core configuration and high energy efficiency. In this paper, we propose a compressed sparse row (CSR) format based SpMV algorithm utilizing both types of cores in a CPU-GPU heterogeneous processor. We first speculatively execute segmented sum operations on the GPU part of a heterogeneous processor and generate a possibly incorrect results. Then the CPU part of the same chip is triggered to re-arrange the predicted partial sums for a correct resulting vector. On three heterogeneous processors from Intel, AMD and nVidia, using 20 sparse matrices as a benchmark suite, the experimental results show that our method obtains significant performance improvement over the best existing CSR-based SpMV algorithms. The source code of this work is downloadable.
April 27, 2015 by hgpu