Xabclib:A Fully Auto-tuned Sparse Iterative Solver
Fuente:
arXiv
Gespeichert in:
| Hauptverfasser: | , , , , , , , |
|---|---|
| Format: | Preprint |
| Veröffentlicht: |
2024
|
| Schlagworte: | |
| Online-Zugang: | |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| _version_ | 1866913339871854592 |
|---|---|
| author | Katagiri, Takahiro Sakurai, Takao Igai, Mitsuyoshi Itoh, Shoji Ohshima, Satoshi Kuroda, Hisayasu Naono, Ken Nakajima, Kengo |
| author_facet | Katagiri, Takahiro Sakurai, Takao Igai, Mitsuyoshi Itoh, Shoji Ohshima, Satoshi Kuroda, Hisayasu Naono, Ken Nakajima, Kengo |
| contents | 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. |
| format | Preprint |
| id |
arxiv_https___arxiv_org_abs_2405_01599 |
| institution | arXiv |
| publishDate | 2024 |
| record_format | arxiv |
| spellingShingle | Xabclib:A Fully Auto-tuned Sparse Iterative Solver Katagiri, Takahiro Sakurai, Takao Igai, Mitsuyoshi Itoh, Shoji Ohshima, Satoshi Kuroda, Hisayasu Naono, Ken Nakajima, Kengo Mathematical Software Distributed, Parallel, and Cluster Computing Performance 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. |
| title | Xabclib:A Fully Auto-tuned Sparse Iterative Solver |
| topic | Mathematical Software Distributed, Parallel, and Cluster Computing Performance |
| url | https://arxiv.org/abs/2405.01599 |