Improving Locality in Sparse and Dense Matrix Multiplications
<|reference_start|>Improving Locality in Sparse and Dense Matrix Multiplications: Consecutive matrix multiplications are commonly used in graph neural networks and sparse linear solvers. These operations frequently access the same matrices for both reading and writing. While reusing these matrices improves data locality, it presents a challenge due to the irregular dependencies between iterations across the two multiplication operations. Existing fusion methods often introduce excessive synchronization overhead or overlapped computations with limited benefits. This paper proposes tile fusion, a runtime approach that fuses tiles of the two matrix-matrix multiplications, where at least one of the involved matrices is sparse. Tile fusion aims to improve data locality while providing sufficient workload for cores in shared-memory multi-core processors. For a pair of matrix-matrix multiplications, tile fusion outperforms unfused baseline and MKL implementations with a geometric mean speedup of 1.97$\times$ 1.64$\times$, respectively, on multi-core CPUs.<|reference_end|>
@article{dezfuli2024improving,
    title={Improving Locality in Sparse and Dense Matrix Multiplications},
    author={Mohammad Mahdi Salehi Dezfuli and Kazem Cheshmi},
    journal={arXiv preprint arXiv:2407.00243},
    year={2024},
    archivePrefix={arXiv},
    eprint={2407.00243},
    primaryClass={cs.DC}
}