Bringing Order to Sparsity: A Sparse Matrix Reordering Study on Multicore CPUs

A. Ilic,Tugba Torun,Sinan Ekmekçibaşı,James D. Trotter,D. Unat,Johannes Langguth,Emre Düzakın
DOI: https://doi.org/10.1145/3581784.3607046
2023-11-11
Abstract:Many real-world computations involve sparse data structures in the form of sparse matrices. A common strategy for optimizing sparse matrix operations is to reorder a matrix to improve data locality. However, it's not always clear whether reordering will provide benefits over the unordered matrix, as its effectiveness depends on several factors, such as structural features of the matrix, the reordering algorithm and the hardware that is used. This paper aims to establish the relationship between matrix reordering algorithms and the performance of sparse matrix operations. We thoroughly evaluate six different matrix reordering algorithms on 490 matrices across eight multicore architectures, focusing on the commonly used sparse matrix-vector multiplication (SpMV) kernel. We find that reordering based on graph partitioning provides better SpMV performance than the alternatives for a large majority of matrices, and that the resulting performance is explained through a combination of data locality and load balancing concerns.
Computer Science,Mathematics
What problem does this paper attempt to address?