Polara-Keras2c: Supporting Vectorized AI Models on RISC-V Edge Devices

The rise of edge computing has introduced unique challenges for deploying efficient AI solutions in resource-limited environments. While traditional AI frameworks are powerful, they often fall short in meeting the requirements of edge computing, such as low latency, constrained computational power,...

Full description

Saved in:
Bibliographic Details
Main Authors: Nizar El Zarif, Mohammadhossein Askari Hemmat, Theo Dupuis, Jean-Pierre David, Yvon Savaria
Format: Article
Language:English
Published: IEEE 2024-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/10752931/
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1846159835334180864
author Nizar El Zarif
Mohammadhossein Askari Hemmat
Theo Dupuis
Jean-Pierre David
Yvon Savaria
author_facet Nizar El Zarif
Mohammadhossein Askari Hemmat
Theo Dupuis
Jean-Pierre David
Yvon Savaria
author_sort Nizar El Zarif
collection DOAJ
description The rise of edge computing has introduced unique challenges for deploying efficient AI solutions in resource-limited environments. While traditional AI frameworks are powerful, they often fall short in meeting the requirements of edge computing, such as low latency, constrained computational power, and energy efficiency. This paper presents Polara-Keras2c, an optimized evolution of Keras2c designed specifically for edge computing. Polara-Keras2c enhances compatibility with bare-metal systems, incorporates RISC-V vector extension optimization, and is customized for the Polara architecture. By converting pre-trained Keras models into optimized C code for bare-metal execution on edge devices, Polara-Keras2c enables advanced AI models to operate efficiently in resource-constrained environments. The framework supports fixed-point arithmetic, achieving a minimal accuracy impact of only 0.03% when tested on the MNIST dataset, and offers a streamlined approach for rapid prototyping. Experimental results reveal that Polara-Keras2c achieves up to 4.81 times faster convolution processing with a <inline-formula> <tex-math notation="LaTeX">$64\times 64$ </tex-math></inline-formula> input size compared to scalar processing, significantly enhancing computational efficiency and reducing energy consumption. These capabilities position Polara-Keras2c as a transformative tool in real-time, energy-efficient AI processing for edge devices, pushing forward the evolution of edge computing.
format Article
id doaj-art-a5a6d11e233a48b39b4d39604c3347f1
institution Kabale University
issn 2169-3536
language English
publishDate 2024-01-01
publisher IEEE
record_format Article
series IEEE Access
spelling doaj-art-a5a6d11e233a48b39b4d39604c3347f12024-11-23T00:02:16ZengIEEEIEEE Access2169-35362024-01-011217183617185210.1109/ACCESS.2024.349846210752931Polara-Keras2c: Supporting Vectorized AI Models on RISC-V Edge DevicesNizar El Zarif0https://orcid.org/0000-0001-6303-6201Mohammadhossein Askari Hemmat1Theo Dupuis2Jean-Pierre David3https://orcid.org/0000-0002-7707-0483Yvon Savaria4https://orcid.org/0000-0002-3404-9959Department of Electrical Engineering, Polytechnique Montr&#x00E9;al, Montreal, QC, CanadaDepartment of Electrical Engineering, Polytechnique Montr&#x00E9;al, Montreal, QC, CanadaDepartment of Electrical Engineering, Polytechnique Montr&#x00E9;al, Montreal, QC, CanadaDepartment of Electrical Engineering, Polytechnique Montr&#x00E9;al, Montreal, QC, CanadaDepartment of Electrical Engineering, Polytechnique Montr&#x00E9;al, Montreal, QC, CanadaThe rise of edge computing has introduced unique challenges for deploying efficient AI solutions in resource-limited environments. While traditional AI frameworks are powerful, they often fall short in meeting the requirements of edge computing, such as low latency, constrained computational power, and energy efficiency. This paper presents Polara-Keras2c, an optimized evolution of Keras2c designed specifically for edge computing. Polara-Keras2c enhances compatibility with bare-metal systems, incorporates RISC-V vector extension optimization, and is customized for the Polara architecture. By converting pre-trained Keras models into optimized C code for bare-metal execution on edge devices, Polara-Keras2c enables advanced AI models to operate efficiently in resource-constrained environments. The framework supports fixed-point arithmetic, achieving a minimal accuracy impact of only 0.03% when tested on the MNIST dataset, and offers a streamlined approach for rapid prototyping. Experimental results reveal that Polara-Keras2c achieves up to 4.81 times faster convolution processing with a <inline-formula> <tex-math notation="LaTeX">$64\times 64$ </tex-math></inline-formula> input size compared to scalar processing, significantly enhancing computational efficiency and reducing energy consumption. These capabilities position Polara-Keras2c as a transformative tool in real-time, energy-efficient AI processing for edge devices, pushing forward the evolution of edge computing.https://ieeexplore.ieee.org/document/10752931/Vector processorartificial intelligencebare metalreal-timeedge computingembedded systems
spellingShingle Nizar El Zarif
Mohammadhossein Askari Hemmat
Theo Dupuis
Jean-Pierre David
Yvon Savaria
Polara-Keras2c: Supporting Vectorized AI Models on RISC-V Edge Devices
IEEE Access
Vector processor
artificial intelligence
bare metal
real-time
edge computing
embedded systems
title Polara-Keras2c: Supporting Vectorized AI Models on RISC-V Edge Devices
title_full Polara-Keras2c: Supporting Vectorized AI Models on RISC-V Edge Devices
title_fullStr Polara-Keras2c: Supporting Vectorized AI Models on RISC-V Edge Devices
title_full_unstemmed Polara-Keras2c: Supporting Vectorized AI Models on RISC-V Edge Devices
title_short Polara-Keras2c: Supporting Vectorized AI Models on RISC-V Edge Devices
title_sort polara keras2c supporting vectorized ai models on risc v edge devices
topic Vector processor
artificial intelligence
bare metal
real-time
edge computing
embedded systems
url https://ieeexplore.ieee.org/document/10752931/
work_keys_str_mv AT nizarelzarif polarakeras2csupportingvectorizedaimodelsonriscvedgedevices
AT mohammadhosseinaskarihemmat polarakeras2csupportingvectorizedaimodelsonriscvedgedevices
AT theodupuis polarakeras2csupportingvectorizedaimodelsonriscvedgedevices
AT jeanpierredavid polarakeras2csupportingvectorizedaimodelsonriscvedgedevices
AT yvonsavaria polarakeras2csupportingvectorizedaimodelsonriscvedgedevices