A Memory-Aware Sparse Matrix-Matrix Multiplication on Multicore Architectures
Sparse matrix–matrix multiplication (SpMM) is a fundamental operation in scientific computing with broad applications across numerous domains. Tiling is a key optimization technique for improving data locality and is widely adopted in high-performance computing. However, the irregular data access patterns inherent to SpMM make it challenging to exploit tiling effectively for data reuse. In this paper, we propose MaSpMM , a memory-aware SpMM framework that integrates cache-aware tiling with a segment-oriented data layout. MaSpMM stores matrices as continuous segments to enhance data locality within each tile. Moreover, since many sparse matrices in real-world applications exhibit symmetry, we further develop MaSpMM-Sym, an extension that recursively partitions symmetric matrices to eliminate write conflicts and further improve locality. To adapt to diverse scenarios, we finally introduce MaSpMM-Adap, which adaptively selects the most suitable approach for each input matrix. Comprehensive evaluations on both x86 and ARM CPUs demonstrate that MaSpMM-Adap achieves average speedups of up to 1.86 × over Intel oneMKL, 1.84 × over ASpT, and 1.75 × over J-Stream.
Authors
- Dezun Dong (ORCID: https://orcid.org/0000-0001-6243-8479)
- Haozhong Qiu (ORCID: https://orcid.org/0009-0009-0434-8075)
- Tiaojie Xiao (ORCID: https://orcid.org/0000-0002-8378-5530)
- Deshun Bi
- Fan Yuan
- Chuanfu Xu
- Shengguo Li
Institutions
- National University of Defense Technology (CN)
- Xiangtan University (CN)
Publication Details
- Journal
- ACM Transactions on Architecture and Code Optimization
- Published
- 2026-04-11
- DOI
- https://doi.org/10.1145/3803422
- Primary Topic
- Parallel Computing and Optimization Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00