arrow
Return

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

delete2025-01-01
delete0
PRE
AI
V
Vasileios Titopoulos *
K
Kosmas Alexandridis
C
Christodoulos Peltekis
C
Chrysostomos Nicopoulos
G
Giorgos Dimitrakopoulos
DOI:10.1109/TC.2025.3533083delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
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.
Keywords:
Vectors
Sparse matrices
Registers
Indexes
Vector processors
Hardware
Costs
Convolutional neural networks
Runtime
Radio frequency
Structured sparsity
matrix multiplication
vector processor
custom instruction
machine learning accelerator

Journal

IEEE Transactions on Computers cover
IEEE Transactions on Computers
IF:
3.8
Papers:
5.3K
Citations:
9.8K

Organization

D
Democritus University of Thrace
Scholars:
4.8K
Papers: 3.7K
Citations: 3.8K
U
University of Cyprus
Scholars:
4.2K
Papers: 5.0K
Citations: 3