Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion backends/cadence/hifi/operators/op_mean.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ int prepare_data(
return num_axis_dims;
}

Tensor& mean_dim_out(
Tensor& mean_out(
RuntimeContext& ctx,
const Tensor& in,
optional<ArrayRef<int64_t>> dim_list,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ void quantized_relu_(
}
}

void quantized_relu_out(
void quantized_relu_per_tensor_out(
KernelRuntimeContext& ctx,
const Tensor& input,
const Tensor& in_zero_point,
Expand Down Expand Up @@ -100,4 +100,4 @@ void quantized_relu_out(
} // namespace native
} // namespace HiFi
} // namespace impl
} // namespace cadence
} // namespace cadence
3 changes: 1 addition & 2 deletions backends/cadence/hifi/operators/op_remainder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,14 @@

#include <cmath>

#include <executorch/backends/cadence/hifi/kernels/kernels.h>
#include <executorch/kernels/portable/cpu/scalar_utils.h>
#include <executorch/kernels/portable/cpu/util/broadcast_util.h>
#include <executorch/kernels/portable/cpu/util/elementwise_util.h>
#include <executorch/kernels/portable/cpu/util/functional_util.h>
#include <executorch/kernels/portable/cpu/util/math_util.h>
#include <executorch/runtime/kernel/kernel_includes.h>

#include "kernels.h"

using executorch::aten::RuntimeContext;
using executorch::aten::Scalar;
using executorch::aten::ScalarType;
Expand Down
4 changes: 2 additions & 2 deletions backends/cadence/hifi/operators/op_softmax.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@

#include <cmath>

#include <executorch/backends/cadence/hifi/kernels/kernels.h>
#include <executorch/kernels/portable/cpu/util/activation_ops_util.h>
#include <executorch/kernels/portable/cpu/util/functional_util.h>
#include <executorch/kernels/portable/cpu/util/reduce_util.h>
#include <executorch/runtime/kernel/kernel_includes.h>
#include "kernels.h"

