Skip to content

Commit

Permalink
Arm run.sh fix with working unit tests (#6056)
Browse files Browse the repository at this point in the history
* Arm run.sh fixes (#6043)

Fixes for vela compiler version, codegen flags and non-semihosted error behaviour

* enable passing tests and remove broken split test.

Signed-off-by: Rob Elliott <robert.elliott@arm.com>

---------

Signed-off-by: Rob Elliott <robert.elliott@arm.com>
  • Loading branch information
robell authored Oct 9, 2024
1 parent af1e067 commit f3002f6
Show file tree
Hide file tree
Showing 8 changed files with 9 additions and 13 deletions.
1 change: 0 additions & 1 deletion backends/arm/test/ops/test_cat.py
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,6 @@ def test_cat_tosa_BI(self, operands: tuple[torch.Tensor, ...], dim: int):

# TODO: Remove @unittest.expectedFailure when this issue is fixed in Regor
@parameterized.expand(Cat.test_parameters)
@unittest.expectedFailure
def test_cat_u55_BI(self, operands: tuple[torch.Tensor, ...], dim: int):
test_data = (operands, dim)
self._test_cat_u55_BI_pipeline(self.Cat(), test_data)
1 change: 0 additions & 1 deletion backends/arm/test/ops/test_expand.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,5 @@ def test_expand_tosa_BI(self, test_input, multiples):

# Expected failure since tosa.TILE is unsupported by Vela.
@parameterized.expand(Expand.test_parameters)
@unittest.expectedFailure
def test_expand_u55_BI(self, test_input, multiples):
self._test_expand_tosa_u55_pipeline(self.Expand(), (test_input, multiples))
1 change: 0 additions & 1 deletion backends/arm/test/ops/test_repeat.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,5 @@ def test_repeat_tosa_BI(self, test_input, multiples):

# Expected failure since tosa.TILE is unsupported by Vela.
@parameterized.expand(Repeat.test_parameters)
@unittest.expectedFailure
def test_repeat_u55_BI(self, test_input, multiples):
self._test_repeat_tosa_u55_pipeline(self.Repeat(), (test_input, multiples))
1 change: 0 additions & 1 deletion backends/arm/test/ops/test_slice.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,5 @@ def test_slice_nhwc_tosa_BI(self, test_tensor: torch.Tensor):
# Fails during Vela compilation when trying to use a Tuple as a Named tuple,
# Could be Vela Issue, wait until Regor.
@parameterized.expand(Slice.test_tensors)
@unittest.expectedFailure
def test_slice_u55_BI(self, test_tensor: torch.Tensor):
self._test_slice_u55_BI_pipeline(self.Slice(), (test_tensor,))
7 changes: 0 additions & 7 deletions backends/arm/test/ops/test_split.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,10 +130,3 @@ def test_split_n_out_tosa_MI(self, test_data: test_data_t):
@parameterized.expand(Split.test_data)
def test_split_tosa_BI(self, test_data: test_data_t):
self._test_split_tosa_BI_pipeline(self.Split(), test_data)

# Fails during Vela compilation when trying to use a Tuple as a Named tuple,
# Could be Vela Issue, wait until Regor.
@parameterized.expand(Split.test_data)
@unittest.expectedFailure
def test_split_u55_BI(self, test_data: test_data_t):
self._test_split_u55_BI_pipeline(self.Split(), test_data)
7 changes: 6 additions & 1 deletion examples/arm/aot_arm_compiler.py
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,12 @@ def forward(self, x):
edge = edge.to_backend(
ArmPartitioner(
ArmCompileSpecBuilder()
.ethosu_compile_spec("ethos-u55-128")
.ethosu_compile_spec(
"ethos-u55-128",
system_config="Ethos_U55_High_End_Embedded",
memory_mode="Shared_Sram",
extra_flags="--debug-force-regor --output-format=raw",
)
.set_permute_memory_format(
args.model_name in MODEL_NAME_TO_MODEL.keys()
)
Expand Down
2 changes: 2 additions & 0 deletions examples/arm/executor_runner/arm_executor_runner.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -105,10 +105,12 @@ Result<BufferCleanup> prepare_input_tensors(
size_t num_inputs = method_meta.num_inputs();
size_t num_allocated = 0;

#ifdef SEMIHOSTING
ET_CHECK_OR_RETURN_ERROR(
input_buffers.size() > 0 && num_inputs == input_buffers.size(),
InvalidArgument,
"Wrong number of inputs allocated compared to method");
#endif

void** inputs =
static_cast<void**>(allocator.allocate(num_inputs * sizeof(void*)));
Expand Down
2 changes: 1 addition & 1 deletion examples/arm/setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ function setup_vela() {
if [[ ! -e ethos-u-vela ]]; then
git clone https://review.mlplatform.org/ml/ethos-u/ethos-u-vela
repo_dir="${root_dir}/ethos-u-vela"
base_rev=d362f5443f67b1e6213a9d8f124edff758efac96
base_rev=57ce18c89ccc6f6309333dccb24ed30dc68b571f
patch_repo
fi
cd "${root_dir}/ethos-u-vela"
Expand Down

0 comments on commit f3002f6

Please sign in to comment.