Auto-tuning RISC-V Vectorized convolutions in oneDNN - Jönsson, Samuel (My University, 2024)
Convolutional Neural Networks are an essential part in deep learning tasks such as image recognition and object detection. The open-source RISC-V ISA with its vector extension offers a great opportunity for optimizing convolution algorithms on high-performance systems. The objective of this thesis was to implement previously vectorized convolution algorithms in a deep learning library called oneDNN and develop a state-of-the-art auto-tuner to further optimize the performance. The algorithms im2col+GEMM were executed and tested on the QEMU emulator running RISC-V Vector Extension 1.0. Four different machine learning models were evaluated for their accuracy and predictive power to auto-tune the algorithms. The results show significant improvement in both execution time and instruction efficiency compared to naive implementations and implementations that didn’t use auto-tuning. The thesis concludes that using a random forest model to auto-tune the convolution algorithm configurations generates the most accurate predictions. Furthermore, the thesis demonstrates the effectiveness of utilizing RISC-V Vector instructions and auto-tuning to optimize im2col+GEMM in oneDNN.
Keywords: Convolutions; Neural Networks; Auto-tuning; Vectorized instructions; QEMU; RISC-V; Thesis; Computer Engineering; Computer Science