using executorch::aten::ScalarType;
using executorch::aten::Tensor;
Expand All @@ -24,7 +24,7 @@ namespace impl {
namespace HiFi {
namespace native {

Tensor& softmax_out(
Tensor& _softmax_out(
KernelRuntimeContext& ctx,
const Tensor& in,
int64_t dim,
Expand Down
277 changes: 52 additions & 225 deletions backends/cadence/hifi/operators/targets.bzl
Original file line number Diff line number Diff line change
@@ -1,243 +1,70 @@
load("@fbsource//tools/build_defs:platform_defs.bzl", "CXX")
load("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "runtime")

def define_common_targets():
"""Defines targets that should be shared between fbcode and xplat.

The directory containing this targets.bzl file should also contain both
TARGETS and BUCK files that call this function.
"""

# Define build targets for all operators registered in the tables above.

runtime.cxx_library(
name = "quantize_per_tensor",
srcs = [
"quantize_per_tensor.cpp"
],
platforms = CXX,
deps = [
"//executorch/kernels/portable/cpu/util:all_deps",
"//executorch/kernels/portable/cpu/pattern:all_deps",
"//executorch/runtime/kernel:kernel_includes",
"//executorch/kernels/portable/cpu:scalar_utils",
"//executorch/backends/cadence/hifi/kernels:kernels",
"//executorch/backends/cadence/hifi/third-party/nnlib:nnlib-extensions"
],
visibility = [
"//executorch/backends/cadence/...",
"@EXECUTORCH_CLIENTS",
],
)
def define_operator(name: str, deps: list[str] | None = None) -> None:
op_name = "op_{}".format(name)

runtime.cxx_library(
name = "dequantize_per_tensor",
srcs = [
"dequantize_per_tensor.cpp"
],
platforms = CXX,
deps = [
"//executorch/kernels/portable/cpu/util:all_deps",
"//executorch/kernels/portable/cpu/pattern:all_deps",
"//executorch/runtime/kernel:kernel_includes",
"//executorch/kernels/portable/cpu:scalar_utils",
"//executorch/backends/cadence/hifi/kernels:kernels",
"//executorch/backends/cadence/hifi/third-party/nnlib:nnlib-extensions"
],
visibility = [
"//executorch/backends/cadence/...",
"@EXECUTORCH_CLIENTS",
],
)
# Deps used by all operators.
common_deps = [
"//executorch/kernels/portable/cpu/util:all_deps",
"//executorch/kernels/portable/cpu/pattern:all_deps",
"//executorch/runtime/kernel:kernel_includes",
"//executorch/kernels/portable/cpu:scalar_utils",
"//executorch/backends/cadence/hifi/kernels:kernels",
"//executorch/kernels/portable/cpu/util:dtype_util",
"//executorch/kernels/portable/cpu/util:elementwise_util",
"//executorch/backends/cadence/hifi/third-party/nnlib:nnlib-extensions"
]
if deps == None:
deps = []

runtime.cxx_library(
name = "quantized_layer_norm",
srcs = [
"quantized_layer_norm.cpp"
],
exported_headers = ["operators.h"],
name = op_name,
srcs = [op_name + ".cpp"],
platforms = CXX,
deps = [
"//executorch/kernels/portable/cpu/util:all_deps",
"//executorch/kernels/portable/cpu/pattern:all_deps",
"//executorch/runtime/kernel:kernel_includes",
"//executorch/kernels/portable/cpu:scalar_utils",
"//executorch/backends/cadence/hifi/kernels:kernels",
"//executorch/backends/cadence/hifi/third-party/nnlib:nnlib-extensions"
],
visibility = [
"//executorch/backends/cadence/...",
"@EXECUTORCH_CLIENTS",
],
)

runtime.cxx_library(
name = "quantized_linear_out",
srcs = [
"quantized_linear_out.cpp"
],
deps = deps + common_deps,
exported_headers = ["operators.h"],
platforms = CXX,
deps = [
"//executorch/kernels/portable/cpu/util:all_deps",
"//executorch/kernels/portable/cpu/pattern:all_deps",
"//executorch/runtime/kernel:kernel_includes",
"//executorch/kernels/portable/cpu:scalar_utils",
"//executorch/backends/cadence/hifi/kernels:kernels",
"//executorch/backends/cadence/hifi/third-party/nnlib:nnlib-extensions"
],
visibility = [
"//executorch/backends/cadence/...",
"@EXECUTORCH_CLIENTS",
],
)

runtime.cxx_library(
name = "op_add",
srcs = [
"op_add.cpp",
],
platforms = CXX,
deps = [
"//executorch/kernels/portable/cpu/util:all_deps",
"//executorch/kernels/portable/cpu/pattern:all_deps",
"//executorch/runtime/kernel:kernel_includes",
"//executorch/kernels/portable/cpu:scalar_utils",
"//executorch/backends/cadence/hifi/kernels:kernels",
"//executorch/backends/cadence/hifi/third-party/nnlib:nnlib-extensions",
"//executorch/kernels/portable/cpu/util:dtype_util",
"//executorch/kernels/portable/cpu/util:elementwise_util",
],
visibility = [
"//executorch/backends/cadence/...",
"@EXECUTORCH_CLIENTS",
],
)


runtime.cxx_library(
name = "op_mul",
srcs = [
"op_mul.cpp",
],
platforms = CXX,
deps = [
"//executorch/kernels/portable/cpu/util:all_deps",
"//executorch/kernels/portable/cpu/pattern:all_deps",
"//executorch/runtime/kernel:kernel_includes",
"//executorch/kernels/portable/cpu:scalar_utils",
"//executorch/backends/cadence/hifi/kernels:kernels",
"//executorch/kernels/portable/cpu/util:dtype_util",
"//executorch/kernels/portable/cpu/util:elementwise_util",
"//executorch/backends/cadence/hifi/third-party/nnlib:nnlib-extensions"
],
visibility = [
"//executorch/backends/cadence/...",
"@EXECUTORCH_CLIENTS",
],
)

runtime.cxx_library(
name = "op_sub",
srcs = [
"op_sub.cpp",
],
platforms = CXX,
deps = [
"//executorch/kernels/portable/cpu/util:all_deps",
"//executorch/kernels/portable/cpu/pattern:all_deps",
"//executorch/runtime/kernel:kernel_includes",
"//executorch/kernels/portable/cpu:scalar_utils",
"//executorch/backends/cadence/hifi/kernels:kernels",
"//executorch/kernels/portable/cpu/util:dtype_util",
"//executorch/kernels/portable/cpu/util:elementwise_util",
"//executorch/backends/cadence/hifi/third-party/nnlib:nnlib-extensions"
],
visibility = [
"//executorch/backends/cadence/...",
"@EXECUTORCH_CLIENTS",
],
)

runtime.cxx_library(
name = "op_div",
srcs = [
"op_div.cpp",
],
platforms = CXX,
deps = [
"//executorch/kernels/portable/cpu/util:all_deps",
"//executorch/kernels/portable/cpu/pattern:all_deps",
"//executorch/runtime/kernel:kernel_includes",
"//executorch/kernels/portable/cpu:scalar_utils",
"//executorch/backends/cadence/hifi/kernels:kernels",
"//executorch/kernels/portable/cpu/util:dtype_util",
"//executorch/kernels/portable/cpu/util:elementwise_util",
"//executorch/backends/cadence/hifi/third-party/nnlib:nnlib-extensions"
],
visibility = [
"//executorch/backends/cadence/...",
"@EXECUTORCH_CLIENTS",
],
)
OPERATORS = [
"add",
"atan2",
"cat",
"clamp",
"dequantize_per_tensor",
"div",
"full",
"maximum",
"mean",
"minimum",
"mul",
"permute_copy",
"pow",
"quantize_per_tensor",
"quantized_layer_norm",
"quantized_linear_out",
"quantized_relu_out",
"remainder",
"rsqrt",
"sigmoid",
"softmax",
"sub",
"tanh",
"where"
]

runtime.cxx_library(
name = "op_sigmoid",
srcs = [
"op_sigmoid.cpp",
],
platforms = CXX,
deps = [
"//executorch/kernels/portable/cpu/util:all_deps",
"//executorch/kernels/portable/cpu/pattern:all_deps",
"//executorch/runtime/kernel:kernel_includes",
"//executorch/backends/cadence/hifi/kernels:kernels",
"//executorch/kernels/portable/cpu/util:dtype_util",
"//executorch/kernels/portable/cpu/util:elementwise_util",
"//executorch/backends/cadence/hifi/third-party/nnlib:nnlib-extensions"
],
visibility = [
"//executorch/backends/cadence/...",
"@EXECUTORCH_CLIENTS",
],
)
def define_common_targets():
"""Defines targets that should be shared between fbcode and xplat.

runtime.cxx_library(
name = "op_tanh",
srcs = [
"op_tanh.cpp",
],
platforms = CXX,
deps = [
"//executorch/kernels/portable/cpu/util:all_deps",
"//executorch/kernels/portable/cpu/pattern:all_deps",
"//executorch/runtime/kernel:kernel_includes",
"//executorch/backends/cadence/hifi/kernels:kernels",
"//executorch/backends/cadence/hifi/third-party/nnlib:nnlib-extensions"
],
visibility = [
"//executorch/backends/cadence/...",
"@EXECUTORCH_CLIENTS",
],
)
The directory containing this targets.bzl file should also contain both
TARGETS and BUCK files that call this function.
"""


runtime.cxx_library(
name = "op_where",
srcs = [
"op_where.cpp",
],
platforms = CXX,
deps = [
"//executorch/kernels/portable/cpu/util:all_deps",
"//executorch/kernels/portable/cpu/pattern:all_deps",
"//executorch/runtime/kernel:kernel_includes",
"//executorch/backends/cadence/hifi/kernels:kernels",
"//executorch/kernels/portable/cpu/util:elementwise_util",
"//executorch/backends/cadence/hifi/third-party/nnlib:nnlib-extensions"
],
visibility = [
"//executorch/backends/cadence/...",
"@EXECUTORCH_CLIENTS",
],
)
# Define build targets for all operators registered in the tables above.
for op in OPERATORS:
define_operator(op)
Loading