Sparse matrix-vector multiplication on GPGPU clusters: A new storage format and a scalable implementation
Moritz Kreutzer, Georg Hager, Gerhard Wellein, Holger Fehske, Achim, Basermann, Alan R. Bishop

TL;DR
This paper introduces a new sparse matrix storage format and a scalable GPGPU implementation for matrix-vector multiplication, significantly reducing memory use and maintaining high performance across multiple GPUs.
Contribution
Proposes the pJDS storage format for sparse matrices and demonstrates a scalable MPI-GPGPU hybrid implementation for efficient parallel spMVM.
Findings
pJDS reduces memory footprint by up to 70%.
Achieves 95% to 130% of ELLPACK-R performance.
Demonstrates scalable multi-GPGPU parallelization.
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
