SoftwareX (Sep 2024)
Morpheus: A library for efficient runtime switching of sparse matrix storage formats
Abstract
Sparse matrix storage formats have evolved over the years to better exploit the particular strengths of different hardware architectures or to better match the sparsity patterns of matrices, with the aim to optimize operations on the matrices. However, the integration of new formats in existing source code is an invasive procedure that often requires a complete re-writing of the code. Morpheus introduces a framework that abstracts the notion of the different formats in order to optimize the performance of the sparse operations and increase the user’s productivity by seamlessly matching the underlying data-structure to the computation at runtime, with minimal overheads.