From 9ec25d2a4aecbb533909c503a250b552cb1b06cd Mon Sep 17 00:00:00 2001 From: RJ Ascani Date: Fri, 3 Apr 2026 10:51:30 -0700 Subject: [PATCH 1/2] Update Cortex-M backend status from proof of concept to beta Co-authored-by: Claude --- backends/cortex_m/README.md | 2 +- docs/source/backends/arm-cortex-m/arm-cortex-m-overview.md | 2 +- examples/arm/cortex_m_mv2_example.ipynb | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/backends/cortex_m/README.md b/backends/cortex_m/README.md index ca370cfc0d2..fd398231cad 100644 --- a/backends/cortex_m/README.md +++ b/backends/cortex_m/README.md @@ -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 is functional and tested but APIs may change between releases. ## Overview diff --git a/docs/source/backends/arm-cortex-m/arm-cortex-m-overview.md b/docs/source/backends/arm-cortex-m/arm-cortex-m-overview.md index 101a5dbebef..c84ca8c280e 100644 --- a/docs/source/backends/arm-cortex-m/arm-cortex-m-overview.md +++ b/docs/source/backends/arm-cortex-m/arm-cortex-m-overview.md @@ -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 is functional and tested, but APIs may change between releases. ::: 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. diff --git a/examples/arm/cortex_m_mv2_example.ipynb b/examples/arm/cortex_m_mv2_example.ipynb index 9d4389a5e15..f7ddbe5a54c 100644 --- a/examples/arm/cortex_m_mv2_example.ipynb +++ b/examples/arm/cortex_m_mv2_example.ipynb @@ -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**Note that this backend is currently in beta and APIs may change between releases.**\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", @@ -179,4 +179,4 @@ }, "nbformat": 4, "nbformat_minor": 4 -} +} \ No newline at end of file From 6ffc8c67d313064e81836b8242f62f330b199983 Mon Sep 17 00:00:00 2001 From: RJ Ascani Date: Fri, 3 Apr 2026 15:38:14 -0700 Subject: [PATCH 2/2] Refine Cortex-M beta status notes with validation details Co-authored-by: Claude --- backends/cortex_m/README.md | 2 +- docs/source/backends/arm-cortex-m/arm-cortex-m-overview.md | 2 +- examples/arm/cortex_m_mv2_example.ipynb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/backends/cortex_m/README.md b/backends/cortex_m/README.md index fd398231cad..daa2447924c 100644 --- a/backends/cortex_m/README.md +++ b/backends/cortex_m/README.md @@ -1,7 +1,7 @@ # Cortex-M Backend > [!NOTE] -> Beta. This backend is functional and tested but APIs may change between releases. +> 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 diff --git a/docs/source/backends/arm-cortex-m/arm-cortex-m-overview.md b/docs/source/backends/arm-cortex-m/arm-cortex-m-overview.md index c84ca8c280e..0258d013471 100644 --- a/docs/source/backends/arm-cortex-m/arm-cortex-m-overview.md +++ b/docs/source/backends/arm-cortex-m/arm-cortex-m-overview.md @@ -1,7 +1,7 @@ # Arm Cortex-M Backend :::{note} -This backend is in **beta**. It is functional and tested, but APIs may change between releases. +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. diff --git a/examples/arm/cortex_m_mv2_example.ipynb b/examples/arm/cortex_m_mv2_example.ipynb index f7ddbe5a54c..c2fe4342773 100644 --- a/examples/arm/cortex_m_mv2_example.ipynb +++ b/examples/arm/cortex_m_mv2_example.ipynb @@ -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 in beta and APIs may change between releases.**\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",