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...

Full description

Saved in:
Bibliographic Details
Main Authors Katagiri, Takahiro, Sakurai, Takao, Igai, Mitsuyoshi, Itoh, Shoji, Ohshima, Satoshi, Kuroda, Hisayasu, Naono, Ken, Nakajima, Kengo
Format Journal Article
LanguageEnglish
Published 30.04.2024
Subjects
Online AccessGet full text

Cover

Loading…
More Information
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