Add functor- and function-based kernel registration API (#18162)
authorSebastian Messmer <messmer@fb.com>
Sat, 30 Mar 2019 07:03:44 +0000 (00:03 -0700)
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>
Sat, 30 Mar 2019 07:07:19 +0000 (00:07 -0700)
commitc4bb09cc42069412fa9f4f1ff033ad4696c5e6db
treeefe6dbc7a9003579dae56fea741230e3fe97f9ce
parent9abc8a5b47d116342a5c277c62cfce81fd9dd331
Add functor- and function-based kernel registration API (#18162)

Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/18162

- Adds the API to register a functor- and function-based kernel.
- Change the experimental c10 ops to use this new API instead of the old one
- Deletes the old APIs in KernelRegistration.h and OpSchemaRegistration.h

Reviewed By: dzhulgakov

Differential Revision: D14514239

fbshipit-source-id: 35b2f6e8f62964e54886450a6a5fac812ed20f26
69 files changed:
aten/src/ATen/core/dispatch/DispatchTable.h
aten/src/ATen/core/dispatch/Dispatcher.cpp
aten/src/ATen/core/dispatch/Dispatcher.h
aten/src/ATen/core/dispatch/KernelCache.h
aten/src/ATen/core/dispatch/KernelRegistration.h [deleted file]
aten/src/ATen/core/dispatch/OpSchemaRegistration.h [deleted file]
aten/src/ATen/core/dispatch/README.md
aten/src/ATen/core/op_registration/base.h
aten/src/ATen/core/op_registration/kernel_function.h [new file with mode: 0644]
aten/src/ATen/core/op_registration/kernel_function_test.cpp [new file with mode: 0644]
aten/src/ATen/core/op_registration/kernel_functor.h [new file with mode: 0644]
aten/src/ATen/core/op_registration/kernel_functor_test.cpp [new file with mode: 0644]
aten/src/ATen/core/op_registration/kernel_stackbased.h
aten/src/ATen/core/op_registration/op_registration.h
aten/src/ATen/core/op_registration/test_helpers.h
c10/util/C++17.h
c10/util/Metaprogramming.h
caffe2/operators/CMakeLists.txt
caffe2/operators/experimental/c10/cpu/add_cpu.cc
caffe2/operators/experimental/c10/cpu/averaged_loss_cpu.cc
caffe2/operators/experimental/c10/cpu/batch_gather_cpu.cc
caffe2/operators/experimental/c10/cpu/batch_matmul_cpu.cc
caffe2/operators/experimental/c10/cpu/cast_cpu.cc
caffe2/operators/experimental/c10/cpu/concat_cpu.cc
caffe2/operators/experimental/c10/cpu/enforce_finite_cpu.cc
caffe2/operators/experimental/c10/cpu/expand_dims_cpu.cc
caffe2/operators/experimental/c10/cpu/fc_cpu.cc
caffe2/operators/experimental/c10/cpu/filler_cpu.cc
caffe2/operators/experimental/c10/cpu/flatten_cpu.cc
caffe2/operators/experimental/c10/cpu/mul_cpu.cc
caffe2/operators/experimental/c10/cpu/relu_cpu.cc
caffe2/operators/experimental/c10/cpu/sigmoid_cpu.cc
caffe2/operators/experimental/c10/cpu/sigmoid_cross_entropy_with_logits_cpu.cc
caffe2/operators/experimental/c10/cpu/sparse_lengths_sum_cpu.cc
caffe2/operators/experimental/c10/cpu/stop_gradient_cpu.cc
caffe2/operators/experimental/c10/schemas/add.cc [deleted file]
caffe2/operators/experimental/c10/schemas/add.h [deleted file]
caffe2/operators/experimental/c10/schemas/averaged_loss.cc [deleted file]
caffe2/operators/experimental/c10/schemas/averaged_loss.h [deleted file]
caffe2/operators/experimental/c10/schemas/batch_gather.cc [deleted file]
caffe2/operators/experimental/c10/schemas/batch_gather.h [deleted file]
caffe2/operators/experimental/c10/schemas/batch_matmul.cc [deleted file]
caffe2/operators/experimental/c10/schemas/batch_matmul.h [deleted file]
caffe2/operators/experimental/c10/schemas/cast.cc [deleted file]
caffe2/operators/experimental/c10/schemas/cast.h [deleted file]
caffe2/operators/experimental/c10/schemas/concat.cc [deleted file]
caffe2/operators/experimental/c10/schemas/concat.h [deleted file]
caffe2/operators/experimental/c10/schemas/enforce_finite.cc [deleted file]
caffe2/operators/experimental/c10/schemas/enforce_finite.h [deleted file]
caffe2/operators/experimental/c10/schemas/expand_dims.cc [deleted file]
caffe2/operators/experimental/c10/schemas/expand_dims.h [deleted file]
caffe2/operators/experimental/c10/schemas/fc.cc [deleted file]
caffe2/operators/experimental/c10/schemas/fc.h [deleted file]
caffe2/operators/experimental/c10/schemas/filler.cc [deleted file]
caffe2/operators/experimental/c10/schemas/filler.h [deleted file]
caffe2/operators/experimental/c10/schemas/flatten.cc [deleted file]
caffe2/operators/experimental/c10/schemas/flatten.h [deleted file]
caffe2/operators/experimental/c10/schemas/mul.cc [deleted file]
caffe2/operators/experimental/c10/schemas/mul.h [deleted file]
caffe2/operators/experimental/c10/schemas/relu.cc [deleted file]
caffe2/operators/experimental/c10/schemas/relu.h [deleted file]
caffe2/operators/experimental/c10/schemas/sigmoid.cc [deleted file]
caffe2/operators/experimental/c10/schemas/sigmoid.h [deleted file]
caffe2/operators/experimental/c10/schemas/sigmoid_cross_entropy_with_logits.cc [deleted file]
caffe2/operators/experimental/c10/schemas/sigmoid_cross_entropy_with_logits.h [deleted file]
caffe2/operators/experimental/c10/schemas/sparse_lengths_sum.cc [deleted file]
caffe2/operators/experimental/c10/schemas/sparse_lengths_sum.h [deleted file]
caffe2/operators/experimental/c10/schemas/stop_gradient.cc [deleted file]
caffe2/operators/experimental/c10/schemas/stop_gradient.h [deleted file]