1*da0073e9SAndroid Build Coastguard Worker #ifndef THP_STREAM_INC 2*da0073e9SAndroid Build Coastguard Worker #define THP_STREAM_INC 3*da0073e9SAndroid Build Coastguard Worker 4*da0073e9SAndroid Build Coastguard Worker #include <c10/core/Stream.h> 5*da0073e9SAndroid Build Coastguard Worker #include <c10/macros/Export.h> 6*da0073e9SAndroid Build Coastguard Worker #include <torch/csrc/python_headers.h> 7*da0073e9SAndroid Build Coastguard Worker 8*da0073e9SAndroid Build Coastguard Worker struct THPStream { 9*da0073e9SAndroid Build Coastguard Worker PyObject_HEAD int64_t stream_id; 10*da0073e9SAndroid Build Coastguard Worker int64_t device_type; 11*da0073e9SAndroid Build Coastguard Worker int64_t device_index; 12*da0073e9SAndroid Build Coastguard Worker }; 13*da0073e9SAndroid Build Coastguard Worker extern TORCH_API PyTypeObject* THPStreamClass; 14*da0073e9SAndroid Build Coastguard Worker 15*da0073e9SAndroid Build Coastguard Worker void THPStream_init(PyObject* module); 16*da0073e9SAndroid Build Coastguard Worker THPStream_Check(PyObject * obj)17*da0073e9SAndroid Build Coastguard Workerinline bool THPStream_Check(PyObject* obj) { 18*da0073e9SAndroid Build Coastguard Worker return THPStreamClass && PyObject_IsInstance(obj, (PyObject*)THPStreamClass); 19*da0073e9SAndroid Build Coastguard Worker } 20*da0073e9SAndroid Build Coastguard Worker 21*da0073e9SAndroid Build Coastguard Worker PyObject* THPStream_Wrap(const c10::Stream& stream); 22*da0073e9SAndroid Build Coastguard Worker 23*da0073e9SAndroid Build Coastguard Worker #endif // THP_STREAM_INC 24