Skip to content

Commit fc34285

Browse files
aliafzaljpiat
authored andcommitted
Cadence: Register missing portable ops (neg, exp, native_layer_norm)
Differential Revision: D99870895 Pull Request resolved: pytorch#18745
1 parent 11cf4ad commit fc34285

5 files changed

Lines changed: 32 additions & 6 deletions

File tree

backends/cadence/aot/functions.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,11 @@
6262
- arg_meta: null
6363
kernel_name: torch::executor::empty_out
6464

65+
- op: exp.out
66+
kernels:
67+
- arg_meta: null
68+
kernel_name: torch::executor::exp_out
69+
6570
- op: expand_copy.out
6671
kernels:
6772
- arg_meta: null
@@ -92,6 +97,16 @@
9297
- arg_meta: null
9398
kernel_name: torch::executor::mean_dim_out
9499

100+
- op: native_layer_norm.out
101+
kernels:
102+
- arg_meta: null
103+
kernel_name: torch::executor::native_layer_norm_out
104+
105+
- op: neg.out
106+
kernels:
107+
- arg_meta: null
108+
kernel_name: torch::executor::neg_out
109+
95110
- op: mul.out
96111
kernels:
97112
- arg_meta: null

backends/cadence/aot/functions_hifi.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,11 @@
102102
- arg_meta: null
103103
kernel_name: impl::HiFi::eq_Tensor_out
104104

105+
- op: exp.out
106+
kernels:
107+
- arg_meta: null
108+
kernel_name: torch::executor::exp_out
109+
105110
- op: fmod.Tensor_out
106111
kernels:
107112
- arg_meta: null
@@ -207,6 +212,11 @@
207212
- arg_meta: null
208213
kernel_name: impl::HiFi::mul_out
209214

215+
- op: neg.out
216+
kernels:
217+
- arg_meta: null
218+
kernel_name: torch::executor::neg_out
219+
210220
- op: ne.Tensor_out
211221
kernels:
212222
- arg_meta: null

backends/cadence/generic/operators/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,14 @@ set(_aten_ops__srcs
3333
"${EXECUTORCH_ROOT}/kernels/portable/cpu/op_clone.cpp"
3434
"${EXECUTORCH_ROOT}/kernels/portable/cpu/op_div.cpp"
3535
"${EXECUTORCH_ROOT}/kernels/portable/cpu/op_embedding.cpp"
36+
"${EXECUTORCH_ROOT}/kernels/portable/cpu/op_exp.cpp"
3637
"${EXECUTORCH_ROOT}/kernels/portable/cpu/op_full.cpp"
3738
"${EXECUTORCH_ROOT}/kernels/portable/cpu/op_hardtanh.cpp"
3839
"${EXECUTORCH_ROOT}/kernels/portable/cpu/op_max_pool2d_with_indices.cpp"
3940
"${EXECUTORCH_ROOT}/kernels/portable/cpu/op_mean.cpp"
4041
"${EXECUTORCH_ROOT}/kernels/portable/cpu/op_mul.cpp"
42+
"${EXECUTORCH_ROOT}/kernels/portable/cpu/op_native_layer_norm.cpp"
43+
"${EXECUTORCH_ROOT}/kernels/portable/cpu/op_neg.cpp"
4144
"${EXECUTORCH_ROOT}/kernels/portable/cpu/op_permute_copy.cpp"
4245
"${EXECUTORCH_ROOT}/kernels/portable/cpu/op_rsqrt.cpp"
4346
"${EXECUTORCH_ROOT}/kernels/portable/cpu/op_sigmoid.cpp"

backends/cadence/hifi/operators/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,11 @@ set(_aten_ops__srcs
5757
"${EXECUTORCH_ROOT}/backends/cadence/hifi/operators/op_view_copy.cpp"
5858
"${EXECUTORCH_ROOT}/backends/cadence/hifi/operators/op_where.cpp"
5959
"${EXECUTORCH_ROOT}/kernels/portable/cpu/op_clone.cpp"
60+
"${EXECUTORCH_ROOT}/kernels/portable/cpu/op_exp.cpp"
6061
"${EXECUTORCH_ROOT}/kernels/portable/cpu/op_gelu.cpp"
6162
"${EXECUTORCH_ROOT}/kernels/portable/cpu/op_max_pool2d_with_indices.cpp"
6263
"${EXECUTORCH_ROOT}/kernels/portable/cpu/op_native_layer_norm.cpp"
64+
"${EXECUTORCH_ROOT}/kernels/portable/cpu/op_neg.cpp"
6365
"${EXECUTORCH_ROOT}/kernels/portable/cpu/util/normalization_ops_util.cpp"
6466
"${EXECUTORCH_ROOT}/kernels/portable/cpu/op_to_copy.cpp"
6567
"${EXECUTORCH_ROOT}/kernels/portable/cpu/pattern/unary_ufunc_realhbbf16_to_floathbf16.cpp"

examples/cadence/operators/test_add_op.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,7 @@ def forward(self, x: torch.Tensor, y: torch.Tensor):
6464
Y = torch.randn(Yshape)
6565

6666
model.eval()
67-
export_and_run_model(
68-
model, (X, Y), file_name=self._testMethodName, run_and_compare=False
69-
)
67+
export_and_run_model(model, (X, Y), file_name=self._testMethodName)
7068

7169
# pyre-fixme[16]: Module `parameterized.parameterized` has no attribute `expand`.
7270
@parameterized.expand(
@@ -114,9 +112,7 @@ def forward(self, x: torch.Tensor, y: float):
114112
Y = 2.34
115113

116114
model.eval()
117-
export_and_run_model(
118-
model, (X, Y), file_name=self._testMethodName, run_and_compare=False
119-
)
115+
export_and_run_model(model, (X, Y), file_name=self._testMethodName)
120116

121117

122118
if __name__ == "__main__":

0 commit comments

Comments
 (0)