Towards Dynamic Autotuning of SpMV in CUSP Library

Authors

DEMEK Miroslav FILIPOVIČ Jiří

Year of publication 2024
Type Article in Proceedings
Conference IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)
MU Faculty or unit

Institute of Computer Science

Citation
Doi http://dx.doi.org/10.1109/IPDPSW63119.2024.00012
Keywords dynamic autotuning; SpMV; CUPS; Kernel Tuning Toolkit
Description Sparse matrix-vector product (SpMV) is a central operation in many iterative methods for solving linear systems and, as such, is an attractive candidate for acceleration on the GPU. However, the performance of the SpMV kernel can vary depending both on the target architecture as well as on the sparsity pattern of the matrix. Thus, to achieve optimal performance, the implementation might need to be adjusted for each particular matrix and architecture. This can be achieved through dynamic autotuning, a method that can optimize a source code during program runtime. In this paper, we present a dynamic autotuning of SpMV kernel included in a production-quality CUSP library. We identify and implement tuning parameters and use the Kernel Tuning Toolkit framework for autotuning of SpMV working with the DIA and ELL sparse matrix formats. The dynamic autotuning integration is fully transparent to the library users - it can be activated just by re-compiling software using our tunable version of the CUSP. The proposed autotuned library is evaluated by comparing it with the original CUSP kernels on a set of representative matrices and by examining the contribution of autotuning. The results show that the autotuned kernels can reach up to about 16.9 × speedup compared to a fixed implementation.
Related projects:

You are running an old browser version. We recommend updating your browser to its latest version.

More info