Skip to content

Arm backend: Add Ethos-U65 support to the arm_aot_compiler.py#18939

Merged
zingo merged 1 commit intopytorch:mainfrom
zingo:Arm-backend-Add-Ethos-U65-support-to-the-arm_aot_compiler.py
Apr 16, 2026
Merged

Arm backend: Add Ethos-U65 support to the arm_aot_compiler.py#18939
zingo merged 1 commit intopytorch:mainfrom
zingo:Arm-backend-Add-Ethos-U65-support-to-the-arm_aot_compiler.py

Conversation

@zingo
Copy link
Copy Markdown
Collaborator

@zingo zingo commented Apr 16, 2026

Make it possible to generate PTE files for Ethos-U65 hardware.

cc @digantdesai @freddan80 @per @oscarandersson8218 @mansnils @Sebastian-Larsson @robell

Signed-off-by: Zingo Andersen <Zingo.Andersen@arm.com>
Change-Id: I074b7b8a989907a529b68f50e6e01a0bf53c9a63
@zingo zingo requested a review from digantdesai as a code owner April 16, 2026 10:40
Copilot AI review requested due to automatic review settings April 16, 2026 10:40
@pytorch-bot
Copy link
Copy Markdown

pytorch-bot bot commented Apr 16, 2026

🔗 Helpful Links

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

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

❗ 1 Active SEVs

There are 1 currently active SEVs. If your PR is affected, please view them below:

❌ 6 New Failures, 1 Cancelled Job, 1 Pending, 2 Unrelated Failures

As of commit c04d1b1 with merge base a43675c (image):

NEW FAILURES - The following jobs have failed:

CANCELLED JOB - The following job was cancelled. Please retry:

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 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 Apr 16, 2026
@zingo zingo added partner: arm For backend delegation, kernels, demo, etc. from the 3rd-party partner, Arm ciflow/trunk release notes: arm Changes to the ARM backend delegate labels Apr 16, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Ethos‑U65 target support to the Arm AOT compiler flow so users can generate delegated PTE/BPTE artifacts for Ethos‑U65 configurations.

Changes:

  • Extend the AOT compiler script’s supported --target list with ethos-u65-256 and ethos-u65-512.
  • Update CLI help text to include Ethos‑U65 defaults for --system_config and --memory_mode.
  • Change Ethos‑U65 default Vela system_config to Ethos_U65_High_End when omitted.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
backends/arm/scripts/aot_arm_compiler.py Adds U65 targets to CLI choices and updates help text to reflect U65 defaults.
backends/arm/ethosu/compile_spec.py Updates the default U65 Vela system_config selection logic.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread backends/arm/ethosu/compile_spec.py
Comment on lines 49 to 53
if "ethos-u65" in target_lower:
resolved_system_config = (
"Ethos_U65_SYS_DRAM_Mid" if system_config is None else system_config
"Ethos_U65_High_End" if system_config is None else system_config
)
resolved_memory_mode = "Sram_Only" if memory_mode is None else memory_mode
Copy link

Copilot AI Apr 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR changes the default system_config chosen for U65 targets; please add/adjust unit tests to lock in the expected default selection (e.g., asserting the generated compiler flags include the expected --system-config and --memory-mode when system_config/memory_mode are omitted).

Copilot uses AI. Check for mistakes.
required=False,
default=None,
help="System configuration to select from the Vela configuration file (see vela.ini). This option must match the selected target, default is for an optimal system 'Ethos_U55_High_End_Embedded'/'Ethos_U85_SYS_DRAM_High'",
help="System configuration to select from the Vela configuration file (see vela.ini). This option must match the selected target, default is for an optimal system 'Ethos_U55_High_End_Embedded'/ 'Ethos_U65_High_End' / 'Ethos_U85_SYS_DRAM_Mid'",
Copy link

Copilot AI Apr 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The --system_config help text uses inconsistent separators/spacing ("...Embedded'/ 'Ethos_U65_High_End' / 'Ethos_U85...") which makes it harder to read. Consider rewriting it as separate per-target defaults (U55/U65/U85) or using consistent punctuation.

Suggested change
help="System configuration to select from the Vela configuration file (see vela.ini). This option must match the selected target, default is for an optimal system 'Ethos_U55_High_End_Embedded'/ 'Ethos_U65_High_End' / 'Ethos_U85_SYS_DRAM_Mid'",
help="System configuration to select from the Vela configuration file (see vela.ini). This option must match the selected target. Defaults for optimal systems are: Ethos-U55: 'Ethos_U55_High_End_Embedded'; Ethos-U65: 'Ethos_U65_High_End'; Ethos-U85: 'Ethos_U85_SYS_DRAM_Mid'.",

Copilot uses AI. Check for mistakes.
@zingo zingo merged commit a489707 into pytorch:main Apr 16, 2026
564 of 599 checks passed
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. partner: arm For backend delegation, kernels, demo, etc. from the 3rd-party partner, Arm release notes: arm Changes to the ARM backend delegate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants