Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion backends/cortex_m/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Cortex-M Backend

> [!NOTE]
> WIP. This is a temporary/placeholder backend for Cortex-M CPUs. It is not intended to be used in production, but rather as a proof of concept. Things will change without notice.
> Beta. This backend has been validated with a set of small models (e.g. MLPerf Tiny, MobileNetV2) and provides broad operator coverage through CMSIS-NN accelerated kernels with portable-ops fallback.

## Overview

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Arm Cortex-M Backend

:::{note}
This backend is a work-in-progress proof of concept. It is not intended for production use, and APIs may change without notice.
This backend is in **beta**. It has been validated with a set of small models (e.g. MLPerf Tiny, MobileNetV2) and provides broad operator coverage through CMSIS-NN accelerated kernels with portable-ops fallback.
:::

The Arm® Cortex®-M backend accelerates quantized model execution on Arm Cortex-M CPUs using [CMSIS-NN](https://arm-software.github.io/CMSIS-NN/latest/) optimized kernels. Unlike delegate-based backends, it operates as an operator library: quantized subgraphs are replaced with CMSIS-NN accelerated kernels during the pass-lowering stage, while unsupported operators fall back to portable fp32 kernels.
Expand Down
4 changes: 2 additions & 2 deletions examples/arm/cortex_m_mv2_example.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
{
"cell_type": "markdown",
"metadata": {},
"source": "# Cortex-M backend flow example - Running MobileNetV2\n\nThis guide demonstrates the full flow for running a module on Arm Cortex-M using ExecuTorch. \n**Note that this backend is currently WIP and things may change / break without notice.**\n\nBefore you begin:\n1. (In a clean virtual environment with a compatible Python version) Install executorch using `./install_executorch.sh`\n2. Install Arm cross-compilation toolchain and simulators using `examples/arm/setup.sh --i-agree-to-the-contained-eula`\n3. Add Arm cross-compilation toolchain and simulators to PATH using `source examples/arm/arm-scratch/setup_path.sh` \n4. Install the following pip packages: `pip install matplotlib datasets`\n\nWith all commands executed from the base `executorch` folder.\n\n\n\n*Some scripts in this notebook produce long output logs: Configuring the 'Customizing Notebook Layout' settings to enable 'Output:scrolling' and setting 'Output:Text Line Limit' makes this more manageable*\n"
"source": "# Cortex-M backend flow example - Running MobileNetV2\n\nThis guide demonstrates the full flow for running a module on Arm Cortex-M using ExecuTorch. \n\nBefore you begin:\n1. (In a clean virtual environment with a compatible Python version) Install executorch using `./install_executorch.sh`\n2. Install Arm cross-compilation toolchain and simulators using `examples/arm/setup.sh --i-agree-to-the-contained-eula`\n3. Add Arm cross-compilation toolchain and simulators to PATH using `source examples/arm/arm-scratch/setup_path.sh` \n4. Install the following pip packages: `pip install matplotlib datasets`\n\nWith all commands executed from the base `executorch` folder.\n\n\n\n*Some scripts in this notebook produce long output logs: Configuring the 'Customizing Notebook Layout' settings to enable 'Output:scrolling' and setting 'Output:Text Line Limit' makes this more manageable*\n"
},
{
"cell_type": "markdown",
Expand Down Expand Up @@ -179,4 +179,4 @@
},
"nbformat": 4,
"nbformat_minor": 4
}
}
Loading