Runtime specialization is used for optimizing programs based on partial information available only at runtime. In this paper we apply autotuning on runtime specialization of Sparse Matrix-VectorMultiplication to predict a best specialization method among several. In 91% to 96% of the predictions, either the best or the second-best method is chosen. Predictions achieve average speedups that are very close to the speedups achievable when only the best methods are used. By using an efficient code generator and a carefully designed set of matrix features, we show the runtime costs can be amortized to bring performance benefits for many real-world cases.
|ACM Transactions on Architecture and Code Optimization
|Published - Mar 2016
- Runtime code generation
- Sparse matrix-vector multiplication
ASJC Scopus subject areas
- Information Systems
- Hardware and Architecture