Skip to main content

Supported devices

These are the reference devices Arm AI Model Optimizer uses to optimize and benchmark models. All Supported models numbers are measured on the devices listed here, so these specifications define the measurement environment.

Device specifications​

RPi5M4 MacBookAlif E8AWS Graviton4vivo X300 Pro
Full nameRaspberry Pi 5 (16 GB)MacBook Pro (Apple M4)Alif Ensemble E8 DevKitAWS Graviton4 (Neoverse V2)vivo X300 Pro
SoCBroadcom BCM2712Apple M4Alif Ensemble E8AWS Graviton4 (EC2 r8g.8xlarge)MediaTek Dimensity 9500
CPUArm Cortex-A76 ×4 @ 2.4 GHz10-core (4P + 6E)Arm Cortex-M55 (RTSS-HP, ~400 MHz)Arm Neoverse V2 ×32 vCPU @ up to 2.8 GHzArmv9.3, 8-core (C1-Ultra ×1 @ 4.21 GHz · C1-Premium ×3 @ 3.5 GHz · C1-Pro ×4 @ 2.7 GHz)
Accelerator (NPU)——Arm Ethos-U85 · 256 MAC (config Z256)——
Memory16 GB24 GB7 MB on-chip SRAM + 64 MB external OSPI256 GB12 GB
Backendexecutorch · xnnpackexecutorch · xnnpackexecutorch · ethos_uexecutorch · xnnpackexecutorch · xnnpack
OS and RuntimeDebian 12 (bookworm), kernel 6.12, aarch64macOS 15.6Bare-metal firmware (MLEK + ExecuTorch)Ubuntu 26.04 LTS, kernel 7.0.0-1009-aws, aarch64Android 16 (API 36), arm64-v8a
Graviton4 and vivo X300 Pro benchmark data

Both devices are registered and available today using np devices ls and np projects create --device graviton4|vivo_x300_pro. Original and optimized numbers in the per-model benchmark tables in [Supported models] are still being populated for these 2 devices. Check back, or measure directly with on-device profiling.

Per-device notes​

RPi5: Raspberry Pi 5 (16 GB)​

General-purpose Arm Linux SBC (BCM2712, quad Cortex-A76). Models run on the CPU through the ExecuTorch XNNPACK backend. Profiled with the executor_runner binary. See On-device profiling.

M4: MacBook (Apple M4)​

Apple silicon (M4, 10-core CPU = 4 performance + 6 efficiency). The listed backend is CPU with XNNPACK. The M4 CPU implements Arm Scalable Matrix Extension 2 (SME2), which XNNPACK uses to accelerate matmul-heavy operators; this backend does not use the chip's GPU and Neural Engine.

Alif E8: Alif Ensemble E8 DevKit​

Microcontroller-class target: Arm Cortex-M55 + Arm Ethos-U85 NPU (256 MAC), via the ExecuTorch Ethos-U backend. By default it runs in Dedicated_Sram mode: activations live in external Octal Serial Peripheral Interface (OSPI) pseudo-static random-access memory (PSRAM) with the NPU cache in on-chip SRAM. A Shared_Sram mode (everything in on-chip SRAM) is also available. Unlike XNNPACK targets, the model is compiled into the firmware, so profiling is a build + flash flow rather than a single binary.

AWS Graviton4​

Cloud instance (r8g family, Neoverse V2 core) rather than a physical board: models run through the ExecuTorch XNNPACK backend, but the executor_runner binary and .pte are copied in over scp and run over SSH inside the instance. See On-device profiling for the instance image requirement and exact steps.

CPU core count and memory scale with the instance size within the r8g family; the specs above (32 vCPU, 256 GB) reflect the specific instance type used for measurement, r8g.8xlarge, not a fixed property of "Graviton4" itself.

vivo X300 Pro​

Android phone, driven over Android Debug Bridge (ADB) from a host PC rather than a shell on the device itself. Uses the ExecuTorch XNNPACK backend and executor_runner flow, pushed to and pulled from /data/local/tmp. See On-device profiling for the adb push, run, and pull sequence.

Measuring on your own device​

Benchmark numbers here are measured by the Arm AI Model Optimizer team. To measure latency and memory on your own hardware, see On-device profiling.