Who is this for?

This is an advanced topic for developers and performance engineers who deploy ExecuTorch models on Arm devices and want to understand and reduce inference latency.

What will you learn?

Upon completion of this Learning Path, you will be able to:

  • Understand how SME2 acceleration changes the performance profile of ExecuTorch models by reducing compute-bound bottlenecks
  • Interpret operator-level and operator-category breakdowns (for example, convolution, GEMM, data movement, and other operators)
  • Identify which operators benefit most from SME2 acceleration and which operators become the new performance bottlenecks
  • Apply a model-agnostic profiling workflow that you reuse across different models and deployments
  • Make evidence-based optimization decisions by comparing execution profiles with SME2 enabled and disabled

Prerequisites

Before starting, you will need the following:

  • An Apple Silicon macOS host with Python 3.9 or later and CMake 3.29 or later
  • Basic familiarity with ExecuTorch or PyTorch
  • Optionally, an Android device with Armv9 and SME2 support for on-device testing (if used, configure power management settings to ensure consistent performance measurements)

Summary

AI-assisted

This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
You’ll profile ExecuTorch models on Arm with SME2 acceleration using a repeatable workflow. You’ll set up macOS, build SME2-enabled and SME2-disabled runner binaries, and export a model to .pte. You’ll run timing-only and trace-enabled passes to capture operator and category breakdowns for convolution, GEMM, and data movement. Then, you’ll compare the profiles to identify SME2 gains and new bottlenecks, and use structured agent skills to automate and validate the workflow.

Frequently asked questions

AI-assisted

These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
How do I know SME2 acceleration is active in my run?
Build separate runner binaries with SME2 enabled and disabled, then compare their profiles. The operator-category breakdown shows whether the SME2-enabled run shifts time away from compute-bound operators.
What do I need in place before running the profiling steps?
Prepare an exported .pte model and two ExecuTorch runner binaries, one with SME2 enabled and one with SME2 disabled. Complete model-specific input and output handling during onboarding.
What result should I expect from the timing-only and trace-enabled runs?
The timing-only run provides end-to-end latency. The trace-enabled run produces operator-level and operator-category breakdowns for pinpointing bottlenecks.
Where can I find a concrete example of model onboarding and export?
Use executorch/examples/models/efficient_sam as a model-onboarding example. It demonstrates the full process, including input and output details, and provides a template for your model.
How do the agent skills help automate this workflow?
Agent skills define inputs, actions, expected outputs, and validation checks for each profiling task. Use them with an AI coding assistant or CI to run the pipeline and verify required artifacts and checks.
Next