mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 21:14:14 +08:00
Fixes #ISSUE_NUMBER Pull Request resolved: https://github.com/pytorch/pytorch/pull/138976 Approved by: https://github.com/Skylion007
33 lines
1.1 KiB
C++
33 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include <torch/custom_class.h>
|
|
|
|
namespace torch::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 torch::jit
|