Replies: 2 comments
-
#include "executor.hpp" // Linker symbols for .pte in QSPI flash // Tensor arena in SRAM int main() {
} |
Beta Was this translation helpful? Give feedback.
-
Hi @asimhusain-ai ! Thank you for sharing your example. I believe there might be a few API differences compared to the current ExecuTorch runtime:
So your snippet may compile against an experimental branch, but not against the current mainline ExecuTorch :/ Thanks again for sharing it |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello !
Problem Description
I’m currently working on deploying ExecuTorch on a bare-metal microcontroller featuring an Arm Cortex-M + Ethos-U55 NPU.
The .pte model is stored in external QSPI flash and must be executed XIP.
However, when configuring the CMake build for bare-metal, the system disables all data loader extensions:
-DEXECUTORCH_BUILD_ARM_BAREMETAL=ON
-DEXECUTORCH_BUILD_EXTENSION_DATA_LOADER=OFF # (forced by compatibility)
In the current ExecuTorch examples and documentation — particularly in
backends/cadence/executor_runner.cpp
— the BufferDataLoader is the only documented method to load a .pte.
Unfortunately, this class resides in the extensions module and cannot be used in a bare-metal build. That leaves some uncertainty about how to properly load a model directly from external flash (XIP) when extensions are disabled.
I’m hoping to clarify a few key points and open discussion around the official or recommended path for this scenario.
Questions
Thanks in advance
Beta Was this translation helpful? Give feedback.
All reactions