Skip to content

Commit e677dc1

Browse files
committed
Update on "[kernel] Add template based unboxing"
Adding a new feature to allow users to bypass codegen and register their kernels directly. This is very useful for custom kernels for custom ops. Example usage: ``` Tensor& my_op(RuntimeContext& ctx, const Tensor& self, const Tensor& other, Tensor& out) { // ... return out; } Kernel my_kernel = Kernel.make_boxed_kernel("my_ns::my_op",EXECUTORCH_FN(my_op)); register_kernels({my_kernel}); ``` Differential Revision: [D51553099](https://our.internmc.facebook.com/intern/diff/D51553099) [ghstack-poisoned]
2 parents f2ce2f0 + 9fb4de2 commit e677dc1

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

extension/kernel_util/meta_programming.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
* LICENSE file in the root directory of this source tree.
77
*/
88

9-
109
#pragma once
1110
#if __cplusplus < 201703L
1211
#error "This header requires C++17"

extension/kernel_util/type_list.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#error "This header requires C++17"
1616
#endif
1717

18+
#include <algorithm>
1819
#include <cstddef>
1920
#include <type_traits>
2021
#include <utility>
@@ -131,9 +132,9 @@ struct drop_if_nonempty final {
131132
"In typelist::drop<T, num>, the T argument must be typelist<...>.");
132133
using type = typename take_elements<
133134
TypeList,
134-
min(num, size<TypeList>::value),
135+
std::min(num, size<TypeList>::value),
135136
std::make_index_sequence<
136-
size<TypeList>::value - min(num, size<TypeList>::value)>>::type;
137+
size<TypeList>::value - std::min(num, size<TypeList>::value)>>::type;
137138
};
138139
template <class TypeList, size_t num>
139140
using drop_if_nonempty_t = typename drop_if_nonempty<TypeList, num>::type;

0 commit comments

Comments
 (0)