Me-MPK: Accelerating Krylov Subspace Solvers via Memory-efficient Matrix-Power Kernel
Haozhong Qiu, Chuanfu Xu, Jianbin Fang, Shengguo Li, Liang Deng, Jian Zhang, Zhe Dai, Yue Ding, Yue Wang, Zhimeng Han, Yonggang Che, Jie Liu
Abstract
This paper focuses on optimizing the Matrix-Power Kernel (MPK), which relies on a series of Sparse Matrix-Vector multiplications (SpMVs) using the same sparse matrix. MPK is a crucial component of Krylov subspace methods for solving large sparse linear systems in various fields, including circuit simulations. MPK offers a potential for matrix reuse in cache, which can accelerate memory-bound sparse solvers. Additionally, many sparse matrices encountered in applications are symmetric, allowing us to reduce the memory footprint for SpMVs by half. However, reusing the matrix introduces data dependencies between subsequent SpMVs, and symmetric SpMVs can result in data conflicts during shared-memory parallelization. Previous research has often focused on either matrix reuse or symmetry, failing to leverage both aspects effectively. This paper proposes a unified, memory-efficient approach called Me-MPK that takes advantage of both cache reuse and matrix symmetry for MPK on shared-memory multi-core systems. We first introduce a unified dependency graph for a sparse matrix, which represents all potential data dependencies and conflicts. Next, we perform architecture-aware recursive partitioning on this graph to create subgraphs and formulate a separating subgraph that decouples all dependencies and conflicts among the subgraphs. These independent subgraphs are then scheduled for parallel execution of SpMV or symmetric SpMV in a specified order to optimize cache reuse. We apply Me-MPK in two s-Step Krylov subspace solvers, and our evaluations show that Me-MPK significantly outperforms the current state-of-the-art solutions, delivering an average speedup of up to 2.00X and 1.86X on X86 and ARM CPUs, respectively. As a result, we achieve overall speedup in the sparse solvers of up to and .
Ask about this paper
Ask your agent about it.
Lune has read the top-tier papers around this one, so every answer names the papers it rests on.
Your agent calls
Lunesearch_papers
Free to start. No credit card required.
Terminal
Install the CLIlune papers get 6c72406e-b425-4fb3-b801-7566e2eec196Related papers
- A Diagonal Block Memory-Aware Polynomial Preconditioner for Linear and Eigenvalue SolversXiaojian Yang, Yuhui Ni, Fan Yuan, Shengguo Li et al.PPoPP 2026 · 1 citation
- A Conflict-aware Divide-and-Conquer Algorithm for Symmetric Sparse Matrix-Vector MultiplicationHaozhong Qiu, Chuanfu Xu, Jianbin Fang, Jian Zhang et al.SC 2024 · 7 citations
- Cache-aware Sparse Patterns for the Factorized Sparse Approximate Inverse PreconditionerSergi Laut, Ricard Borrell, Marc CasasHPDC 2021 · 3 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
- Bringing Order to Sparsity: A Sparse Matrix Reordering Study on Multicore CPUsJames D. Trotter, Sinan Ekmekçibasi, Johannes Langguth, Tugba Torun et al.SC 2023 · 20 citations
