diff --git a/backends/arm/requirements-arm-ethos-u.txt b/backends/arm/requirements-arm-ethos-u.txt index 821fb46bea1..4df0ceb67c5 100644 --- a/backends/arm/requirements-arm-ethos-u.txt +++ b/backends/arm/requirements-arm-ethos-u.txt @@ -3,5 +3,5 @@ # This source code is licensed under the BSD-style license found in the # LICENSE file in the root directory of this source tree. -ethos-u-vela == 4.4.1 +ethos-u-vela == 4.5.0 pte-adapter-model-explorer == 0.0.2 diff --git a/backends/arm/test/misc/test_conv_relu_residual_add.py b/backends/arm/test/misc/test_conv_relu_residual_add.py index c5aa094292b..982cc1e75db 100644 --- a/backends/arm/test/misc/test_conv_relu_residual_add.py +++ b/backends/arm/test/misc/test_conv_relu_residual_add.py @@ -76,13 +76,6 @@ def test_conv_relu_residual_add_tosa_INT(per_channel_quantization): pipeline.run() -# TODO: Xfail until the Ethos-U Vela compiler ships commit -# 642f7517d3a6bd053032e1942822f6e38ccd546f. That patch fixes the bug that -# causes this test to fail. -@pytest.mark.xfail( - reason=("Blocked by Vela commit 642f7517d3a6bd053032e1942822f6e38ccd546f"), - strict=True, -) @pytest.mark.slow @common.XfailIfNoCorstone300 @common.parametrize("per_channel_quantization", quant_test_data) diff --git a/backends/arm/test/ops/test_linear.py b/backends/arm/test/ops/test_linear.py index d7cf4eb46b0..77e512cdf2f 100644 --- a/backends/arm/test/ops/test_linear.py +++ b/backends/arm/test/ops/test_linear.py @@ -299,25 +299,7 @@ def test_linear_16a8w_tosa_INT(test_data: torch.Tensor): pipeline.run() -x_fails = {} -x_skips = {} - -for test_name in [ - "model_linear_rank4_zeros", - "model_linear_rank4_negative_ones", - "model_linear_rank4_negative_large_rand", -]: - for set_per_chan in ["True", "False"]: - key = test_name + ",per_channel_quant={}".format(set_per_chan) - reason = ( - "MLETORCH-1452: AssertionError: Output 0 does not match reference output." - ) - x_fails[key] = reason - # TODO: Check why xfail doesn't work for this buck target. In the interim rely on skip - x_skips[key] = reason - - -@common.parametrize("test_data", test_data_all_16a8w, xfails=x_fails, skips=x_skips) +@common.parametrize("test_data", test_data_all_16a8w) @common.XfailIfNoCorstone300 def test_linear_16a8w_u55_INT(test_data: torch.Tensor): """Test linear operation with 16A8W quantization on U55 (16-bit activations, 8-bit weights)""" diff --git a/backends/arm/test/ops/test_matmul.py b/backends/arm/test/ops/test_matmul.py index 9f160f9e8c8..c9d5665f84c 100644 --- a/backends/arm/test/ops/test_matmul.py +++ b/backends/arm/test/ops/test_matmul.py @@ -137,9 +137,6 @@ def test_matmul_u55_INT(test_data: input_t1): @common.parametrize( "test_data", MatMulSingleInput.test_data_generators, - xfails={ - "rand_4d": "MLBEDSW-11228: Matmul output diff between 1 input vs 2 identical inputs" - }, ) @common.XfailIfNoCorstone300 def test_matmul_u55_INT_single_input(test_data: input_t1): @@ -156,9 +153,6 @@ def test_matmul_u55_INT_single_input(test_data: input_t1): @common.parametrize( "test_data", MatMulCombo.test_data_generators, - xfails={ - "rand_rand_rand_4d": "MLBEDSW-11228: Matmul output diff between 1 input vs 2 identical inputs" - }, ) @common.XfailIfNoCorstone300 def test_matmul_u55_INT_combo(test_data: input_t1): @@ -188,9 +182,6 @@ def test_matmul_u85_INT(test_data: input_t1): @common.parametrize( "test_data", MatMulSingleInput.test_data_generators, - xfails={ - "rand_4d": "MLBEDSW-11228: Matmul output diff between 1 input vs 2 identical inputs" - }, ) @common.XfailIfNoCorstone320 def test_matmul_u85_INT_single_input(test_data: input_t1): @@ -207,9 +198,6 @@ def test_matmul_u85_INT_single_input(test_data: input_t1): @common.parametrize( "test_data", MatMulCombo.test_data_generators, - xfails={ - "rand_rand_rand_4d": "MLBEDSW-11228: Matmul output diff between 1 input vs 2 identical inputs" - }, ) @common.XfailIfNoCorstone320 def test_matmul_u85_INT_combo(test_data: input_t1): diff --git a/backends/arm/test/ops/test_rsqrt.py b/backends/arm/test/ops/test_rsqrt.py index b6a8ff687b7..d2e805f92bd 100644 --- a/backends/arm/test/ops/test_rsqrt.py +++ b/backends/arm/test/ops/test_rsqrt.py @@ -8,7 +8,6 @@ from typing import Tuple -import pytest import torch from executorch.backends.arm.test import common @@ -124,10 +123,7 @@ def test_rsqrt_tosa_INT_a16w8(test_tensor: torch.Tensor): @common.parametrize("test_tensor", Rsqrt.test_parameters) @common.XfailIfNoCorstone300 -@pytest.mark.xfail( - reason="MLETORCH-707: AssertionError: Output 0 does not match reference output." -) -def test_rsqrt_16a8w_u55_INT(test_tensor: torch.Tensor): +def test_rsqrt_16a8w_u55_INT16(test_tensor: torch.Tensor): """Test rsqrt operation with int16 I/O quantization for U55""" # Use wider tolerances for int16 I/O quantization on U55 pipeline = EthosU55PipelineINT[input_t1]( diff --git a/backends/arm/test/ops/test_sigmoid.py b/backends/arm/test/ops/test_sigmoid.py index 17d2b8cc83e..29bf0377f50 100644 --- a/backends/arm/test/ops/test_sigmoid.py +++ b/backends/arm/test/ops/test_sigmoid.py @@ -8,7 +8,6 @@ from typing import Tuple -import pytest import torch from executorch.backends.arm.quantizer.arm_quantizer import ( get_symmetric_a16w8_quantization_config, @@ -312,10 +311,7 @@ def test_sigmoid_16a8w_tosa_INT(test_data: torch.Tensor): @common.parametrize("test_data", test_data_suite) @common.XfailIfNoCorstone300 -@pytest.mark.xfail( - reason="MLETORCH-707: AssertionError: Output 0 does not match reference output." -) -def test_sigmoid_16a8w_u55_INT(test_data: torch.Tensor): +def test_sigmoid_16a8w_u55_INT16(test_data: torch.Tensor): """Test sigmoid operation with 16A8W quantization on U55 (16-bit activations, 8-bit weights)""" per_channel_quantization = False diff --git a/backends/arm/test/ops/test_tanh.py b/backends/arm/test/ops/test_tanh.py index 90e9411892e..c2b5e882a07 100644 --- a/backends/arm/test/ops/test_tanh.py +++ b/backends/arm/test/ops/test_tanh.py @@ -6,7 +6,6 @@ from typing import Tuple -import pytest import torch from executorch.backends.arm.test import common @@ -132,10 +131,7 @@ def test_tanh_16a8w_tosa_INT(test_data: torch.Tensor): @common.parametrize("test_data", test_data_suite) @common.XfailIfNoCorstone300 -@pytest.mark.xfail( - reason="MLETORCH-707: AssertionError: Output 0 does not match reference output." -) -def test_tanh_16a8w_u55_INT(test_data: torch.Tensor): +def test_tanh_16a8w_u55_INT16(test_data: torch.Tensor): """Test tanh operation with 16A8W quantization on U55 (16-bit activations, 8-bit weights)""" per_channel_quantization = False diff --git a/backends/arm/test/ops/test_var.py b/backends/arm/test/ops/test_var.py index eec66496789..a7943bfc19b 100644 --- a/backends/arm/test/ops/test_var.py +++ b/backends/arm/test/ops/test_var.py @@ -87,21 +87,6 @@ class VarDim(torch.nn.Module): ), } - test_parameters_u55_xfails = { - "var_3d_dim_neg_2_keep_dim_unbiased": lambda: ( - torch.rand(1, 50, 10), - -2, - True, - False, - ), - "var_3d_dim_neg_1_keep_dim_biased": lambda: ( - torch.rand(1, 50, 10, 20), - -1, - True, - True, - ), - } - def __init__(self, dim: int = -1, keepdim: bool = True, unbiased: bool = False): super().__init__() self.dim = dim @@ -352,16 +337,9 @@ def test_var_dim_tosa_INT_correction(test_data: Tuple): pipeline.run() -# TODO: Xfail "var_3d_dims_keep_dim_0_correction" until the Ethos-U Vela compiler ships commit -# 642f7517d3a6bd053032e1942822f6e38ccd546f. That patch fixes the bug that causes the test to fail. @common.parametrize( "test_data", VarCorrection.test_parameters, - xfails={ - "var_3d_dims_keep_dim_0_correction": ( - "Blocked by Vela commit 642f7517d3a6bd053032e1942822f6e38ccd546f" - ), - }, ) @common.XfailIfNoCorstone300 def test_var_dim_u55_INT_correction(test_data: Tuple):