Autotuning Runtime Specialization for Sparse Matrix-Vector Multiplication

Buse Yılmaz, Barış Aktemur, María Jesús Garzarán, Sam Kamin, Furkan Kıraç · ACM Transactions on Architecture and Code Optimization · 2016

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-Vector Multiplication 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.

Read the paper · More papers on PaperTik