Towards Offloading C/C++ Kernels and ONNX Models to CGRAs through MLIR

Fuente: Zenodo
Saved in:
Bibliographic Details
Main Authors: Neto, Nelson, Ferreira, José Pedro, Gonçalo Correia, Pedro, Rodriguez, Alfonso, Otero, Andrés, Paulino, Nuno, Bispo, João
Format: Recurso digital
Published: Zenodo 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866901899567955968
author Neto, Nelson
Ferreira, José Pedro
Gonçalo Correia, Pedro
Rodriguez, Alfonso
Otero, Andrés
Paulino, Nuno
Bispo, João
author_facet Neto, Nelson
Ferreira, José Pedro
Gonçalo Correia, Pedro
Rodriguez, Alfonso
Otero, Andrés
Paulino, Nuno
Bispo, João
contents <p>Efficient execution of Artificial Intelligence (AI) workloads in edge environments with constrained energy and compute resources is crucial due to the growing adoption of edge AI across various domains. Coarse Grained Reconfigurable Arrays (CGRAs) offer a balance between hardware specialization and flexibility, enabling instruction and data parallelism by spatially distributing computation while leveraging data locality through distributed memory. CGRAs have focused on optimizing inner loops of kernels written in programming languages like C, but since AI models are expressed in different formats, new compilation techniques are necessary to fully exploit the benefits offered by CGRAs for edge AI needs. In this paper, we present our Multi Level Intermediate Representation (MLIR) based approach to extract and compile workloads from either C/C++ or Open Neural Network Exchange (ONNX) models to a RISC-V based system with a CGRA acting as an accelerator. Data Flow Graph (DFG) representations of the extracted computations are used to generate CGRA configurations through conventional mapping, and an additional MLIR-based backend enables producing binaries where the RISC-V interfaces with the CGRA through custom instructions.</p>
format Recurso digital
id zenodo_https___doi_org_10_5281_zenodo_14924548
institution Zenodo
language
publishDate 2025
publisher Zenodo
record_format zenodo
spellingShingle Towards Offloading C/C++ Kernels and ONNX Models to CGRAs through MLIR
Neto, Nelson
Ferreira, José Pedro
Gonçalo Correia, Pedro
Rodriguez, Alfonso
Otero, Andrés
Paulino, Nuno
Bispo, João
ONNX
MLIR
RISC-V
CGRA
Compilers
<p>Efficient execution of Artificial Intelligence (AI) workloads in edge environments with constrained energy and compute resources is crucial due to the growing adoption of edge AI across various domains. Coarse Grained Reconfigurable Arrays (CGRAs) offer a balance between hardware specialization and flexibility, enabling instruction and data parallelism by spatially distributing computation while leveraging data locality through distributed memory. CGRAs have focused on optimizing inner loops of kernels written in programming languages like C, but since AI models are expressed in different formats, new compilation techniques are necessary to fully exploit the benefits offered by CGRAs for edge AI needs. In this paper, we present our Multi Level Intermediate Representation (MLIR) based approach to extract and compile workloads from either C/C++ or Open Neural Network Exchange (ONNX) models to a RISC-V based system with a CGRA acting as an accelerator. Data Flow Graph (DFG) representations of the extracted computations are used to generate CGRA configurations through conventional mapping, and an additional MLIR-based backend enables producing binaries where the RISC-V interfaces with the CGRA through custom instructions.</p>
title Towards Offloading C/C++ Kernels and ONNX Models to CGRAs through MLIR
topic ONNX
MLIR
RISC-V
CGRA
Compilers
url https://doi.org/10.5281/zenodo.14924548