Sparse matrix-vector multiplication on GPGPU clusters: A new storage format and a scalable implementation
Abstract
Sparse matrix-vector multiplication (spMVM) is the dominant operation in many sparse solvers. We investigate performance properties of spMVM with matrices of various sparsity patterns on the nVidia "Fermi" class of GPGPUs. A new "padded jagged diagonals storage" (pJDS) format is proposed which may substantially reduce the memory overhead intrinsic to the widespread ELLPACK-R scheme. In our test scenarios the pJDS format cuts the overall spMVM memory footprint on the GPGPU by up to 70%, and achieves 95% to 130% of the ELLPACK-R performance. Using a suitable performance model we identify performance bottlenecks on the node level that invalidate some types of matrix structures for efficient multi-GPGPU parallelization. For appropriate sparsity patterns we extend previous work on distributed-memory parallel spMVM to demonstrate a scalable hybrid MPI-GPGPU code, achieving efficient overlap of communication and computation.
Keywords
Cite
@article{arxiv.1112.5588,
title = {Sparse matrix-vector multiplication on GPGPU clusters: A new storage format and a scalable implementation},
author = {Moritz Kreutzer and Georg Hager and Gerhard Wellein and Holger Fehske and Achim Basermann and Alan R. Bishop},
journal= {arXiv preprint arXiv:1112.5588},
year = {2013}
}
Comments
10 pages, 5 figures. Added reference to other recent sparse matrix formats