diff --git a/backends/cadence/fusion_g3/operators/xt_macros.h b/backends/cadence/common/xt_macros.h similarity index 100% rename from backends/cadence/fusion_g3/operators/xt_macros.h rename to backends/cadence/common/xt_macros.h diff --git a/backends/cadence/fusion_g3/operators/op_add.cpp b/backends/cadence/fusion_g3/operators/op_add.cpp index f6de58e9ac7..b78cc33890b 100644 --- a/backends/cadence/fusion_g3/operators/op_add.cpp +++ b/backends/cadence/fusion_g3/operators/op_add.cpp @@ -10,7 +10,7 @@ #include -#include +#include #include #include #include diff --git a/backends/cadence/fusion_g3/operators/op_cat.cpp b/backends/cadence/fusion_g3/operators/op_cat.cpp index 3ad958b04a6..0c83ebaf0ad 100644 --- a/backends/cadence/fusion_g3/operators/op_cat.cpp +++ b/backends/cadence/fusion_g3/operators/op_cat.cpp @@ -13,7 +13,7 @@ #include -#include +#include #include #include diff --git a/backends/cadence/fusion_g3/operators/op_clamp.cpp b/backends/cadence/fusion_g3/operators/op_clamp.cpp index ffae66af0ef..8eed6b681c2 100644 --- a/backends/cadence/fusion_g3/operators/op_clamp.cpp +++ b/backends/cadence/fusion_g3/operators/op_clamp.cpp @@ -15,7 +15,7 @@ #include -#include +#include #include #include #include diff --git a/backends/cadence/fusion_g3/operators/op_dequantize.cpp b/backends/cadence/fusion_g3/operators/op_dequantize.cpp index 27c374e1a1c..537e3f04ae0 100644 --- a/backends/cadence/fusion_g3/operators/op_dequantize.cpp +++ b/backends/cadence/fusion_g3/operators/op_dequantize.cpp @@ -14,7 +14,7 @@ #include -#include +#include #include #include diff --git a/backends/cadence/fusion_g3/operators/op_div.cpp b/backends/cadence/fusion_g3/operators/op_div.cpp index fb5410a184e..62ebf303ebd 100644 --- a/backends/cadence/fusion_g3/operators/op_div.cpp +++ b/backends/cadence/fusion_g3/operators/op_div.cpp @@ -12,7 +12,7 @@ #include -#include +#include #include #include #include diff --git a/backends/cadence/fusion_g3/operators/op_exp.cpp b/backends/cadence/fusion_g3/operators/op_exp.cpp index 84f5670b320..51d53067668 100644 --- a/backends/cadence/fusion_g3/operators/op_exp.cpp +++ b/backends/cadence/fusion_g3/operators/op_exp.cpp @@ -12,7 +12,7 @@ #include -#include +#include #include #include diff --git a/backends/cadence/fusion_g3/operators/op_hardtanh.cpp b/backends/cadence/fusion_g3/operators/op_hardtanh.cpp index 21570d9cb54..b930098fb24 100644 --- a/backends/cadence/fusion_g3/operators/op_hardtanh.cpp +++ b/backends/cadence/fusion_g3/operators/op_hardtanh.cpp @@ -11,7 +11,7 @@ #include -#include +#include #include #include #include diff --git a/backends/cadence/fusion_g3/operators/op_lt.cpp b/backends/cadence/fusion_g3/operators/op_lt.cpp index 2aafeb09ddd..850552f1d3b 100644 --- a/backends/cadence/fusion_g3/operators/op_lt.cpp +++ b/backends/cadence/fusion_g3/operators/op_lt.cpp @@ -10,7 +10,7 @@ #include -#include +#include #include using ::executorch::aten::Scalar; diff --git a/backends/cadence/fusion_g3/operators/op_mean.cpp b/backends/cadence/fusion_g3/operators/op_mean.cpp index e18a21b4e0c..cefd45f6ef8 100644 --- a/backends/cadence/fusion_g3/operators/op_mean.cpp +++ b/backends/cadence/fusion_g3/operators/op_mean.cpp @@ -10,7 +10,7 @@ #include -#include +#include #include #include #include diff --git a/backends/cadence/fusion_g3/operators/op_mul.cpp b/backends/cadence/fusion_g3/operators/op_mul.cpp index ea78ea11512..a4a230a374f 100644 --- a/backends/cadence/fusion_g3/operators/op_mul.cpp +++ b/backends/cadence/fusion_g3/operators/op_mul.cpp @@ -10,7 +10,7 @@ #include -#include +#include #include #include #include diff --git a/backends/cadence/fusion_g3/operators/op_native_layer_norm.cpp b/backends/cadence/fusion_g3/operators/op_native_layer_norm.cpp index 9ae0a974df9..aa25cec9230 100644 --- a/backends/cadence/fusion_g3/operators/op_native_layer_norm.cpp +++ b/backends/cadence/fusion_g3/operators/op_native_layer_norm.cpp @@ -13,7 +13,7 @@ #include -#include +#include #include #include #include diff --git a/backends/cadence/fusion_g3/operators/op_permute_copy.cpp b/backends/cadence/fusion_g3/operators/op_permute_copy.cpp index a8195b8bacd..5b1d079f92e 100644 --- a/backends/cadence/fusion_g3/operators/op_permute_copy.cpp +++ b/backends/cadence/fusion_g3/operators/op_permute_copy.cpp @@ -11,7 +11,7 @@ #include -#include +#include #include #include diff --git a/backends/cadence/fusion_g3/operators/op_quantize.cpp b/backends/cadence/fusion_g3/operators/op_quantize.cpp index 670e6dcb358..26f90ddf5d1 100644 --- a/backends/cadence/fusion_g3/operators/op_quantize.cpp +++ b/backends/cadence/fusion_g3/operators/op_quantize.cpp @@ -14,7 +14,7 @@ #include -#include +#include #include #include diff --git a/backends/cadence/fusion_g3/operators/op_rsqrt.cpp b/backends/cadence/fusion_g3/operators/op_rsqrt.cpp index 0988fe946e3..a9017397687 100644 --- a/backends/cadence/fusion_g3/operators/op_rsqrt.cpp +++ b/backends/cadence/fusion_g3/operators/op_rsqrt.cpp @@ -10,7 +10,7 @@ #include -#include +#include #include #include #include diff --git a/backends/cadence/fusion_g3/operators/op_sigmoid.cpp b/backends/cadence/fusion_g3/operators/op_sigmoid.cpp index 08dc735a8af..0ded70926eb 100644 --- a/backends/cadence/fusion_g3/operators/op_sigmoid.cpp +++ b/backends/cadence/fusion_g3/operators/op_sigmoid.cpp @@ -12,7 +12,7 @@ #include -#include +#include #include #include #include diff --git a/backends/cadence/fusion_g3/operators/op_slice_copy.cpp b/backends/cadence/fusion_g3/operators/op_slice_copy.cpp index 2bb42f49169..a97f9beb0c7 100644 --- a/backends/cadence/fusion_g3/operators/op_slice_copy.cpp +++ b/backends/cadence/fusion_g3/operators/op_slice_copy.cpp @@ -13,7 +13,7 @@ #include -#include +#include #include #include diff --git a/backends/cadence/fusion_g3/operators/op_softmax.cpp b/backends/cadence/fusion_g3/operators/op_softmax.cpp index 37a0f227193..1faf41c94a8 100644 --- a/backends/cadence/fusion_g3/operators/op_softmax.cpp +++ b/backends/cadence/fusion_g3/operators/op_softmax.cpp @@ -12,7 +12,7 @@ #include -#include +#include #include #include #include diff --git a/backends/cadence/fusion_g3/operators/op_sqrt.cpp b/backends/cadence/fusion_g3/operators/op_sqrt.cpp index cf68b95e7cf..584d94d78a1 100644 --- a/backends/cadence/fusion_g3/operators/op_sqrt.cpp +++ b/backends/cadence/fusion_g3/operators/op_sqrt.cpp @@ -12,7 +12,7 @@ #include -#include +#include #include #include #include diff --git a/backends/cadence/fusion_g3/operators/op_sub.cpp b/backends/cadence/fusion_g3/operators/op_sub.cpp index b90b2fa2ed5..0b5bee9a651 100644 --- a/backends/cadence/fusion_g3/operators/op_sub.cpp +++ b/backends/cadence/fusion_g3/operators/op_sub.cpp @@ -10,7 +10,7 @@ #include -#include +#include #include #include #include diff --git a/backends/cadence/fusion_g3/operators/op_tanh.cpp b/backends/cadence/fusion_g3/operators/op_tanh.cpp index 5015995e925..9686dc7caa9 100644 --- a/backends/cadence/fusion_g3/operators/op_tanh.cpp +++ b/backends/cadence/fusion_g3/operators/op_tanh.cpp @@ -12,7 +12,7 @@ #include -#include +#include #include #include #include diff --git a/backends/cadence/fusion_g3/operators/op_transpose_copy.cpp b/backends/cadence/fusion_g3/operators/op_transpose_copy.cpp index d27c82b4ff3..4bff24cbfe5 100644 --- a/backends/cadence/fusion_g3/operators/op_transpose_copy.cpp +++ b/backends/cadence/fusion_g3/operators/op_transpose_copy.cpp @@ -11,7 +11,7 @@ #include -#include +#include #include #include diff --git a/backends/cadence/fusion_g3/operators/op_where.cpp b/backends/cadence/fusion_g3/operators/op_where.cpp index 8d92be32419..4351e8bd684 100644 --- a/backends/cadence/fusion_g3/operators/op_where.cpp +++ b/backends/cadence/fusion_g3/operators/op_where.cpp @@ -10,7 +10,7 @@ #include -#include +#include #include #include diff --git a/backends/cadence/fusion_g3/operators/targets.bzl b/backends/cadence/fusion_g3/operators/targets.bzl index bc0a01b4fe8..34d5424a893 100644 --- a/backends/cadence/fusion_g3/operators/targets.bzl +++ b/backends/cadence/fusion_g3/operators/targets.bzl @@ -10,8 +10,11 @@ def define_operator(name: str, deps: list[str] | None = None) -> None: "//executorch/kernels/portable/cpu/pattern:all_deps", "//executorch/runtime/kernel:kernel_includes", "//executorch/kernels/portable/cpu:scalar_utils", + "//executorch/backends/cadence/common:xt_macros", "fbsource//third-party/nnlib-FusionG3/xa_nnlib:libxa_nnlib_common", "fbsource//third-party/nnlib-FusionG3/xa_nnlib:libxa_nnlib", + ":operators_header", + ":xt_utils", ] if deps == None: deps = [] @@ -26,11 +29,6 @@ def define_operator(name: str, deps: list[str] | None = None) -> None: ], compatible_with = ["ovr_config//cpu:xtensa"], deps = deps + common_deps, - exported_deps = [ - ":operators_header", - ":xt_macros", - ":xt_utils", - ], ) OPERATORS = [ diff --git a/backends/cadence/hifi/operators/op_add.cpp b/backends/cadence/hifi/operators/op_add.cpp index f51fddf31db..445cf3d9f2b 100644 --- a/backends/cadence/hifi/operators/op_add.cpp +++ b/backends/cadence/hifi/operators/op_add.cpp @@ -16,6 +16,8 @@ #include #include +#include + using executorch::aten::Scalar; using executorch::aten::ScalarType; using executorch::aten::Tensor; @@ -184,10 +186,25 @@ Tensor& add_out( for (int i = 0; i < b.dim(); i++) inp2_shape[i + off_b] = b.size(i); - xa_nn_elm_add_broadcast_4D_f32xf32_f32( - out_data, out_shape, a_data, inp1_shape, b_data, inp2_shape); + XT_KERNEL_CHECK( + ctx, + out, + xa_nn_elm_add_broadcast_4D_f32xf32_f32, + out_data, + out_shape, + a_data, + inp1_shape, + b_data, + inp2_shape); } else { - xa_nn_elm_add_f32xf32_f32(out_data, a_data, b_data, out.numel()); + XT_KERNEL_CHECK( + ctx, + out, + xa_nn_elm_add_f32xf32_f32, + out_data, + a_data, + b_data, + out.numel()); } return out; diff --git a/backends/cadence/hifi/operators/op_dequantize_per_tensor.cpp b/backends/cadence/hifi/operators/op_dequantize_per_tensor.cpp index 30ce938e24d..2605a60ea53 100644 --- a/backends/cadence/hifi/operators/op_dequantize_per_tensor.cpp +++ b/backends/cadence/hifi/operators/op_dequantize_per_tensor.cpp @@ -10,6 +10,8 @@ #include #include +#include + namespace impl { namespace HiFi { namespace native { diff --git a/backends/cadence/hifi/operators/targets.bzl b/backends/cadence/hifi/operators/targets.bzl index 1f9814c4a4e..a25dfd1bcbc 100644 --- a/backends/cadence/hifi/operators/targets.bzl +++ b/backends/cadence/hifi/operators/targets.bzl @@ -16,7 +16,8 @@ def define_operator(name: str, deps: list[str] | None = None) -> None: "//executorch/kernels/portable/cpu/util:elementwise_util", "//executorch/kernels/portable/cpu/pattern:bitwise_op", "//executorch/backends/cadence/hifi/third-party/nnlib:nnlib-extensions", - "//executorch/kernels/portable/cpu/pattern:comparison_op" + "//executorch/kernels/portable/cpu/pattern:comparison_op", + "//executorch/backends/cadence/common:xt_macros" ] if deps == None: deps = []