[torchgen] Add CI job to cover custom ops registration for Executorch (#91291)

As titled. To register a custom op into Executorch, we need:

* `custom_ops.yaml`, defines the operator schema and the corresponding native function.
* `custom_ops.cpp`, defines the kernel.
* `RegisterDispatchKeyCustomOps.cpp`, a template to register operator into PyTorch.

Added a new test for custom ops. The custom op `custom::add_3.out` takes 3 tensors and add them together. The test makes sure it is registered correctly and then verifies the outcome is correct.

Differential Revision: [D42204263](https://our.internmc.facebook.com/intern/diff/D42204263/)
Pull Request resolved: https://github.com/pytorch/pytorch/pull/91291
Approved by: https://github.com/ezyang
This commit is contained in:
Larry Liu
2023-01-13 23:10:59 +00:00
committed by PyTorch MergeBot
parent 66b324cf06
commit 7568484d54
10 changed files with 133 additions and 34 deletions

View File

@ -23,7 +23,7 @@ class ComputeNativeFunctionStub:
return None
sig = DispatcherSignature.from_schema(
f.func, prefix=f"wrapper_{f.func.name.overload_name}_", symint=False
f.func, prefix=f"wrapper_CPU_{f.func.name.overload_name}_", symint=False
)
assert sig is not None
if len(f.func.returns) == 0: