Computer Science Technical Reports
CS at VT

A Library for Pattern-based Sparse Matrix Vector Multiply

Belgin, Mehmet and Back, Godmar and Ribbens, Calvin (2009) A Library for Pattern-based Sparse Matrix Vector Multiply. Technical Report TR-09-27, Computer Science, Virginia Tech.

Full text available as:
PDF - Requires Adobe Acrobat Reader or other PDF viewer.
PBR_Technical_Report.pdf (972936)


Pattern-based Representation (PBR) is a novel approach to improving the performance of Sparse Matrix-Vector Multiply (SMVM) numerical kernels. Motivated by our observation that many matrices can be divided into blocks that share a small number of distinct patterns, we generate custom multiplication kernels for frequently recurring block patterns. The resulting reduction in index overhead significantly reduces memory bandwidth requirements and improves performance. Unlike existing methods, PBR requires neither detection of dense blocks nor zero filling, making it particularly advantageous for matrices that lack dense nonzero concentrations. SMVM kernels for PBR can benefit from explicit prefetching and vectorization, and are amenable to parallelization. The analysis and format conversion to PBR is implemented as a library, making it suitable for applications that generate matrices dynamically at runtime. We present sequential and parallel performance results for PBR on two current multicore architectures, which show that PBR outperforms available alternatives for the matrices to which it is applicable, and that the analysis and conversion overhead is amortized in realistic application scenarios.

Item Type:Departmental Technical Report
Subjects:Computer Science > Mathematical Software
ID Code:1103
Deposited By:Ribbens, Cal
Deposited On:09 January 2010