/usr/local/lib64/python3.6/site-packages/torch/include/torch/csrc/jit/backends
Edit: /usr/local/lib64/python3.6/site-packages/torch/include/torch/csrc/jit/backends/backend_interface.h (1184B)
#pragma once
#include
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.
// \returns a dictionary of type Dict 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