pytorch/torch/csrc/jit/backends/backend_interface.h
Richard Barnes ee44d73e59 Modernize override (#61744)
Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/61744

Test Plan: Sandcastle

Reviewed By: malfet

Differential Revision: D29717320

fbshipit-source-id: 6eea4295ee2e5572ab337620be412376fcc2f3cc
2021-07-23 23:04:46 -07:00

35 lines
1.2 KiB
C++

#pragma once
#include <torch/custom_class.h>
namespace torch {
namespace jit {
// Interface for a JIT backend.
class TORCH_API PyTorchBackendInterface : public torch::CustomClassHolder {
public:
PyTorchBackendInterface() noexcept;
~PyTorchBackendInterface() override;
// Returns true if the backend is available to process delegation calls.
virtual bool is_available() = 0;
// Compile the module contained in \p processed using the details provided in
// \p method_compile_spec for each module method that should be compiled for
// the backend. \p method_compile_spec should be of type Dict<string, Any>.
// \returns a dictionary of type Dict<string, Any> that contains a backend
// handle each method that can run on the backend (i.e. each key in \p
// method_compile_spec).
virtual c10::impl::GenericDict compile(
c10::IValue processed,
c10::impl::GenericDict method_compile_spec) = 0;
// Execute the method specified by \p handle using \p inputs. \returns the
// outputs as a tuple.
virtual c10::impl::GenericList execute(
c10::IValue handle,
c10::impl::GenericList inputs) = 0;
};
} // namespace jit
} // namespace torch