9
9
#include < cstring>
10
10
11
11
#include < executorch/kernels/portable/cpu/util/broadcast_util.h>
12
+ #include < executorch/kernels/portable/cpu/util/elementwise_util.h>
12
13
#include < executorch/runtime/kernel/kernel_includes.h>
13
14
14
15
namespace torch {
@@ -42,19 +43,19 @@ Tensor& copy_out(
42
43
ET_KERNEL_CHECK (
43
44
ctx, tensors_have_same_dim_order (in, out), InvalidArgument, out);
44
45
45
- ScalarType in_type = in. scalar_type ();
46
- ScalarType src_type = src. scalar_type () ;
47
-
48
- ET_SWITCH_REALHBBF16_TYPES (in_type , ctx, " copy.out" , CTYPE, [&]() {
49
- ET_SWITCH_REALHBBF16_TYPES (src_type, ctx, " copy.out " , CTYPE_SRC, [&]() {
50
- apply_binary_elementwise_fn< CTYPE, CTYPE_SRC, CTYPE>(
51
- []( const CTYPE val_in, const CTYPE_SRC val_src) {
52
- return convert<CTYPE, CTYPE_SRC>(val_src);
53
- } ,
54
- in ,
55
- src ,
56
- out);
57
- } );
46
+ // @lint-ignore CLANGTIDY facebook-hte-CArray
47
+ static constexpr const char op_name[] = " copy.out " ;
48
+
49
+ ET_SWITCH_REALHBBF16_TYPES (in. scalar_type () , ctx, " copy.out" , CTYPE, [&]() {
50
+ utils::apply_bitensor_elementwise_fn<CTYPE, op_name>(
51
+ [](ET_UNUSED const CTYPE _, const CTYPE val_src) { return val_src; },
52
+ ctx,
53
+ in,
54
+ utils::SupportedTensorDtypes::REALHBBF16 ,
55
+ src ,
56
+ utils::SupportedTensorDtypes::REALHBBF16 ,
57
+ out,
58
+ utils::SupportedTensorDtypes::REALHBBF16 );
58
59
});
59
60
60
61
return out;
@@ -75,19 +76,19 @@ Tensor& copy_(
75
76
ET_KERNEL_CHECK (
76
77
ctx, tensors_have_same_dim_order (in, src), InvalidArgument, in);
77
78
78
- ScalarType in_type = in. scalar_type ();
79
- ScalarType src_type = src. scalar_type () ;
80
-
81
- ET_SWITCH_REALHBBF16_TYPES (in_type , ctx, " copy_" , CTYPE, [&]() {
82
- ET_SWITCH_REALHBBF16_TYPES (src_type, ctx, " copy_ " , CTYPE_SRC, [&]() {
83
- apply_binary_elementwise_fn< CTYPE, CTYPE_SRC, CTYPE>(
84
- []( const CTYPE val_in, const CTYPE_SRC val_src) {
85
- return convert<CTYPE, CTYPE_SRC>(val_src);
86
- } ,
87
- in ,
88
- src ,
89
- in);
90
- } );
79
+ // @lint-ignore CLANGTIDY facebook-hte-CArray
80
+ static constexpr const char op_name[] = " copy_ " ;
81
+
82
+ ET_SWITCH_REALHBBF16_TYPES (in. scalar_type () , ctx, " copy_" , CTYPE, [&]() {
83
+ utils::apply_bitensor_elementwise_fn<CTYPE, op_name>(
84
+ [](ET_UNUSED const CTYPE _, const CTYPE val_src) { return val_src; },
85
+ ctx,
86
+ in,
87
+ utils::SupportedTensorDtypes::REALHBBF16 ,
88
+ src ,
89
+ utils::SupportedTensorDtypes::REALHBBF16 ,
90
+ in,
91
+ utils::SupportedTensorDtypes::REALHBBF16 );
91
92
});
92
93
93
94
return in;
0 commit comments