SC2022Top-tier venue
Vectorizing Sparse Matrix Computations with Partially-Strided Codelets
Kazem Cheshmi, Zachary Cetinic, Maryam Mehri Dehnavi
Abstract
The compact data structures and irregular computation patterns in sparse matrix computations introduce challenges to vectorizing these codes. Available approaches primarily vectorize strided regions of computation in a sparse code. They also reorganize data and computations, at a cost, to increase the number of strided regions. In this work, we propose a locality-based codelet mining (LCM) algorithm that efficiently searches for strided and partially strided regions in sparse matrix computations for vectorization. We also present a classification of partially strided codelets along with a differentiation-based approach to generate codelets from memory accesses in the sparse computation. LCM is implemented as an inspector-executor framework called LCM I/E. It generates vectorized code for the sparse matrix-vector multiplication (SpMV) and sparse matrix times dense matrix (SpMM), kernels with parallel outermost loops, and kernels with loop-carried dependence, specifically the sparse triangular solver (SpTRSV). We demonstrate the performance of the LCM I/E-generated code for SpMV/SpMM on a set of 789 real matrices (0.1-330M nonzeros) and SpTRSV on a set of 132 symmetric positive definite matrices. LCM I/E outperforms the highly specialized library MKL with an average speedup of 1.67×, 4.1×, 1.75× for SpMV, SpTRSV, and SpMM, respectively. For the same matrices, LCM I/E outperforms the state-of-the-art inspector-executor framework Sympiler [1] for the SpTRSV kernel with an average speedup of 1.9×.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Cited by top-tier papers5
- Register Tiling for Unstructured Sparsity in Neural Network InferenceLucas Wilkinson, Kazem Cheshmi, Maryam Mehri DehnaviPLDI 2023 · 17 citations
- Runtime Composition of Iterations for Fusing Loop-carried Sparse DependenceKazem Cheshmi, Michelle Strout, Maryam Mehri DehnaviSC 2023 · 9 citations
- Mille-feuille: A Tile-Grained Mixed Precision Single-Kernel Conjugate Gradient Solver on GPUsDechuang Yang, Yuxuan Zhao, Yiduo Niu, Weile Jia et al.SC 2024 · 8 citations
- Modular Construction and Optimization of the UZP Sparse Format for SpMV on CPUsAlonso Rodríguez-Iglesias, Santoshkumar T. Tongli, Emily Tucker, Louis-Noël Pouchet et al.PLDI 2025 · 1 citation
- GALA: A High Performance Graph Neural Network Acceleration LAnguage and CompilerDamitha Lenadora, Nikhil Jayakumar, Chamika Sudusinghe, Charith MendisOOPSLA 2025 · 1 citation
Builds on1
Related papers
- SpV8: Pursuing Optimal Vectorization and Regular Computation Pattern in SpMVChenyang Li, Tian Xia, Wenzhe Zhao, Nanning Zheng et al.DAC 2021 · 17 citations
- WISE: Predicting the Performance of Sparse Matrix Vector Multiplication with Machine LearningSerif Yesil, Azin Heidarshenas, Adam Morrison, Josep TorrellasPPoPP 2023 · 33 citations
- Efficiently running SpMV on long vector architecturesConstantino Gómez, Filippo Mantovani, Erich Focht, Marc CasasPPoPP 2021 · 48 citations
- PANA: A Fine-Grained Runtime-Adaptive Load Balancing for Parallel SpMV on Multicore CPUsHaodong Bian, Youhui Zhang, Xiang Fei, Jianqiang Huang et al.PPoPP 2026 · 2 citations
- A Hardware-Software Design Framework for SpMV Acceleration with Flexible Access Pattern PortfolioZhenyu Wu, Maolin Wang, Hayden Kwok-Hay SoHPCA 2025 · 1 citation
