Performance optimization of BLAS algorithms with band matrices for RISC-V processors

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Pirova, Anna, Vodeneeva, Anastasia, Kovalev, Konstantin, Ustinov, Alexander, Kozinov, Evgeny, Liniov, Alexey, Volokitin, Valentin, Meyerov, Iosif
Format: Preprint
Veröffentlicht: 2025
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866916793699794944
author Pirova, Anna
Vodeneeva, Anastasia
Kovalev, Konstantin
Ustinov, Alexander
Kozinov, Evgeny
Liniov, Alexey
Volokitin, Valentin
Meyerov, Iosif
author_facet Pirova, Anna
Vodeneeva, Anastasia
Kovalev, Konstantin
Ustinov, Alexander
Kozinov, Evgeny
Liniov, Alexey
Volokitin, Valentin
Meyerov, Iosif
contents The rapid development of RISC-V instruction set architecture presents new opportunities and challenges for software developers. Is it sufficient to simply recompile high-performance software optimized for x86-64 onto RISC-V CPUs? Are current compilers capable of effectively optimizing C and C++ codes or is it necessary to use intrinsics or assembler? Can we analyze and improve performance without well-developed profiling tools? Do standard optimization techniques work? Are there specific RISC-V features that need to be considered? These and other questions require careful consideration. In this paper, we present our experience optimizing four BLAS algorithms for band matrix operations on RISC-V processors. We demonstrate how RISC-V-optimized implementations of OpenBLAS algorithms can be significantly accelerated through improved vectorization of computationally intensive loops. Experiments on Lichee Pi 4A and Banana Pi BPI-F3 devices using RVV 0.7.1 and RVV 1.0 vector instruction sets respectively, show speedups of 1.5x to 10x depending on the operation compared to the OpenBLAS baseline. In particular, the successful use of vector register grouping with RVV can lead to significant performance improvements.
format Preprint
id arxiv_https___arxiv_org_abs_2502_13839
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Performance optimization of BLAS algorithms with band matrices for RISC-V processors
Pirova, Anna
Vodeneeva, Anastasia
Kovalev, Konstantin
Ustinov, Alexander
Kozinov, Evgeny
Liniov, Alexey
Volokitin, Valentin
Meyerov, Iosif
Distributed, Parallel, and Cluster Computing
Performance
The rapid development of RISC-V instruction set architecture presents new opportunities and challenges for software developers. Is it sufficient to simply recompile high-performance software optimized for x86-64 onto RISC-V CPUs? Are current compilers capable of effectively optimizing C and C++ codes or is it necessary to use intrinsics or assembler? Can we analyze and improve performance without well-developed profiling tools? Do standard optimization techniques work? Are there specific RISC-V features that need to be considered? These and other questions require careful consideration. In this paper, we present our experience optimizing four BLAS algorithms for band matrix operations on RISC-V processors. We demonstrate how RISC-V-optimized implementations of OpenBLAS algorithms can be significantly accelerated through improved vectorization of computationally intensive loops. Experiments on Lichee Pi 4A and Banana Pi BPI-F3 devices using RVV 0.7.1 and RVV 1.0 vector instruction sets respectively, show speedups of 1.5x to 10x depending on the operation compared to the OpenBLAS baseline. In particular, the successful use of vector register grouping with RVV can lead to significant performance improvements.
title Performance optimization of BLAS algorithms with band matrices for RISC-V processors
topic Distributed, Parallel, and Cluster Computing
Performance
url https://arxiv.org/abs/2502.13839