Skip to content

Commit 7ff0cb7

Browse files
committed
Arm backend: Backend test Ethos-U55/Ethos-U85
Create arm_ethos_u55 and arm_ethos_u85 test flows and add them to CI Build a semihosted runner for testing on the Corstone3x0 FVP Signed-off-by: Zingo Andersen <[email protected]> Change-Id: Icbbbf8a5e796071482a8ad0de290fbaef61e0b04
1 parent 23da52c commit 7ff0cb7

File tree

4 files changed

+24
-1
lines changed

4 files changed

+24
-1
lines changed

.ci/scripts/test_backend.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#!/usr/bin/env bash
22
# Copyright (c) Meta Platforms, Inc. and affiliates.
33
# All rights reserved.
4+
# Copyright 2025 Arm Limited and/or its affiliates.
45
#
56
# This source code is licensed under the BSD-style license found in the
67
# LICENSE file in the root directory of this source tree.
@@ -58,6 +59,12 @@ fi
5859
if [[ "$FLOW" == *arm* ]]; then
5960
# Setup ARM deps.
6061
.ci/scripts/setup-arm-baremetal-tools.sh
62+
63+
if [[ "$FLOW" == *ethos_u* ]]; then
64+
# Prepare a test runner binary that can run on the Corstone-3x0 FVPs
65+
backends/arm/scripts/build_executorch.sh
66+
backends/arm/test/setup_testing.sh
67+
fi
6168
fi
6269

6370
if [[ $IS_MACOS -eq 1 ]]; then

.github/workflows/test-backend-arm.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
uses: ./.github/workflows/_test_backend.yml
2424
with:
2525
backend: arm
26-
flows: '["arm_tosa_fp", "arm_tosa_int"]'
26+
flows: '["arm_tosa_fp", "arm_tosa_int", "arm_ethos_u55", "arm_ethos_u85"]'
2727
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
2828
timeout: 120
2929
run-linux: true

backends/test/suite/flow.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,13 +128,17 @@ def all_flows() -> dict[str, TestFlow]:
128128

129129
try:
130130
from executorch.backends.test.suite.flows.arm import (
131+
ARM_ETHOS_U55_FLOW,
132+
ARM_ETHOS_U85_FLOW,
131133
ARM_TOSA_FP_FLOW,
132134
ARM_TOSA_INT_FLOW,
133135
)
134136

135137
flows += [
136138
ARM_TOSA_FP_FLOW,
137139
ARM_TOSA_INT_FLOW,
140+
ARM_ETHOS_U55_FLOW,
141+
ARM_ETHOS_U85_FLOW,
138142
]
139143
except Exception as e:
140144
logger.info(f"Skipping ARM flow registration: {e}")

backends/test/suite/flows/arm.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,3 +58,15 @@ def create_quantize_stage() -> Quantize:
5858
common.get_tosa_compile_spec(tosa_spec="TOSA-1.0+INT"),
5959
quantize=True,
6060
)
61+
62+
ARM_ETHOS_U55_FLOW = _create_tosa_flow(
63+
"arm_ethos_u55",
64+
common.get_u55_compile_spec(),
65+
quantize=True,
66+
)
67+
68+
ARM_ETHOS_U85_FLOW = _create_tosa_flow(
69+
"arm_ethos_u85",
70+
common.get_u85_compile_spec(),
71+
quantize=True,
72+
)

0 commit comments

Comments
 (0)