Performance models for evaluation and automatic tuning of symmetric sparse matrix-vector multiply
Authors:
- 1 January 2004
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- No. 01903918,p. 169-176 vol.1
Abstract
We present optimizations for sparse matrix-vector multiply SpMV and its generalization to multiple vectors, SpMM, when the matrix is symmetric: (1) symmetric storage, (2) register blocking, and (3) vector blocking. Combined with register blocking, symmetry saves more than 50% in matrix storage. We also show performance speedups of 2.1/spl times/ for SpMV and 2.6/spl times/ for SpMM, when compared to the best nonsymmetric register blocked implementation. We present an approach for the selection of tuning parameters, based on empirical modeling and search that consists of three steps: (1) Off-line benchmark, (2) Runtime search, and (3) Heuristic performance model. This approach generally selects parameters to achieve performance with 85% of that achieved with exhaustive search. We evaluate our implementations with respect to upper bounds on performance. Our model bounds performance by considering only the cost of memory operations and using lower bounds on the number of cache misses. Our optimized codes are within 68% of the upper bounds.Keywords
This publication has 11 references indexed in Scilit:
- Modeling application performance by convolving machine signatures with application profiles2005
- Sparsity: Optimization Framework for Sparse Matrix KernelsThe International Journal of High Performance Computing Applications, 2004
- Characterizing the behavior of sparse algorithms on caches2003
- High-performance parallel implicit CFDParallel Computing, 2001
- A Scalable Cross-Platform Infrastructure for Application Performance Tuning Using Hardware Counters2000
- MEMORY HIERARCHY PERFORMANCE PREDICTION FOR BLOCKED SPARSE ALGORITHMSParallel Processing Letters, 1999
- Automatic Nonzero Structure AnalysisSIAM Journal on Computing, 1999
- Automatically Tuned Linear Algebra Software1998
- Matrix Market: a web resource for test matrix collections1997
- Optimizing matrix multiply using PHiPAC1997