MCPcopy Create free account
hub / github.com/Oneflow-Inc/oneflow / GetTensorDataPtr

Function GetTensorDataPtr

oneflow/api/python/utils/tensor_utils.h:63–75  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

61Maybe<void> EagerLocalTensorZeros(const std::shared_ptr<Tensor>& t);
62
63inline Maybe<void*> GetTensorDataPtr(const std::shared_ptr<LocalTensor>& tensor) {
64 void* data_ptr = nullptr;
65 const auto& Callback = [&](ep::Stream*,
66 const std::shared_ptr<vm::EagerBlobObject>& eager_blob_object) {
67 data_ptr = eager_blob_object->mut_raw_dptr();
68 };
69 auto btb = std::make_shared<BlockingThenBusy>();
70 JUST(PhysicalRun([&](InstructionsBuilder* builder) -> Maybe<void> {
71 return builder->SyncAccessBlobByCallback(tensor, btb, Callback, "const");
72 }));
73 JUST(btb->WaitUntilCntEqualZero(VirtualMachine::GetPredicatorNoMoreInstructionsFinished()));
74 return data_ptr;
75}
76
77template<typename T>
78inline static Maybe<PyObject*> EagerLocalTensorToNumpy(PyObject* py_tensor) {

Callers 2

PyTensorObject_data_ptrFunction · 0.85
EagerLocalTensorToNumpyFunction · 0.85

Calls 4

PhysicalRunFunction · 0.85
mut_raw_dptrMethod · 0.45
WaitUntilCntEqualZeroMethod · 0.45

Tested by

no test coverage detected