Arm backend: Add Ethos-U65 support to the arm_aot_compiler.py#18939
Conversation
Signed-off-by: Zingo Andersen <Zingo.Andersen@arm.com> Change-Id: I074b7b8a989907a529b68f50e6e01a0bf53c9a63
🔗 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 SEVsThere are 1 currently active SEVs. If your PR is affected, please view them below: ❌ 6 New Failures, 1 Cancelled Job, 1 Pending, 2 Unrelated FailuresAs of commit c04d1b1 with merge base a43675c ( 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. |
There was a problem hiding this comment.
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
--targetlist withethos-u65-256andethos-u65-512. - Update CLI help text to include Ethos‑U65 defaults for
--system_configand--memory_mode. - Change Ethos‑U65 default Vela
system_configtoEthos_U65_High_Endwhen 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.
| 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 |
There was a problem hiding this comment.
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).
| 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'", |
There was a problem hiding this comment.
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.
| 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'.", |
Make it possible to generate PTE files for Ethos-U65 hardware.
cc @digantdesai @freddan80 @per @oscarandersson8218 @mansnils @Sebastian-Larsson @robell