Xabclib:A Fully Auto-tuned Sparse Iterative Solver
Abstract
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.
Keywords
Cite
@article{arxiv.2405.01599,
title = {Xabclib:A Fully Auto-tuned Sparse Iterative Solver},
author = {Takahiro Katagiri and Takao Sakurai and Mitsuyoshi Igai and Shoji Itoh and Satoshi Ohshima and Hisayasu Kuroda and Ken Naono and Kengo Nakajima},
journal= {arXiv preprint arXiv:2405.01599},
year = {2024}
}
Comments
This article was submitted to SC11, and also was published as a preprint for Research Gate in April 2011. Please refer to: https://www.researchgate.net/publication/258223774_Xabclib_A_Fully_Auto-tuned_Sparse_Iterative_Solver