Xabclib:A Fully Auto-tuned Sparse Iterative Solver

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Katagiri, Takahiro, Sakurai, Takao, Igai, Mitsuyoshi, Itoh, Shoji, Ohshima, Satoshi, Kuroda, Hisayasu, Naono, Ken, Nakajima, Kengo
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