from torch._C import _rename_privateuse1_backend def rename_privateuse1_backend(backend_name: str) -> None: r""" rename_privateuse1_backend(backend_name) -> None This is a registration API for external backends that would like to register their own device and C++ kernels out of tree. The steps are: (1) (In C++) implement kernels for various torch operations, and register them to the PrivateUse1 dispatch key. (2) (In python) call torch.register_privateuse1_backend("foo") You can now use "foo" as an ordinary device string in python. Note: this API can only be called once per process. Attempting to change the external backend after it's already been set will result in an error. For more details, see https://pytorch.org/tutorials/advanced/extend_dispatcher.html#get-a-dispatch-key-for-your-backend For an existing example, see https://github.com/bdhirsh/pytorch_open_registration_example Example:: >>> # xdoctest: +SKIP("failing") >>> torch.register_privateuse1_backend("foo") # This will work, assuming that you've implemented the right C++ kernels # to implement torch.ones. >>> a = torch.ones(2, device="foo") """ return _rename_privateuse1_backend(backend_name)