mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 21:14:14 +08:00
Summary: This PR implements the necessary hooks/stubs/enums/etc for complete ONNX Runtime (ORT) Eager Mode integration. The actual extension will live out of tree at https://github.com/pytorch/ort. We have been [working on this at Microsoft](https://github.com/microsoft/onnxruntime-pytorch/tree/eager-ort/torch_onnxruntime) for the last few months, and are finally ready to contribute the PyTorch core changes upstream (nothing major or exciting, just the usual boilerplate for adding new backends). The ORT backend will allow us to ferry [almost] all torch ops into granular ONNX kernels that ORT will eagerly execute against any devices it supports (therefore, we only need a single ORT backend from a PyTorch perspective). Pull Request resolved: https://github.com/pytorch/pytorch/pull/58248 Reviewed By: astaff Differential Revision: D30344992 Pulled By: albanD fbshipit-source-id: 69082b32121246340d686e16653626114b7714b2
23 lines
500 B
C
23 lines
500 B
C
#pragma once
|
|
|
|
#include <torch/csrc/python_headers.h>
|
|
#include <torch/csrc/WindowsTorchApiMacro.h>
|
|
|
|
#include <ATen/Device.h>
|
|
|
|
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-member-init)
|
|
struct TORCH_API THPDevice {
|
|
PyObject_HEAD
|
|
at::Device device;
|
|
};
|
|
|
|
TORCH_API extern PyTypeObject THPDeviceType;
|
|
|
|
inline bool THPDevice_Check(PyObject *obj) {
|
|
return Py_TYPE(obj) == &THPDeviceType;
|
|
}
|
|
|
|
TORCH_API PyObject * THPDevice_New(const at::Device& device);
|
|
|
|
TORCH_API void THPDevice_init(PyObject *module);
|