TY - GEN
T1 - RV-CVP
T2 - 20th IFIP WG 10.3 International Conference on Network and Parallel Computing, NPC 2024
AU - Zhu, Jingyi
AU - Zhao, Di
AU - Zhang, Weifeng
AU - Jia, Zhijie
AU - Liu, Boran
AU - Chen, Guokai
N1 - Publisher Copyright:
© IFIP International Federation for Information Processing 2025.
PY - 2025
Y1 - 2025
N2 - Convolutional neural network (CNN) performs well in several research fields and achieves high accuracy. With the development of CNNs, various hardware acceleration methods have been proposed. Instruction Set Architecture (ISA) based acceleration methods are gaining attention by providing flexibility and efficiency. Meanwhile, for mobile or embedded environments, there is a preference for variable precision quantization data to meet different accuracy or performance requirements. In this paper, we design a new RISC-V ISA extension, named RV-CVP, which supports variable precision specifically for CNNs. It has 3 computational instructions for CNNs and 3 memory access instructions that closely match the computation. We implement the RV-CVP extension on the open-source processor NutShell. Then a CNN programming library is developed, which allows flexible use of the RV-CVP instructions and building CNN models. Finally, we implement our design in simulation and FPGA platforms and evaluate the code density, performance, hardware resource usage, and power consumption. The results show that the RV-CVP extension improves instruction density by up to 1.678x and program performance by up to 42.06x at the single operator level. While on real CNN models, the RV-CVP extension improves performance by 3.8x–4.4x. The code is available at https://gitee.com/OpenBPU/RV-CVP.
AB - Convolutional neural network (CNN) performs well in several research fields and achieves high accuracy. With the development of CNNs, various hardware acceleration methods have been proposed. Instruction Set Architecture (ISA) based acceleration methods are gaining attention by providing flexibility and efficiency. Meanwhile, for mobile or embedded environments, there is a preference for variable precision quantization data to meet different accuracy or performance requirements. In this paper, we design a new RISC-V ISA extension, named RV-CVP, which supports variable precision specifically for CNNs. It has 3 computational instructions for CNNs and 3 memory access instructions that closely match the computation. We implement the RV-CVP extension on the open-source processor NutShell. Then a CNN programming library is developed, which allows flexible use of the RV-CVP instructions and building CNN models. Finally, we implement our design in simulation and FPGA platforms and evaluate the code density, performance, hardware resource usage, and power consumption. The results show that the RV-CVP extension improves instruction density by up to 1.678x and program performance by up to 42.06x at the single operator level. While on real CNN models, the RV-CVP extension improves performance by 3.8x–4.4x. The code is available at https://gitee.com/OpenBPU/RV-CVP.
KW - Convolutional Neural Network
KW - RISC-V
KW - Variable Precision
UR - http://www.scopus.com/inward/record.url?scp=105002388007&partnerID=8YFLogxK
U2 - 10.1007/978-981-96-2830-8_36
DO - 10.1007/978-981-96-2830-8_36
M3 - Conference contribution
AN - SCOPUS:105002388007
SN - 9789819628292
T3 - Lecture Notes in Computer Science
SP - 461
EP - 473
BT - Network and Parallel Computing - 20th IFIP WG 10.3 International Conference, NPC 2024, Haikou, China, December 7–8, 2024, Proceedings
A2 - Chen, Xu
A2 - Min, Geyong
A2 - Guo, Deke
A2 - Xie, Xia
A2 - Pu, Lingjun
PB - Springer Science and Business Media Deutschland GmbH
Y2 - 7 December 2024 through 8 December 2024
ER -