Sparse matrix partitioning for optimizing SpMV on CPU-GPU heterogeneous platforms

Akrem Benatia, Weixing Ji*, Yizhuo Wang, Feng Shi

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

11 Citations (Scopus)

Abstract

Sparse matrix–vector multiplication (SpMV) kernel dominates the computing cost in numerous applications. Most of the existing studies dedicated to improving this kernel have been targeting just one type of processing units, mainly multicore CPUs or graphics processing units (GPUs), and have not explored the potential of the recent, rapidly emerging, CPU-GPU heterogeneous platforms. To take full advantage of these heterogeneous systems, the input sparse matrix has to be partitioned on different available processing units. The partitioning problem is more challenging with the existence of many sparse formats whose performances depend both on the sparsity of the input matrix and the used hardware. Thus, the best performance does not only depend on how to partition the input sparse matrix but also on which sparse format to use for each partition. To address this challenge, we propose in this article a new CPU-GPU heterogeneous method for computing the SpMV kernel that combines between different sparse formats to achieve better performance and better utilization of CPU-GPU heterogeneous platforms. The proposed solution horizontally partitions the input matrix into multiple block-rows and predicts their best sparse formats using machine learning-based performance models. A mapping algorithm is then used to assign the block-rows to the CPU and GPU(s) available in the system. Our experimental results using real-world large unstructured sparse matrices on two different machines show a noticeable performance improvement.

Original languageEnglish
Pages (from-to)66-80
Number of pages15
JournalInternational Journal of High Performance Computing Applications
Volume34
Issue number1
DOIs
Publication statusPublished - 1 Jan 2020

Keywords

  • CPU-GPU heterogeneous platforms
  • Sparse matrix–vector multiplication (SpMV)
  • sparse matrix partitioning

Fingerprint

Dive into the research topics of 'Sparse matrix partitioning for optimizing SpMV on CPU-GPU heterogeneous platforms'. Together they form a unique fingerprint.

Cite this