Implement ONNX AI kernels for semidynamics' RISC-V atrevido core

Artificial Intelligence (AI) has become a fundamental element of contemporary technological progress, with Convolutional Neural Networks (CNNs) being a pivotal breakthrough in the field of image and pattern recognition, thanks to their ability to automatically learn spatial hierarchies of features f...

Descripción completa

Detalles Bibliográficos
Autor: Galarza Burguete, Julen
Tipo de recurso: tesis de maestría
Fecha de publicación:2024
País:España
Institución:Universitat Politècnica de Catalunya (UPC)
Repositorio:UPCommons. Portal del coneixement obert de la UPC
Idioma:inglés
OAI Identifier:oai:upcommons.upc.edu:2117/418201
Acceso en línea:https://hdl.handle.net/2117/418201
Access Level:acceso abierto
Palabra clave:Inference
Neural networks (Computer science)
RISC microprocessors
Intel·ligència Artificial
Convolució
Xarxes Neuronals Convolucionals
CNN
ONNX
Inferència
Xarxes Neuronals
Semidynamics
Atrevido
RISC-V
Vector Unit
Quantització
QLinearConv
Conv
YOLO
im2col
Artificial Intelligence
Convolution
Convolutional Neural Networks
inference
Neural Networks
Quantization
Xarxes neuronals (Informàtica)
RISC (Microprocessadors)
Àrees temàtiques de la UPC::Informàtica::Intel·ligència artificial::Aprenentatge automàtic
Descripción
Sumario:Artificial Intelligence (AI) has become a fundamental element of contemporary technological progress, with Convolutional Neural Networks (CNNs) being a pivotal breakthrough in the field of image and pattern recognition, thanks to their ability to automatically learn spatial hierarchies of features from input data. In the context of AI and CNNs, interoperability and model optimization are crit- ical. The Open Neural Network Exchange Runtime (ONNX Runtime) provides a robust, open-source format that enables models to be used across vari- ous platforms seamlessly. ONNX Runtime facilitates the inference process, which is the use of pre-trained models with new input data, and optimizes the execution across different hardware, making AI more accessible and efficient. The convolution kernel, fundamental function to CNNs, involves the processing of input data through filters to extract features, and it is essential for tasks such as image classification. The conv operator in ONNX represents this operation, while QLinearConv extends it by incorporating quantization, which reduces model size and computational requirements without significantly compromising accuracy. In the pursuit of enhancing the computational efficiency of Convolutional Neu- ral Networks (CNNs), this thesis presents the implementation of the conv and QLinearConv operators from the Open Neural Network Exchange (ONNX), specif- ically optimized for Semidynamics' Atrevido core. Leveraging RISC-V vector instructions, the code has been optimized to significantly improve the inference time of CNN models.