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...
Saved in:
Main Authors | , , , , , , , |
---|---|
Format | Journal Article |
Language | English |
Published |
30.04.2024
|
Subjects | |
Online Access | Get full text |
Cover
Loading…
Summary: | 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. |
---|---|
DOI: | 10.48550/arxiv.2405.01599 |