Skip to content

Arm backend: Run a minimal Cortex-M image on FVP in size test job - #24131

Open
Dox45 wants to merge 1 commit into
pytorch:mainfrom
Dox45:arm/run-size-test-on-fvp
Open

Dox45 wants to merge 1 commit into
pytorch:mainfrom
Dox45:arm/run-size-test-on-fvp

Conversation

@Dox45

@Dox45 Dox45 commented Oct 23, 2026 •

Copy link
Copy Markdown

The Cortex-M size test job only builds size_test and checks its size, so a build that links but does not run would still pass.

Following the suggestion on the issue, this uses the minimal_classic_ml example instead of executor_runner and runs without BundleIO:

  • run_fvp.sh: a cortex-m ELF can now be run directly when no --bundle is given. Bundled mode is unchanged. cortex-m85 uses Corstone-320.
  • test_arm_backend.sh: add test_minimal_classic_ml_cortex_m55, which exports a small add model, builds arm_classic_ml_runner and runs it on Corstone-300, checking the exit code and the inference-complete marker.
  • pull.yml: the bare_metal leg of test-arm-cortex-m-size-test runs it after the size check.

Tested locally: the runner boots and completes inference on Corstone-300 (exit 0), an invalid ELF fails as expected, and test_run_fvp.py passes.

Fixes #12812

cc @digantdesai @freddan80 @per @zingo @oscarandersson8218 @mansnils @Sebastian-Larsson @robell @rascani @nil-is-all

The Cortex-M size test job only builds size_test and checks its size,
so a build that links but does not run would still pass.

Let run_fvp.sh run a cortex-m ELF directly when no --bundle is given,
and add test_minimal_classic_ml_cortex_m55, which embeds a small add
model in the minimal_classic_ml runner and runs it on Corstone-300.
The bare_metal leg of the size test job now runs it after the size check.

Fixes pytorch#12812
@pytorch-bot

pytorch-bot Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

🔗 Helpful Links

🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/24131

Note: Links to docs will display an error until the docs builds have been completed.

❌ 1 New Failure, 14 Unrelated Failures

As of commit bc10c9c with merge base ea34866 (image):

NEW FAILURE - The following job has failed:

FLAKY - The following jobs failed but were likely due to flakiness present on trunk:

BROKEN TRUNK - The following jobs failed but were present on the merge base:

👉 Rebase onto the `viable/strict` branch to avoid these failures

This comment was automatically generated by Dr. CI and updates every 15 minutes.

@meta-cla

meta-cla Bot commented Oct 23, 2026

Copy link
Copy Markdown

Hi @Dox45!

Thank you for your pull request and welcome to our community.

Action Required

In order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement, and we don't seem to have one on file for you.

Process

In order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA.

Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with CLA signed. The tagging process may take up to 1 hour after signing. Please give it that time before contacting us about it.

If you have received this in error or have any questions, please contact us at cla@meta.com. Thanks!

@linux-foundation-easycla

linux-foundation-easycla Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

CLA Signed
The committers listed above are authorized under a signed CLA.

  • ✅ login: Dox45 / name: Chima Emmanuel (bc10c9c)

@github-actions github-actions Bot added ciflow/trunk module: arm Issues related to arm backend labels Oct 23, 2026
@pytorch-bot

pytorch-bot Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Workflows were awaiting approval. CI has now been triggered for the ciflow labels on this PR.

@Dox45

Dox45 commented Oct 23, 2026

Copy link
Copy Markdown
Author

@pytorchbot label "release notes: none"

@pytorch-bot pytorch-bot Bot added the release notes: none Do not include this in the release notes label Oct 23, 2026
@executorch-triage executorch-triage Bot added the community: contribution PRs coming from community (excluding hardware partners) label Oct 23, 2026
@nil-is-all
nil-is-all requested a review from zingo October 23, 2026 20:57
@nil-is-all nil-is-all added the partner: arm For backend delegation, kernels, demo, etc. from the 3rd-party partner, Arm label Oct 23, 2026
@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Oct 24, 2026
@meta-cla

meta-cla Bot commented Oct 24, 2026

Copy link
Copy Markdown

Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Meta Open Source project. Thanks!

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ciflow/trunk CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. community: contribution PRs coming from community (excluding hardware partners) module: arm Issues related to arm backend partner: arm For backend delegation, kernels, demo, etc. from the 3rd-party partner, Arm release notes: none Do not include this in the release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Arm] Size-test: Run the binary on CI

3 participants