Xabclib:A Fully Auto-tuned Sparse Iterative Solver
<|reference_start|>Xabclib:A Fully Auto-tuned Sparse Iterative Solver: In this paper, we propose a general application programming interface named OpenATLib for auto-tuning (AT). OpenATLib is designed to establish the reusability of AT functions. By using OpenATLib, we develop a fully auto-tuned sparse iterative solver named Xabclib. Xabclib has several novel run-time AT functions. First, the following new implementations of sparse matrix-vector multiplication (SpMV) for thread processing are implemented:(1) non-zero elements; (2) omission of zero-elements computation for vector reduction; (3) branchless segmented scan (BSS). According to the performance evaluation and the comparison with conventional implementations, the following results are obtained: (1) 14x speedup for non-zero elements and zero-elements computation omission for symmetric SpMV; (2) 4.62x speedup by using BSS. We also develop a "numerical computation policy" that can optimize memory space and computational accuracy. Using the policy, we obtain the following: (1) an averaged 1/45 memory space reduction; (2) avoidance of the "fault convergence" situation, which is a problem of conventional solvers.<|reference_end|>
@article{katagiri2024xabclib:a,
    title={Xabclib:A Fully Auto-tuned Sparse Iterative Solver},
    author={Takahiro Katagiri, Takao Sakurai, Mitsuyoshi Igai, Shoji Itoh, Satoshi
  Ohshima, Hisayasu Kuroda, Ken Naono, Kengo Nakajima},
    journal={arXiv preprint arXiv:2405.01599},
    year={2024},
    archivePrefix={arXiv},
    eprint={2405.01599},
    primaryClass={cs.MS cs.DC cs.PF}
}