Conversation
Remove callUnboxedOnly() and instead use metaprogramming to figure out if an operator can use a boxed fallback or not. This enables boxed fallback for ops in native_functions.yaml even if they don't have `use_c10_dispatcher: full` set, as long as they're in the range of supported types. Differential Revision: [D18462653](https://our.internmc.facebook.com/intern/diff/D18462653/) [ghstack-poisoned]
Remove callUnboxedOnly() and instead use metaprogramming to figure out if an operator can use a boxed fallback or not. This enables boxed fallback for ops in native_functions.yaml even if they don't have `use_c10_dispatcher: full` set, as long as they're in the range of supported types. Differential Revision: [D18462653](https://our.internmc.facebook.com/intern/diff/D18462653/) [ghstack-poisoned]
|
There is a lot of irrelevant code motion in this PR, which makes it hard to read the diff. Could you please explain what happened? |
|
|
||
| namespace c10 { | ||
|
|
||
| inline KernelFunction::KernelFunction() |
There was a problem hiding this comment.
Are there any changes to this file?
There was a problem hiding this comment.
callUnboxed now calls into impl::boxAndCallBoxedFunc instead of detail::boxAndCallBoxedFunc and that function implementation moved into its own header boxing.h. That's also the reason why this whole code movement happens - there's a dependency cycle between KernelFunction.h and boxing.h that I'm resolving by creating a KernelFunction_impl.h.
There was a problem hiding this comment.
OK... but did you change any of the code in this file? :)
There was a problem hiding this comment.
This file is new and it has all the KernelFunction methods. The code inside the methods is unchanged except for what I mentioned above.
Remove callUnboxedOnly() and instead use metaprogramming to figure out if an operator can use a boxed fallback or not. This enables boxed fallback for ops in native_functions.yaml even if they don't have `use_c10_dispatcher: full` set, as long as they're in the range of supported types. Differential Revision: [D18462653](https://our.internmc.facebook.com/intern/diff/D18462653/) [ghstack-poisoned]
Remove callUnboxedOnly() and instead use metaprogramming to figure out if an operator can use a boxed fallback or not. This enables boxed fallback for ops in native_functions.yaml even if they don't have `use_c10_dispatcher: full` set, as long as they're in the range of supported types. Differential Revision: [D18462653](https://our.internmc.facebook.com/intern/diff/D18462653/) [ghstack-poisoned]
Remove callUnboxedOnly() and instead use metaprogramming to figure out if an operator can use a boxed fallback or not. This enables boxed fallback for ops in native_functions.yaml even if they don't have `use_c10_dispatcher: full` set, as long as they're in the range of supported types. Differential Revision: [D18462653](https://our.internmc.facebook.com/intern/diff/D18462653/) [ghstack-poisoned]
Remove callUnboxedOnly() and instead use metaprogramming to figure out if an operator can use a boxed fallback or not. This enables boxed fallback for ops in native_functions.yaml even if they don't have `use_c10_dispatcher: full` set, as long as they're in the range of supported types. Differential Revision: [D18462653](https://our.internmc.facebook.com/intern/diff/D18462653/) [ghstack-poisoned]
Remove callUnboxedOnly() and instead use metaprogramming to figure out if an operator can use a boxed fallback or not. This enables boxed fallback for ops in native_functions.yaml even if they don't have `use_c10_dispatcher: full` set, as long as they're in the range of supported types. Differential Revision: [D18462653](https://our.internmc.facebook.com/intern/diff/D18462653/) [ghstack-poisoned]
Remove callUnboxedOnly() and instead use metaprogramming to figure out if an operator can use a boxed fallback or not. This enables boxed fallback for ops in native_functions.yaml even if they don't have `use_c10_dispatcher: full` set, as long as they're in the range of supported types. Differential Revision: [D18462653](https://our.internmc.facebook.com/intern/diff/D18462653/) [ghstack-poisoned]
Remove callUnboxedOnly() and instead use metaprogramming to figure out if an operator can use a boxed fallback or not. This enables boxed fallback for ops in native_functions.yaml even if they don't have `use_c10_dispatcher: full` set, as long as they're in the range of supported types. Differential Revision: [D18462653](https://our.internmc.facebook.com/intern/diff/D18462653/) [ghstack-poisoned]
Remove callUnboxedOnly() and instead use metaprogramming to figure out if an operator can use a boxed fallback or not. This enables boxed fallback for ops in native_functions.yaml even if they don't have `use_c10_dispatcher: full` set, as long as they're in the range of supported types. Differential Revision: [D18462653](https://our.internmc.facebook.com/intern/diff/D18462653/) [ghstack-poisoned]
Remove callUnboxedOnly() and instead use metaprogramming to figure out if an operator can use a boxed fallback or not. This enables boxed fallback for ops in native_functions.yaml even if they don't have `use_c10_dispatcher: full` set, as long as they're in the range of supported types. Differential Revision: [D18462653](https://our.internmc.facebook.com/intern/diff/D18462653/) [ghstack-poisoned]
Remove callUnboxedOnly() and instead use metaprogramming to figure out if an operator can use a boxed fallback or not. This enables boxed fallback for ops in native_functions.yaml even if they don't have `use_c10_dispatcher: full` set, as long as they're in the range of supported types. Differential Revision: [D18462653](https://our.internmc.facebook.com/intern/diff/D18462653/) [ghstack-poisoned]
Remove callUnboxedOnly() and instead use metaprogramming to figure out if an operator can use a boxed fallback or not. This enables boxed fallback for ops in native_functions.yaml even if they don't have `use_c10_dispatcher: full` set, as long as they're in the range of supported types. Differential Revision: [D18462653](https://our.internmc.facebook.com/intern/diff/D18462653/) [ghstack-poisoned]
Stack from ghstack:
Remove callUnboxedOnly() and instead use metaprogramming to figure out if an operator can use a boxed fallback or not.
This enables boxed fallback for ops in native_functions.yaml even if they don't have
use_c10_dispatcher: fullset, as long as they're in the range of supported types.Differential Revision: D18462653