Optimizing Structured-Sparse Matrix Multiplication in RISC-V Vector Processors

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Titopoulos, Vasileios, Alexandridis, Kosmas, Peltekis, Christodoulos, Nicopoulos, Chrysostomos, Dimitrakopoulos, Giorgos
Format: Preprint
Publié: 2025
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866915107610558464
author Titopoulos, Vasileios
Alexandridis, Kosmas
Peltekis, Christodoulos
Nicopoulos, Chrysostomos
Dimitrakopoulos, Giorgos
author_facet Titopoulos, Vasileios
Alexandridis, Kosmas
Peltekis, Christodoulos
Nicopoulos, Chrysostomos
Dimitrakopoulos, Giorgos
contents Structured sparsity has been proposed as an efficient way to prune the complexity of Machine Learning (ML) applications and to simplify the handling of sparse data in hardware. Accelerating ML models, whether for training, or inference, heavily relies on matrix multiplications that can be efficiently executed on vector processors, or custom matrix engines. This work aims to integrate the simplicity of structured sparsity into vector execution to speed up the corresponding matrix multiplications. Initially, the implementation of structured-sparse matrix multiplication using the current RISC-V instruction set vector extension is comprehensively explored. Critical parameters that affect performance, such as the impact of data distribution across the scalar and vector register files, data locality, and the effectiveness of loop unrolling are analyzed both qualitatively and quantitatively. Furthermore, it is demonstrated that the addition of a single new instruction would reap even higher performance. The newly proposed instruction is called vindexmac, i.e., vector index-multiply-accumulate. It allows for indirect reads from the vector register file and it reduces the number of instructions executed per matrix multiplication iteration, without introducing additional dependencies that would limit loop unrolling. The proposed new instruction was integrated in a decoupled RISC-V vector processor with negligible hardware cost. Experimental results demonstrate the runtime efficiency and the scalability offered by the introduced optimizations and the new instruction for the execution of state-of-the-art Convolutional Neural Networks. More particularly, the addition of a custom instruction improves runtime by 25% and 33% when compared with highly-optimized vectorized kernels that use only the currently defined RISC-V instructions.
format Preprint
id arxiv_https___arxiv_org_abs_2501_10189
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Optimizing Structured-Sparse Matrix Multiplication in RISC-V Vector Processors
Titopoulos, Vasileios
Alexandridis, Kosmas
Peltekis, Christodoulos
Nicopoulos, Chrysostomos
Dimitrakopoulos, Giorgos
Hardware Architecture
Structured sparsity has been proposed as an efficient way to prune the complexity of Machine Learning (ML) applications and to simplify the handling of sparse data in hardware. Accelerating ML models, whether for training, or inference, heavily relies on matrix multiplications that can be efficiently executed on vector processors, or custom matrix engines. This work aims to integrate the simplicity of structured sparsity into vector execution to speed up the corresponding matrix multiplications. Initially, the implementation of structured-sparse matrix multiplication using the current RISC-V instruction set vector extension is comprehensively explored. Critical parameters that affect performance, such as the impact of data distribution across the scalar and vector register files, data locality, and the effectiveness of loop unrolling are analyzed both qualitatively and quantitatively. Furthermore, it is demonstrated that the addition of a single new instruction would reap even higher performance. The newly proposed instruction is called vindexmac, i.e., vector index-multiply-accumulate. It allows for indirect reads from the vector register file and it reduces the number of instructions executed per matrix multiplication iteration, without introducing additional dependencies that would limit loop unrolling. The proposed new instruction was integrated in a decoupled RISC-V vector processor with negligible hardware cost. Experimental results demonstrate the runtime efficiency and the scalability offered by the introduced optimizations and the new instruction for the execution of state-of-the-art Convolutional Neural Networks. More particularly, the addition of a custom instruction improves runtime by 25% and 33% when compared with highly-optimized vectorized kernels that use only the currently defined RISC-V instructions.
title Optimizing Structured-Sparse Matrix Multiplication in RISC-V Vector Processors
topic Hardware Architecture
url https://arxiv.org/abs/2501.10189