From 50b8184932102f3f18f097d911a41dc933294da0 Mon Sep 17 00:00:00 2001 From: Zhenhua <1209435+hengzi@users.noreply.github.com> Date: Tue, 27 Apr 2021 23:04:30 +0800 Subject: [PATCH] Refactor namespace eager (#4727) * Rename namespace eager to vm * Merge the same namespace * Fix conflict Co-authored-by: oneflow-ci-bot <69100618+oneflow-ci-bot@users.noreply.github.com> --- oneflow/core/eager/blob_instruction_type.cpp | 6 +-- oneflow/core/eager/blob_instruction_type.h | 4 +- oneflow/core/eager/blob_object.cpp | 4 +- oneflow/core/eager/blob_object.h | 4 +- .../core/eager/cpu_blob_instruction_type.cpp | 4 +- .../eager/cpu_opkernel_instruction_type.cpp | 4 +- .../core/eager/cuda_blob_instruction_type.cpp | 4 +- .../eager/cuda_opkernel_instruction_type.cpp | 4 +- oneflow/core/eager/eager_blob_object.cpp | 4 +- oneflow/core/eager/eager_blob_object.h | 4 +- oneflow/core/eager/eager_instruction.proto | 2 +- oneflow/core/eager/eager_oneflow.cpp | 15 ++++--- oneflow/core/eager/eager_oneflow.h | 18 ++------- oneflow/core/eager/eager_symbol.proto | 2 +- .../eager/init_symbol_instruction_type.cpp | 4 +- .../init_symbol_instruction_type_test.cpp | 4 +- oneflow/core/eager/lazy_ref_blob_object.h | 4 +- .../local_call_opkernel_phy_instr_operand.cpp | 4 +- .../local_call_opkernel_phy_instr_operand.h | 6 +-- oneflow/core/eager/opkernel_instruction.msg.h | 4 +- .../core/eager/opkernel_instruction_type.cpp | 10 ++--- .../core/eager/opkernel_instruction_type.h | 4 +- .../eager/opkernel_instruction_type_test.cpp | 4 +- oneflow/core/eager/opkernel_object.cpp | 4 +- oneflow/core/eager/opkernel_object.h | 4 +- .../eager/release_tensor_instruction_type.cpp | 4 +- .../eager/release_tensor_instruction_type.h | 4 +- ...move_foreign_callback_instruction_type.cpp | 4 +- .../eager/transport_blob_instruction_type.cpp | 4 +- .../eager/transport_blob_instruction_type.h | 4 +- .../transport_blob_instruction_type_test.cpp | 4 +- .../core/framework/instructions_builder.cpp | 40 +++++++++---------- oneflow/core/framework/instructions_builder.h | 16 ++++---- oneflow/core/framework/interpreter.cpp | 4 +- oneflow/core/framework/interpreter.h | 4 +- .../eager_mirrored_op_interpreter.cpp | 39 +++++++++--------- .../eager_mirrored_op_interpreter.h | 3 +- .../op_interpreter/op_interpreter_util.cpp | 2 +- .../op_interpreter/op_interpreter_util.h | 2 +- oneflow/core/framework/session_util.cpp | 4 +- oneflow/core/framework/session_util.h | 4 +- oneflow/core/framework/tensor.cpp | 2 +- oneflow/core/framework/tensor.h | 10 ++--- oneflow/core/framework/tensor_impl.cpp | 4 +- oneflow/core/framework/tensor_impl.h | 24 +++++------ oneflow/core/framework/tensor_storage.cpp | 4 +- oneflow/core/framework/tensor_storage.h | 12 +++--- oneflow/core/job/cluster.cpp | 2 +- oneflow/core/job/cluster_instruction.proto | 2 +- .../vm/access_blob_arg_cb_phy_instr_operand.h | 13 +++--- ...ad_tensor_shape_arg_cb_phy_instr_operand.h | 11 ++--- .../vm/release_tensor_arg_phy_instr_operand.h | 13 +++--- .../user/kernels/stateful_local_opkernel.cpp | 14 +++---- .../user/kernels/stateful_local_opkernel.h | 21 +++++----- 54 files changed, 190 insertions(+), 215 deletions(-) diff --git a/oneflow/core/eager/blob_instruction_type.cpp b/oneflow/core/eager/blob_instruction_type.cpp index 605ffa824..85242fce7 100644 --- a/oneflow/core/eager/blob_instruction_type.cpp +++ b/oneflow/core/eager/blob_instruction_type.cpp @@ -33,7 +33,7 @@ limitations under the License. #include "oneflow/core/eager/eager_blob_object.h" namespace oneflow { -namespace eager { +namespace vm { namespace { @@ -115,7 +115,7 @@ Maybe<void> LazyReferenceInstructionType::Run(vm::Instruction* instruction) cons ¶llel_ctx, instruction->stream().machine_id(), instruction->stream().device_id())); Blob* blob = Global<RegstMgr>::Get()->Blob4LbiAndParallelId(GenLogicalBlobId(lbn), parallel_ctx.parallel_id()); - eager_blob_rw->Init<eager::LazyRefBlobObject>(blob); + eager_blob_rw->Init<vm::LazyRefBlobObject>(blob); return Maybe<void>::Ok(); } @@ -158,5 +158,5 @@ class ReadTensorShapeByCallbackInstructionType : public vm::InstructionType { COMMAND(vm::RegisterInstructionType<ReadTensorShapeByCallbackInstructionType>( "ReadTensorShapeByCallback")); -} // namespace eager +} // namespace vm } // namespace oneflow diff --git a/oneflow/core/eager/blob_instruction_type.h b/oneflow/core/eager/blob_instruction_type.h index 99ba99524..f3b04ecae 100644 --- a/oneflow/core/eager/blob_instruction_type.h +++ b/oneflow/core/eager/blob_instruction_type.h @@ -18,7 +18,7 @@ limitations under the License. #include "oneflow/core/vm/instruction_operand.msg.h" namespace oneflow { -namespace eager { +namespace vm { class LazyReferenceInstructionType : public vm::InstructionType { public: @@ -53,5 +53,5 @@ class AccessBlobByCallbackInstructionType : public vm::InstructionType { } }; -} // namespace eager +} // namespace vm } // namespace oneflow diff --git a/oneflow/core/eager/blob_object.cpp b/oneflow/core/eager/blob_object.cpp index 90758d410..20edc0240 100644 --- a/oneflow/core/eager/blob_object.cpp +++ b/oneflow/core/eager/blob_object.cpp @@ -17,7 +17,7 @@ limitations under the License. #include "oneflow/core/job/parallel_desc.h" namespace oneflow { -namespace eager { +namespace vm { Maybe<void> BlobObject::CheckMemCase(const ParallelDesc& parallel_desc, int64_t machine_id) const { CHECK_OR_RETURN(parallel_desc.HasMachineId(machine_id)) @@ -39,5 +39,5 @@ Maybe<void> BlobObject::CheckMemCase(const ParallelDesc& parallel_desc, int64_t return Maybe<void>::Ok(); } -} // namespace eager +} // namespace vm } // namespace oneflow diff --git a/oneflow/core/eager/blob_object.h b/oneflow/core/eager/blob_object.h index d52df2012..0f5acfa73 100644 --- a/oneflow/core/eager/blob_object.h +++ b/oneflow/core/eager/blob_object.h @@ -24,7 +24,7 @@ namespace oneflow { class ParallelDesc; -namespace eager { +namespace vm { class BlobObject : public vm::Object { public: @@ -53,7 +53,7 @@ class BlobObject : public vm::Object { BlobDesc blob_desc_; }; -} // namespace eager +} // namespace vm } // namespace oneflow #endif // ONEFLOW_CORE_EAGER_BLOB_OBJECT_H_ diff --git a/oneflow/core/eager/cpu_blob_instruction_type.cpp b/oneflow/core/eager/cpu_blob_instruction_type.cpp index ba7bc109d..0aea5c832 100644 --- a/oneflow/core/eager/cpu_blob_instruction_type.cpp +++ b/oneflow/core/eager/cpu_blob_instruction_type.cpp @@ -17,7 +17,7 @@ limitations under the License. #include "oneflow/core/vm/cpu_stream_type.h" namespace oneflow { -namespace eager { +namespace vm { class CpuLazyReferenceInstructionType : public LazyReferenceInstructionType { public: CpuLazyReferenceInstructionType() = default; @@ -38,5 +38,5 @@ class CpuAccessBlobByCallbackInstructionType final : public AccessBlobByCallback COMMAND(vm::RegisterInstructionType<CpuAccessBlobByCallbackInstructionType>( "cpu.AccessBlobByCallback")); -} // namespace eager +} // namespace vm } // namespace oneflow diff --git a/oneflow/core/eager/cpu_opkernel_instruction_type.cpp b/oneflow/core/eager/cpu_opkernel_instruction_type.cpp index 3578ff82f..0561ef6c7 100644 --- a/oneflow/core/eager/cpu_opkernel_instruction_type.cpp +++ b/oneflow/core/eager/cpu_opkernel_instruction_type.cpp @@ -26,7 +26,7 @@ limitations under the License. #include "oneflow/core/vm/object.h" namespace oneflow { -namespace eager { +namespace vm { class CpuLocalCallOpKernelInstructionType final : public LocalCallOpKernelInstructionType { public: @@ -116,5 +116,5 @@ class CpuFeedBlobInstructionType final : public FeedBlobInstructionType { }; COMMAND(vm::RegisterInstructionType<CpuFeedBlobInstructionType>("cpu.FeedBlob")); -} // namespace eager +} // namespace vm } // namespace oneflow diff --git a/oneflow/core/eager/cuda_blob_instruction_type.cpp b/oneflow/core/eager/cuda_blob_instruction_type.cpp index 0739564d0..db9b11d23 100644 --- a/oneflow/core/eager/cuda_blob_instruction_type.cpp +++ b/oneflow/core/eager/cuda_blob_instruction_type.cpp @@ -18,7 +18,7 @@ limitations under the License. #include "oneflow/core/vm/cuda_stream_type.h" namespace oneflow { -namespace eager { +namespace vm { class GpuLazyReferenceInstructionType : public LazyReferenceInstructionType { public: GpuLazyReferenceInstructionType() = default; @@ -37,6 +37,6 @@ class GpuAccessBlobByCallbackInstructionType final : public AccessBlobByCallback COMMAND(vm::RegisterInstructionType<GpuAccessBlobByCallbackInstructionType>( "gpu.AccessBlobByCallback")); -} // namespace eager +} // namespace vm } // namespace oneflow #endif diff --git a/oneflow/core/eager/cuda_opkernel_instruction_type.cpp b/oneflow/core/eager/cuda_opkernel_instruction_type.cpp index ca057dfb4..7a7d565de 100644 --- a/oneflow/core/eager/cuda_opkernel_instruction_type.cpp +++ b/oneflow/core/eager/cuda_opkernel_instruction_type.cpp @@ -30,7 +30,7 @@ limitations under the License. #include "oneflow/core/vm/object.h" namespace oneflow { -namespace eager { +namespace vm { class CudaLocalCallOpKernelInstructionType final : public LocalCallOpKernelInstructionType { public: @@ -155,7 +155,7 @@ class GpuFeedBlobInstructionType final : public FeedBlobInstructionType { }; COMMAND(vm::RegisterInstructionType<GpuFeedBlobInstructionType>("gpu.FeedBlob")); -} // namespace eager +} // namespace vm } // namespace oneflow #endif diff --git a/oneflow/core/eager/eager_blob_object.cpp b/oneflow/core/eager/eager_blob_object.cpp index 7e0e4b8f2..b99e7f882 100644 --- a/oneflow/core/eager/eager_blob_object.cpp +++ b/oneflow/core/eager/eager_blob_object.cpp @@ -20,7 +20,7 @@ limitations under the License. #include "oneflow/core/framework/shut_down_util.h" namespace oneflow { -namespace eager { +namespace vm { namespace { Maybe<VmLocalDepObject> GetVmLocalDepObject( @@ -92,5 +92,5 @@ Maybe<void> EagerBlobObject::TryAllocateBlobBodyMemory(DeviceCtx* device_ctx) { return Maybe<void>::Ok(); } -} // namespace eager +} // namespace vm } // namespace oneflow diff --git a/oneflow/core/eager/eager_blob_object.h b/oneflow/core/eager/eager_blob_object.h index f347af61f..b0721b91f 100644 --- a/oneflow/core/eager/eager_blob_object.h +++ b/oneflow/core/eager/eager_blob_object.h @@ -23,7 +23,7 @@ limitations under the License. namespace oneflow { -namespace eager { +namespace vm { class TensorBuffer { public: @@ -79,7 +79,7 @@ class EagerBlobObject final : public BlobObject { Maybe<VmLocalDepObject> compute_local_dep_object_; }; -} // namespace eager +} // namespace vm } // namespace oneflow #endif // ONEFLOW_CORE_EAGER_EAGER_BLOB_OBJECT_H_ diff --git a/oneflow/core/eager/eager_instruction.proto b/oneflow/core/eager/eager_instruction.proto index f5eb7260f..4b52e2abf 100644 --- a/oneflow/core/eager/eager_instruction.proto +++ b/oneflow/core/eager/eager_instruction.proto @@ -1,5 +1,5 @@ syntax = "proto2"; -package oneflow.eager; +package oneflow.vm; import "oneflow/core/vm/instruction.proto"; import "oneflow/core/eager/eager_symbol.proto"; diff --git a/oneflow/core/eager/eager_oneflow.cpp b/oneflow/core/eager/eager_oneflow.cpp index 20daf029c..cf59c06a8 100644 --- a/oneflow/core/eager/eager_oneflow.cpp +++ b/oneflow/core/eager/eager_oneflow.cpp @@ -36,7 +36,7 @@ limitations under the License. #include "oneflow/core/common/util.h" namespace oneflow { -namespace eager { +namespace vm { namespace { @@ -77,23 +77,22 @@ Maybe<void> EagerOneflow::RunPhysicalInstruction( Maybe<void> EagerOneflow::RunPhysicalInstruction( vm::InstructionMsgList* instruction_list, - const eager::cfg::EagerSymbolList& cfg_eager_symbol_list) { - eager::EagerSymbolList eager_symbol_list; + const vm::cfg::EagerSymbolList& cfg_eager_symbol_list) { + vm::EagerSymbolList eager_symbol_list; cfg_eager_symbol_list.ToProto(&eager_symbol_list); return RunPhysicalInstruction(instruction_list, eager_symbol_list); } Maybe<void> EagerOneflow::RunPhysicalInstruction(vm::InstructionMsgList* instruction_list, - const eager::EagerSymbolList& eager_symbol_list) { + const vm::EagerSymbolList& eager_symbol_list) { for (const auto& eager_symbol : eager_symbol_list.eager_symbol()) { JUST(StorageAdd(eager_symbol)); } return vm::Run(instruction_list); } -Maybe<void> EagerOneflow::RunLogicalInstruction( - vm::InstructionMsgList* instruction_list, - const eager::cfg::EagerSymbolList& eager_symbol_list) { +Maybe<void> EagerOneflow::RunLogicalInstruction(vm::InstructionMsgList* instruction_list, + const vm::cfg::EagerSymbolList& eager_symbol_list) { ClusterInstructionProto cluster_instruction; auto* repeated_instruction_proto = cluster_instruction.mutable_eager_instruction() ->mutable_instruction_list() @@ -111,5 +110,5 @@ Maybe<void> EagerOneflow::RunLogicalInstruction( COMMAND(Global<EagerOneflow>::SetAllocated(new EagerOneflow())); -} // namespace eager +} // namespace vm } // namespace oneflow diff --git a/oneflow/core/eager/eager_oneflow.h b/oneflow/core/eager/eager_oneflow.h index cd42aa28f..e536b853f 100644 --- a/oneflow/core/eager/eager_oneflow.h +++ b/oneflow/core/eager/eager_oneflow.h @@ -28,36 +28,26 @@ namespace vm { namespace cfg { class InstructionListProto; - -} // namespace cfg -} // namespace vm - -namespace eager { -namespace cfg { - class EagerSymbolList; } // namespace cfg -} // namespace eager - -namespace eager { class EagerOneflow final { public: Maybe<void> RunLogicalInstruction(vm::InstructionMsgList* instruction_list, - const eager::cfg::EagerSymbolList& eager_symbol_list); + const vm::cfg::EagerSymbolList& eager_symbol_list); Maybe<void> RunPhysicalInstruction( const std::shared_ptr<const ClusterInstructionProto>& cluster_instruction); Maybe<void> RunPhysicalInstruction(vm::InstructionMsgList* instruction_list, - const eager::cfg::EagerSymbolList& eager_symbol_list); + const vm::cfg::EagerSymbolList& eager_symbol_list); Maybe<void> RunPhysicalInstruction(vm::InstructionMsgList* instruction_list, - const eager::EagerSymbolList& eager_symbol_list); + const vm::EagerSymbolList& eager_symbol_list); }; -} // namespace eager +} // namespace vm } // namespace oneflow #endif // ONEFLOW_CORE_EAGER_EAGER_ONEFLOW_H_ diff --git a/oneflow/core/eager/eager_symbol.proto b/oneflow/core/eager/eager_symbol.proto index 104e3c41b..64f688a4f 100644 --- a/oneflow/core/eager/eager_symbol.proto +++ b/oneflow/core/eager/eager_symbol.proto @@ -1,5 +1,5 @@ syntax = "proto2"; -package oneflow.eager; +package oneflow.vm; import "oneflow/core/job/job_conf.proto"; import "oneflow/core/job/placement.proto"; diff --git a/oneflow/core/eager/init_symbol_instruction_type.cpp b/oneflow/core/eager/init_symbol_instruction_type.cpp index 9d133affd..9283c683a 100644 --- a/oneflow/core/eager/init_symbol_instruction_type.cpp +++ b/oneflow/core/eager/init_symbol_instruction_type.cpp @@ -21,7 +21,7 @@ limitations under the License. #include "oneflow/core/operator/op_conf_symbol.h" namespace oneflow { -namespace eager { +namespace vm { COMMAND(Global<symbol::Storage<Scope>>::SetAllocated(new symbol::Storage<Scope>())); using ScopeInstr = vm::InitSymbolInstructionType<Scope>; @@ -42,5 +42,5 @@ COMMAND(Global<symbol::Storage<OpNodeSignatureDesc>>::SetAllocated( using OpNodeSignatureInstr = vm::InitSymbolInstructionType<OpNodeSignatureDesc>; COMMAND(vm::RegisterInstructionType<OpNodeSignatureInstr>("InitOpNodeSignatureDescSymbol")); -} // namespace eager +} // namespace vm } // namespace oneflow diff --git a/oneflow/core/eager/init_symbol_instruction_type_test.cpp b/oneflow/core/eager/init_symbol_instruction_type_test.cpp index 123545531..fda538834 100644 --- a/oneflow/core/eager/init_symbol_instruction_type_test.cpp +++ b/oneflow/core/eager/init_symbol_instruction_type_test.cpp @@ -36,7 +36,7 @@ limitations under the License. #include "oneflow/core/operator/op_conf_symbol.h" namespace oneflow { -namespace eager { +namespace vm { namespace test { namespace { @@ -86,5 +86,5 @@ TEST(InitSymbolInstructionType, operator_conf) { } } // namespace test -} // namespace eager +} // namespace vm } // namespace oneflow diff --git a/oneflow/core/eager/lazy_ref_blob_object.h b/oneflow/core/eager/lazy_ref_blob_object.h index f4082e129..19faeb408 100644 --- a/oneflow/core/eager/lazy_ref_blob_object.h +++ b/oneflow/core/eager/lazy_ref_blob_object.h @@ -19,7 +19,7 @@ limitations under the License. #include "oneflow/core/eager/blob_object.h" namespace oneflow { -namespace eager { +namespace vm { class LazyRefBlobObject final : public BlobObject { public: @@ -57,7 +57,7 @@ class LazyRefBlobObject final : public BlobObject { Blob* ref_blob_ = nullptr; }; -} // namespace eager +} // namespace vm } // namespace oneflow #endif // ONEFLOW_CORE_EAGER_LAZY_REF_BLOB_OBJECT_H_ diff --git a/oneflow/core/eager/local_call_opkernel_phy_instr_operand.cpp b/oneflow/core/eager/local_call_opkernel_phy_instr_operand.cpp index e2977144b..3c6d3314e 100644 --- a/oneflow/core/eager/local_call_opkernel_phy_instr_operand.cpp +++ b/oneflow/core/eager/local_call_opkernel_phy_instr_operand.cpp @@ -17,7 +17,7 @@ limitations under the License. #include "oneflow/user/kernels/stateful_local_opkernel.h" namespace oneflow { -namespace eager { +namespace vm { void LocalCallOpKernelPhyInstrOperand::ForEachConstMirroredObject( const std::function<void(vm::MirroredObject* infer, vm::MirroredObject* compute)>& DoEach) @@ -73,5 +73,5 @@ void LocalCallOpKernelPhyInstrOperand::ForEachMut2MirroredObject( } } -} // namespace eager +} // namespace vm } // namespace oneflow diff --git a/oneflow/core/eager/local_call_opkernel_phy_instr_operand.h b/oneflow/core/eager/local_call_opkernel_phy_instr_operand.h index 52e3723a7..434ddd148 100644 --- a/oneflow/core/eager/local_call_opkernel_phy_instr_operand.h +++ b/oneflow/core/eager/local_call_opkernel_phy_instr_operand.h @@ -26,7 +26,7 @@ namespace one { class StatefulOpKernel; using EagerBlobObjectList = - std::shared_ptr<const std::vector<std::shared_ptr<eager::EagerBlobObject>>>; + std::shared_ptr<const std::vector<std::shared_ptr<vm::EagerBlobObject>>>; } // namespace one @@ -36,7 +36,7 @@ class OpKernel; } // namespace user_op -namespace eager { +namespace vm { class LocalCallOpKernelPhyInstrOperand final : public vm::PhyInstrOperand { public: @@ -84,7 +84,7 @@ class LocalCallOpKernelPhyInstrOperand final : public vm::PhyInstrOperand { const user_op::OpKernel* user_opkernel_; }; -} // namespace eager +} // namespace vm } // namespace oneflow #endif // ONEFLOW_CORE_EAGER_LOCAL_CALL_OPKERNEL_PHY_INSTR_OPERAND_H_ diff --git a/oneflow/core/eager/opkernel_instruction.msg.h b/oneflow/core/eager/opkernel_instruction.msg.h index 42fef70f6..41c5a902a 100644 --- a/oneflow/core/eager/opkernel_instruction.msg.h +++ b/oneflow/core/eager/opkernel_instruction.msg.h @@ -21,7 +21,7 @@ limitations under the License. #include "oneflow/core/vm/instruction_operand.msg.h" namespace oneflow { -namespace eager { +namespace vm { // clang-format off FLAT_MSG_VIEW_BEGIN(NewOpKernelObjectInstrOperand); @@ -94,7 +94,7 @@ FLAT_MSG_VIEW_BEGIN(RemoveForeignCallbackInstrOperand); FLAT_MSG_VIEW_END(RemoveForeignCallbackInstrOperand); // clang-format on -} // namespace eager +} // namespace vm } // namespace oneflow #endif // ONEFLOW_CORE_EAGER_OPKERNEL_INSTRUCTION_MSG_H_ diff --git a/oneflow/core/eager/opkernel_instruction_type.cpp b/oneflow/core/eager/opkernel_instruction_type.cpp index 4691cf443..c0721525b 100644 --- a/oneflow/core/eager/opkernel_instruction_type.cpp +++ b/oneflow/core/eager/opkernel_instruction_type.cpp @@ -42,7 +42,7 @@ limitations under the License. #include "oneflow/user/kernels/stateful_local_opkernel.h" namespace oneflow { -namespace eager { +namespace vm { class InitOpKernelObjectInstructionType final : public vm::InstructionType { public: @@ -499,7 +499,7 @@ struct LocalCallOpKernelUtil final { DeviceType device_type = JUST(DeviceType4DeviceTag(stream.stream_type().device_tag())); const auto& mem_case = JUST(GetMemCase(operand)); JUST(CheckMemCase(mem_case, device_type, stream.device_id())); - JUST(operand->ForEachOutputTensor([&](eager::EagerBlobObject* blob_object) -> Maybe<void> { + JUST(operand->ForEachOutputTensor([&](vm::EagerBlobObject* blob_object) -> Maybe<void> { CHECK_OR_RETURN(static_cast<bool>(blob_object)); if (operand->opkernel().need_check_mem_case()) { JUST(CheckMemCase(blob_object->mem_case(), device_type, stream.device_id())); @@ -510,7 +510,7 @@ struct LocalCallOpKernelUtil final { } static inline Maybe<void> InitOutputBlobs(LocalCallOpKernelPhyInstrOperand* operand) { - JUST(operand->ForEachOutputTensor([&](eager::EagerBlobObject* blob_object) -> Maybe<void> { + JUST(operand->ForEachOutputTensor([&](vm::EagerBlobObject* blob_object) -> Maybe<void> { CHECK_OR_RETURN(static_cast<bool>(blob_object)); JUST(blob_object->InitBlob()); return Maybe<void>::Ok(); @@ -569,7 +569,7 @@ struct LocalCallOpKernelUtil final { static inline Maybe<void> AllocateOutputBlobsMemory(LocalCallOpKernelPhyInstrOperand* operand, DeviceCtx* device_ctx) { - JUST(operand->ForEachOutputTensor([&](eager::EagerBlobObject* blob_object) -> Maybe<void> { + JUST(operand->ForEachOutputTensor([&](vm::EagerBlobObject* blob_object) -> Maybe<void> { JUST(blob_object->TryAllocateBlobBodyMemory(device_ctx)); return Maybe<void>::Ok(); })); @@ -758,5 +758,5 @@ void FeedBlobInstructionType::Compute(vm::Instruction* instruction) const { FeedOrFetchBlob<FeedBlobInstrOperand>(instruction); } -} // namespace eager +} // namespace vm } // namespace oneflow diff --git a/oneflow/core/eager/opkernel_instruction_type.h b/oneflow/core/eager/opkernel_instruction_type.h index 1b6883a3b..5554b9696 100644 --- a/oneflow/core/eager/opkernel_instruction_type.h +++ b/oneflow/core/eager/opkernel_instruction_type.h @@ -22,7 +22,7 @@ limitations under the License. #include "oneflow/core/memory/memory_case.pb.h" namespace oneflow { -namespace eager { +namespace vm { class LocalCallOpKernelInstructionType : public vm::InstructionType { public: @@ -137,7 +137,7 @@ class FeedBlobInstructionType : public vm::InstructionType { virtual const char* device_tag() const = 0; }; -} // namespace eager +} // namespace vm } // namespace oneflow #endif // ONEFLOW_CORE_EAGER_CALL_OPKERNEL_INSTRUCTION_H_ diff --git a/oneflow/core/eager/opkernel_instruction_type_test.cpp b/oneflow/core/eager/opkernel_instruction_type_test.cpp index 6f5918d87..68f7f18b6 100644 --- a/oneflow/core/eager/opkernel_instruction_type_test.cpp +++ b/oneflow/core/eager/opkernel_instruction_type_test.cpp @@ -37,7 +37,7 @@ limitations under the License. #include "oneflow/core/operator/op_node_signature.pb.h" namespace oneflow { -namespace eager { +namespace vm { namespace test { namespace { @@ -404,5 +404,5 @@ TEST(OpkernelInstructionType, consecutive_stateless_call_opkernel) { } } // namespace test -} // namespace eager +} // namespace vm } // namespace oneflow diff --git a/oneflow/core/eager/opkernel_object.cpp b/oneflow/core/eager/opkernel_object.cpp index 359fb4ea7..21d6644e6 100644 --- a/oneflow/core/eager/opkernel_object.cpp +++ b/oneflow/core/eager/opkernel_object.cpp @@ -16,7 +16,7 @@ limitations under the License. #include "oneflow/core/eager/opkernel_object.h" namespace oneflow { -namespace eager { +namespace vm { Maybe<void> OpKernelObject::ResetOpAndKernel( const OpNodeSignatureDesc& op_node_signature, const ParallelContext* parallel_ctx, @@ -84,5 +84,5 @@ void SystemOpKernelObject::ResetKernel( kernel_ = ConstructKernel(job_desc_.get(), kernel_conf, nullptr); } -} // namespace eager +} // namespace vm } // namespace oneflow diff --git a/oneflow/core/eager/opkernel_object.h b/oneflow/core/eager/opkernel_object.h index 7ddfd0d2f..326adb50f 100644 --- a/oneflow/core/eager/opkernel_object.h +++ b/oneflow/core/eager/opkernel_object.h @@ -28,7 +28,7 @@ class KernelCtx; class Blob; class ParallelContext; -namespace eager { +namespace vm { class OpKernelObject : public vm::Object { public: @@ -117,7 +117,7 @@ class SystemOpKernelObject : public vm::Object { std::unique_ptr<const Kernel> kernel_; }; -} // namespace eager +} // namespace vm } // namespace oneflow #endif // ONEFLOW_CORE_EAGER_OPKERNEL_OBJECT_H_ diff --git a/oneflow/core/eager/release_tensor_instruction_type.cpp b/oneflow/core/eager/release_tensor_instruction_type.cpp index 855cd58e8..49ae748f3 100644 --- a/oneflow/core/eager/release_tensor_instruction_type.cpp +++ b/oneflow/core/eager/release_tensor_instruction_type.cpp @@ -22,7 +22,7 @@ limitations under the License. namespace oneflow { -namespace eager { +namespace vm { void ReleaseTensorInstructionType::Infer(vm::Instruction* instruction) const { // do nothing @@ -56,5 +56,5 @@ class GpuReleaseTensorInstructionType final : public ReleaseTensorInstructionTyp COMMAND(vm::RegisterInstructionType<GpuReleaseTensorInstructionType>("gpu.ReleaseTensor")); #endif -} // namespace eager +} // namespace vm } // namespace oneflow diff --git a/oneflow/core/eager/release_tensor_instruction_type.h b/oneflow/core/eager/release_tensor_instruction_type.h index 72fa5ec11..01b2d9498 100644 --- a/oneflow/core/eager/release_tensor_instruction_type.h +++ b/oneflow/core/eager/release_tensor_instruction_type.h @@ -20,7 +20,7 @@ limitations under the License. namespace oneflow { -namespace eager { +namespace vm { class ReleaseTensorInstructionType : public vm::InstructionType { public: @@ -31,6 +31,6 @@ class ReleaseTensorInstructionType : public vm::InstructionType { void Compute(vm::Instruction* instruction) const override; }; -} // namespace eager +} // namespace vm } // namespace oneflow #endif // ONEFLOW_CORE_EAGER_RELEASE_TENSOR_INSTRUCTION_TYPE_H_ diff --git a/oneflow/core/eager/remove_foreign_callback_instruction_type.cpp b/oneflow/core/eager/remove_foreign_callback_instruction_type.cpp index 2a0c68ea1..19314bfe0 100644 --- a/oneflow/core/eager/remove_foreign_callback_instruction_type.cpp +++ b/oneflow/core/eager/remove_foreign_callback_instruction_type.cpp @@ -21,7 +21,7 @@ limitations under the License. namespace oneflow { -namespace eager { +namespace vm { class RemoveForeignCallbackInstructionType : public vm::InstructionType { public: @@ -43,6 +43,6 @@ class RemoveForeignCallbackInstructionType : public vm::InstructionType { COMMAND(vm::RegisterInstructionType<RemoveForeignCallbackInstructionType>("RemoveForeignCallback")); -} // namespace eager +} // namespace vm } // namespace oneflow diff --git a/oneflow/core/eager/transport_blob_instruction_type.cpp b/oneflow/core/eager/transport_blob_instruction_type.cpp index ce6872c8f..91aa66357 100644 --- a/oneflow/core/eager/transport_blob_instruction_type.cpp +++ b/oneflow/core/eager/transport_blob_instruction_type.cpp @@ -23,7 +23,7 @@ limitations under the License. #include "oneflow/core/transport/transport.h" namespace oneflow { -namespace eager { +namespace vm { namespace { @@ -177,5 +177,5 @@ Maybe<void> ReceiveBlobInstructionType::Receive(int64_t src_machine_id, uint64_t COMMAND(vm::RegisterInstructionType<SendBlobInstructionType>("SendBlob")); COMMAND(vm::RegisterInstructionType<ReceiveBlobInstructionType>("ReceiveBlob")); -} // namespace eager +} // namespace vm } // namespace oneflow diff --git a/oneflow/core/eager/transport_blob_instruction_type.h b/oneflow/core/eager/transport_blob_instruction_type.h index 0454e3bfd..8fe0417fb 100644 --- a/oneflow/core/eager/transport_blob_instruction_type.h +++ b/oneflow/core/eager/transport_blob_instruction_type.h @@ -21,7 +21,7 @@ limitations under the License. #include "oneflow/core/vm/transport_stream_type.h" namespace oneflow { -namespace eager { +namespace vm { class SendBlobInstructionType : public vm::InstructionType { public: @@ -65,7 +65,7 @@ class ReceiveBlobInstructionType : public vm::InstructionType { Maybe<void> Receive(vm::Instruction* instruction) const; }; -} // namespace eager +} // namespace vm } // namespace oneflow #endif // ONEFLOW_CORE_EAGER_SEND_BLOB_INSTRUCTION_TYPE_H_ diff --git a/oneflow/core/eager/transport_blob_instruction_type_test.cpp b/oneflow/core/eager/transport_blob_instruction_type_test.cpp index 7bc9f74c3..f51328686 100644 --- a/oneflow/core/eager/transport_blob_instruction_type_test.cpp +++ b/oneflow/core/eager/transport_blob_instruction_type_test.cpp @@ -44,7 +44,7 @@ limitations under the License. #include "oneflow/core/control/ctrl_util.h" namespace oneflow { -namespace eager { +namespace vm { namespace test { namespace { @@ -304,5 +304,5 @@ TEST(SendReceiveInstructionType, naive) { } } // namespace test -} // namespace eager +} // namespace vm } // namespace oneflow diff --git a/oneflow/core/framework/instructions_builder.cpp b/oneflow/core/framework/instructions_builder.cpp index 1a4b23470..db4820d9b 100644 --- a/oneflow/core/framework/instructions_builder.cpp +++ b/oneflow/core/framework/instructions_builder.cpp @@ -68,21 +68,20 @@ const char* GetInstrTypeName<cfg::ScopeProto>() { } template<typename T> -T* MutEagerSymbolConf(eager::cfg::EagerSymbol*); +T* MutEagerSymbolConf(vm::cfg::EagerSymbol*); template<> -cfg::JobConfigProto* MutEagerSymbolConf<cfg::JobConfigProto>( - eager::cfg::EagerSymbol* eager_symbol) { +cfg::JobConfigProto* MutEagerSymbolConf<cfg::JobConfigProto>(vm::cfg::EagerSymbol* eager_symbol) { return eager_symbol->mutable_job_conf_symbol(); } template<> -cfg::ParallelConf* MutEagerSymbolConf<cfg::ParallelConf>(eager::cfg::EagerSymbol* eager_symbol) { +cfg::ParallelConf* MutEagerSymbolConf<cfg::ParallelConf>(vm::cfg::EagerSymbol* eager_symbol) { return eager_symbol->mutable_parallel_conf_symbol(); } template<> -cfg::ScopeProto* MutEagerSymbolConf<cfg::ScopeProto>(eager::cfg::EagerSymbol* eager_symbol) { +cfg::ScopeProto* MutEagerSymbolConf<cfg::ScopeProto>(vm::cfg::EagerSymbol* eager_symbol) { return eager_symbol->mutable_scope_symbol(); } @@ -170,7 +169,7 @@ namespace detail { template<typename T> Maybe<int64_t> CreateSymbolIdHelper<T>::Call(vm::IdGenerator* id_generator, vm::InstructionMsgList* instruction_list, - eager::cfg::EagerSymbolList* eager_symbol_list, + vm::cfg::EagerSymbolList* eager_symbol_list, const T& conf) { int64_t symbol_id = JUST(NewSymbolId(id_generator, instruction_list)); { @@ -193,7 +192,7 @@ template struct CreateSymbolIdHelper<cfg::ScopeProto>; template<> Maybe<int64_t> CreateSymbolIdHelper<cfg::ParallelConf>::Call( vm::IdGenerator* id_generator, vm::InstructionMsgList* instruction_list, - eager::cfg::EagerSymbolList* eager_symbol_list, const cfg::ParallelConf& conf) { + vm::cfg::EagerSymbolList* eager_symbol_list, const cfg::ParallelConf& conf) { int64_t symbol_id = JUST(id_generator->NewSymbolId()); { ObjectMsgPtr<vm::InstructionMsg> instruction = @@ -651,7 +650,7 @@ Maybe<void> InstructionsBuilder::LocalCallOpKernel( const std::shared_ptr<const ParallelDesc>& parallel_desc_sym) { ObjectMsgPtr<vm::InstructionMsg> instruction = ObjectMsgPtr<vm::InstructionMsg>::New(parallel_desc_sym->device_tag() + ".LocalCallOpKernel"); - auto phy_instr_operand = std::make_shared<eager::LocalCallOpKernelPhyInstrOperand>( + auto phy_instr_operand = std::make_shared<vm::LocalCallOpKernelPhyInstrOperand>( opkernel, input_eager_blob_objects, output_eager_blob_objects); instruction->set_parallel_desc_symbol_id(JUST(parallel_desc_sym->symbol_id())); *instruction->mutable_phy_instr_operand() = phy_instr_operand; @@ -746,7 +745,7 @@ Maybe<void> InstructionsBuilder::InitStringSymbol(int64_t symbol_id, std::string ObjectMsgPtr<vm::InstructionMsg>::New("InitStringSymbol"); instruction->add_init_symbol_operand(symbol_id); instruction_list_->PushBack(instruction.Mutable()); - eager::cfg::EagerSymbol eager_symbol; + vm::cfg::EagerSymbol eager_symbol; eager_symbol.set_symbol_id(symbol_id); eager_symbol.set_string_symbol(str); eager_symbol_list_->mutable_eager_symbol()->Add()->CopyFrom(eager_symbol); @@ -759,7 +758,7 @@ Maybe<void> InstructionsBuilder::InitJobConfSymbol( ObjectMsgPtr<vm::InstructionMsg>::New("InitJobDescSymbol"); instruction->add_init_symbol_operand(symbol_id); instruction_list_->PushBack(instruction.Mutable()); - eager::cfg::EagerSymbol eager_symbol; + vm::cfg::EagerSymbol eager_symbol; eager_symbol.set_symbol_id(symbol_id); eager_symbol.mutable_job_conf_symbol()->CopyFrom(*job_conf); eager_symbol_list_->mutable_eager_symbol()->Add()->CopyFrom(eager_symbol); @@ -772,7 +771,7 @@ Maybe<void> InstructionsBuilder::NewParallelConfSymbol( ObjectMsgPtr<vm::InstructionMsg>::New("NewParallelDescSymbol"); instruction->add_int64_operand(symbol_id); instruction_list_->PushBack(instruction.Mutable()); - eager::cfg::EagerSymbol eager_symbol; + vm::cfg::EagerSymbol eager_symbol; eager_symbol.set_symbol_id(symbol_id); eager_symbol.mutable_parallel_conf_symbol()->CopyFrom(*parallel_conf); eager_symbol_list_->mutable_eager_symbol()->Add()->CopyFrom(eager_symbol); @@ -785,7 +784,7 @@ Maybe<void> InstructionsBuilder::NewScopeSymbol( ObjectMsgPtr<vm::InstructionMsg>::New("InitScopeSymbol"); instruction->add_init_symbol_operand(symbol_id); instruction_list_->PushBack(instruction.Mutable()); - eager::cfg::EagerSymbol eager_symbol; + vm::cfg::EagerSymbol eager_symbol; eager_symbol.set_symbol_id(symbol_id); eager_symbol.mutable_scope_symbol()->CopyFrom(*scope_proto); eager_symbol_list_->mutable_eager_symbol()->Add()->CopyFrom(eager_symbol); @@ -813,7 +812,7 @@ Maybe<void> InstructionsBuilder::InitOpNodeSignatureDescSymbol( ObjectMsgPtr<vm::InstructionMsg>::New("InitOpNodeSignatureDescSymbol"); instruction->add_init_symbol_operand(symbol_id); instruction_list_->PushBack(instruction.Mutable()); - eager::cfg::EagerSymbol eager_symbol; + vm::cfg::EagerSymbol eager_symbol; eager_symbol.set_symbol_id(symbol_id); eager_symbol.mutable_op_node_signature_symbol()->CopyFrom(*op_node_signature_sym); eager_symbol_list_->mutable_eager_symbol()->Add()->CopyFrom(eager_symbol); @@ -826,7 +825,7 @@ Maybe<void> InstructionsBuilder::InitOpConfSymbol( ObjectMsgPtr<vm::InstructionMsg>::New("InitOperatorConfSymbol"); instruction->add_init_symbol_operand(symbol_id); instruction_list_->PushBack(instruction.Mutable()); - eager::cfg::EagerSymbol eager_symbol; + vm::cfg::EagerSymbol eager_symbol; eager_symbol.set_symbol_id(symbol_id); eager_symbol.mutable_op_conf_symbol()->CopyFrom(*op_conf); eager_symbol_list_->mutable_eager_symbol()->Add()->CopyFrom(eager_symbol); @@ -869,7 +868,7 @@ Maybe<void> InstructionsBuilder::FeedBlob( } Maybe<void> InstructionsBuilder::ReleaseTensor( - const std::shared_ptr<eager::EagerBlobObject>& eager_blob_object, + const std::shared_ptr<vm::EagerBlobObject>& eager_blob_object, const std::shared_ptr<const ParallelDesc>& parallel_desc) { std::string instr_name = parallel_desc->device_tag() + ".ReleaseTensor"; ObjectMsgPtr<vm::InstructionMsg> instruction = ObjectMsgPtr<vm::InstructionMsg>::New(instr_name); @@ -889,8 +888,7 @@ Maybe<void> InstructionsBuilder::AccessBlobByCallback( const std::function<void(uint64_t)>& callback, const std::string& modifier) { std::string instr_name = tensor->parallel_desc()->device_tag() + ".AccessBlobByCallback"; ObjectMsgPtr<vm::InstructionMsg> instruction = ObjectMsgPtr<vm::InstructionMsg>::New(instr_name); - const std::shared_ptr<eager::EagerBlobObject>& eager_blob_object = - JUST(tensor->eager_blob_object()); + const std::shared_ptr<vm::EagerBlobObject>& eager_blob_object = JUST(tensor->eager_blob_object()); const std::shared_ptr<VmLocalDepObject>& infer_local_dep_object = JUST(tensor->infer_local_dep_object()); const std::shared_ptr<VmLocalDepObject>& compute_local_dep_object = @@ -903,7 +901,7 @@ Maybe<void> InstructionsBuilder::AccessBlobByCallback( } Maybe<void> InstructionsBuilder::ReadTensorShapeByCallback( - const std::shared_ptr<eager::EagerBlobObject>& eager_blob_object, + const std::shared_ptr<vm::EagerBlobObject>& eager_blob_object, const std::function<void(const std::shared_ptr<const Shape>&)>& callback) { std::string instr_name = "ReadTensorShapeByCallback"; ObjectMsgPtr<vm::InstructionMsg> instruction = ObjectMsgPtr<vm::InstructionMsg>::New(instr_name); @@ -1561,19 +1559,19 @@ Maybe<void> LogicalRun(const std::function<void(InstructionsBuilder*)>& Build) { InstructionsBuilder instructions_builder(id_generator, instruction_list.get(), eager_symbol_list.get(), _ReleaseLogicalObject); Build(&instructions_builder); - JUST(Global<eager::EagerOneflow>::Get()->RunLogicalInstruction( + JUST(Global<vm::EagerOneflow>::Get()->RunLogicalInstruction( instructions_builder.mut_instruction_list(), instructions_builder.eager_symbol_list())); return Maybe<void>::Ok(); } Maybe<void> PhysicalRun(const std::function<void(InstructionsBuilder*)>& Build) { vm::InstructionMsgList instruction_list; - eager::cfg::EagerSymbolList eager_symbol_list; + vm::cfg::EagerSymbolList eager_symbol_list; InstructionsBuilder instructions_builder(std::shared_ptr<vm::PhysicalIdGenerator>(), &instruction_list, &eager_symbol_list, _ReleasePhysicalObject); Build(&instructions_builder); - JUST(Global<eager::EagerOneflow>::Get()->RunPhysicalInstruction( + JUST(Global<vm::EagerOneflow>::Get()->RunPhysicalInstruction( instructions_builder.mut_instruction_list(), instructions_builder.eager_symbol_list())); return Maybe<void>::Ok(); } diff --git a/oneflow/core/framework/instructions_builder.h b/oneflow/core/framework/instructions_builder.h index 859aa087f..5dd0d4ffd 100644 --- a/oneflow/core/framework/instructions_builder.h +++ b/oneflow/core/framework/instructions_builder.h @@ -53,7 +53,7 @@ template<typename T> struct CreateSymbolIdHelper { static Maybe<int64_t> Call(vm::IdGenerator* id_generator, vm::InstructionMsgList* instruction_list, - eager::cfg::EagerSymbolList* eager_symbol_list, const T& conf); + vm::cfg::EagerSymbolList* eager_symbol_list, const T& conf); }; } // namespace detail @@ -64,14 +64,14 @@ class InstructionsBuilder : public std::enable_shared_from_this<InstructionsBuil InstructionsBuilder(InstructionsBuilder&&) = delete; explicit InstructionsBuilder(const std::shared_ptr<vm::IdGenerator>& id_generator, vm::InstructionMsgList* instruction_list, - eager::cfg::EagerSymbolList* eager_symbol_list) + vm::cfg::EagerSymbolList* eager_symbol_list) : id_generator_(id_generator), instruction_list_(instruction_list), eager_symbol_list_(eager_symbol_list), release_object_([](compatible_py::Object*) {}) {} InstructionsBuilder(const std::shared_ptr<vm::IdGenerator>& id_generator, vm::InstructionMsgList* instruction_list, - eager::cfg::EagerSymbolList* eager_symbol_list, + vm::cfg::EagerSymbolList* eager_symbol_list, const std::function<void(compatible_py::Object*)>& release_object) : id_generator_(id_generator), instruction_list_(instruction_list), @@ -84,7 +84,7 @@ class InstructionsBuilder : public std::enable_shared_from_this<InstructionsBuil const std::shared_ptr<vm::IdGenerator>& id_generator() const { return id_generator_; } const vm::InstructionMsgList& instruction_list() const { return *instruction_list_; } - const eager::cfg::EagerSymbolList& eager_symbol_list() const { return *eager_symbol_list_; } + const vm::cfg::EagerSymbolList& eager_symbol_list() const { return *eager_symbol_list_; } const std::function<void(compatible_py::Object*)>& object_releaser() const { return release_object_; @@ -118,7 +118,7 @@ class InstructionsBuilder : public std::enable_shared_from_this<InstructionsBuil const std::shared_ptr<compatible_py::BlobObject>& blob_object, const std::shared_ptr<compatible_py::OpArgParallelAttribute>& op_arg_parallel_attr); - Maybe<void> ReleaseTensor(const std::shared_ptr<eager::EagerBlobObject>& eager_blob_object, + Maybe<void> ReleaseTensor(const std::shared_ptr<vm::EagerBlobObject>& eager_blob_object, const std::shared_ptr<const ParallelDesc>& parallel_desc); Maybe<void> AccessBlobByCallback(const std::shared_ptr<one::MirroredTensor>& tensor, @@ -126,7 +126,7 @@ class InstructionsBuilder : public std::enable_shared_from_this<InstructionsBuil const std::string& modifier); Maybe<void> ReadTensorShapeByCallback( - const std::shared_ptr<eager::EagerBlobObject>& eager_blob_object, + const std::shared_ptr<vm::EagerBlobObject>& eager_blob_object, const std::function<void(const std::shared_ptr<const Shape>&)>& callback); Maybe<void> InferRankFrontSeqCallback(const std::function<void()>& callback); @@ -433,13 +433,13 @@ class InstructionsBuilder : public std::enable_shared_from_this<InstructionsBuil mut_eager_symbol_list(), conf); } - eager::cfg::EagerSymbolList* mut_eager_symbol_list() { return eager_symbol_list_; } + vm::cfg::EagerSymbolList* mut_eager_symbol_list() { return eager_symbol_list_; } vm::IdGenerator* mut_id_generator() { return id_generator_.get(); } std::shared_ptr<vm::IdGenerator> id_generator_; vm::InstructionMsgList* instruction_list_; - eager::cfg::EagerSymbolList* eager_symbol_list_; + vm::cfg::EagerSymbolList* eager_symbol_list_; std::function<void(compatible_py::Object*)> release_object_; }; diff --git a/oneflow/core/framework/interpreter.cpp b/oneflow/core/framework/interpreter.cpp index e6326cebd..dcb28d017 100644 --- a/oneflow/core/framework/interpreter.cpp +++ b/oneflow/core/framework/interpreter.cpp @@ -30,7 +30,7 @@ Maybe<void> LogicalInterpreter::Run(const std::function<Maybe<void>(Instructions CHECK(instructions_builder.eager_symbol_list().eager_symbol().empty()); return Maybe<void>::Ok(); } - return Global<eager::EagerOneflow>::Get()->RunLogicalInstruction( + return Global<vm::EagerOneflow>::Get()->RunLogicalInstruction( instructions_builder.mut_instruction_list(), instructions_builder.eager_symbol_list()); } @@ -46,7 +46,7 @@ Maybe<void> PhysicalInterpreter::Run( CHECK(instructions_builder.eager_symbol_list().eager_symbol().empty()); return Maybe<void>::Ok(); } - return Global<eager::EagerOneflow>::Get()->RunPhysicalInstruction( + return Global<vm::EagerOneflow>::Get()->RunPhysicalInstruction( instructions_builder.mut_instruction_list(), instructions_builder.eager_symbol_list()); } diff --git a/oneflow/core/framework/interpreter.h b/oneflow/core/framework/interpreter.h index 63ab77947..b9c937473 100644 --- a/oneflow/core/framework/interpreter.h +++ b/oneflow/core/framework/interpreter.h @@ -39,12 +39,12 @@ class Interpreter { const std::shared_ptr<vm::IdGenerator>& mut_id_generator() { return id_generator_; } vm::InstructionMsgList* mut_instruction_list() { return &instruction_list_; } - eager::cfg::EagerSymbolList* mut_eager_symbol_list() { return &eager_symbol_list_; } + vm::cfg::EagerSymbolList* mut_eager_symbol_list() { return &eager_symbol_list_; } private: std::shared_ptr<vm::IdGenerator> id_generator_; vm::InstructionMsgList instruction_list_; - eager::cfg::EagerSymbolList eager_symbol_list_; + vm::cfg::EagerSymbolList eager_symbol_list_; }; class LogicalInterpreter : public Interpreter { diff --git a/oneflow/core/framework/op_interpreter/eager_mirrored_op_interpreter.cpp b/oneflow/core/framework/op_interpreter/eager_mirrored_op_interpreter.cpp index 0e8dbdd45..bffe17bab 100644 --- a/oneflow/core/framework/op_interpreter/eager_mirrored_op_interpreter.cpp +++ b/oneflow/core/framework/op_interpreter/eager_mirrored_op_interpreter.cpp @@ -41,20 +41,19 @@ std::shared_ptr<Device> GetDefaultDevice() { } } // namespace -Maybe<void> NaiveInterpret( - const UserOpExpr& user_op_expr, - const std::shared_ptr<std::vector<std::shared_ptr<eager::EagerBlobObject>>>& - input_eager_blob_objects, - const std::shared_ptr<std::vector<std::shared_ptr<eager::EagerBlobObject>>>& - output_eager_blob_objects, - const AttrValueMap& attrs, const std::shared_ptr<const Device> device, - std::shared_ptr<const ParallelDesc> parallel_desc) { +Maybe<void> NaiveInterpret(const UserOpExpr& user_op_expr, + const std::shared_ptr<std::vector<std::shared_ptr<vm::EagerBlobObject>>>& + input_eager_blob_objects, + const std::shared_ptr<std::vector<std::shared_ptr<vm::EagerBlobObject>>>& + output_eager_blob_objects, + const AttrValueMap& attrs, const std::shared_ptr<const Device> device, + std::shared_ptr<const ParallelDesc> parallel_desc) { const auto kernel = JUST(user_op_expr.MutKernel4Device(*device)); const auto mem_case = kernel->mem_case(); for (int i = 0; i < output_eager_blob_objects->size(); i++) { - auto eager_blob_object = std::make_shared<eager::EagerBlobObject>( + auto eager_blob_object = std::make_shared<vm::EagerBlobObject>( mem_case, std::make_shared<Shape>(), DataType::kInvalidDataType, - std::make_shared<eager::TensorBuffer>(), parallel_desc); + std::make_shared<vm::TensorBuffer>(), parallel_desc); output_eager_blob_objects->at(i) = eager_blob_object; } kernel->InferDataType(input_eager_blob_objects, output_eager_blob_objects); @@ -68,13 +67,13 @@ Maybe<void> NaiveInterpret( return Maybe<void>::Ok(); } -Maybe<eager::EagerBlobObject> GenerateAllocatedEagerBlobObject(DataType data_type, - const Shape& shape) { +Maybe<vm::EagerBlobObject> GenerateAllocatedEagerBlobObject(DataType data_type, + const Shape& shape) { const auto zeros_expr = JUST(op_expr_helper::ZerosOp(shape, data_type)); - std::shared_ptr<std::vector<std::shared_ptr<eager::EagerBlobObject>>> input_eager_blob_objects = - std::make_shared<std::vector<std::shared_ptr<eager::EagerBlobObject>>>(0); - std::shared_ptr<std::vector<std::shared_ptr<eager::EagerBlobObject>>> output_eager_blob_objects = - std::make_shared<std::vector<std::shared_ptr<eager::EagerBlobObject>>>(1); + std::shared_ptr<std::vector<std::shared_ptr<vm::EagerBlobObject>>> input_eager_blob_objects = + std::make_shared<std::vector<std::shared_ptr<vm::EagerBlobObject>>>(0); + std::shared_ptr<std::vector<std::shared_ptr<vm::EagerBlobObject>>> output_eager_blob_objects = + std::make_shared<std::vector<std::shared_ptr<vm::EagerBlobObject>>>(1); const auto device = GetDefaultDevice(); std::shared_ptr<const ParallelDesc> parallel_desc = @@ -97,13 +96,13 @@ static Maybe<void> NaiveInterpret(const BuiltinOpExpr& op_expr, const TensorTupl std::shared_ptr<const ParallelDesc> parallel_desc = JUST(Device::MakeParallelDescByDevice(*device)); const auto& user_op_expr = dynamic_cast<const UserOpExpr&>(op_expr); - std::shared_ptr<std::vector<std::shared_ptr<eager::EagerBlobObject>>> input_eager_blob_objects = - std::make_shared<std::vector<std::shared_ptr<eager::EagerBlobObject>>>(inputs.size()); + std::shared_ptr<std::vector<std::shared_ptr<vm::EagerBlobObject>>> input_eager_blob_objects = + std::make_shared<std::vector<std::shared_ptr<vm::EagerBlobObject>>>(inputs.size()); for (int i = 0; i < inputs.size(); i++) { input_eager_blob_objects->at(i) = JUST(inputs.at(i)->eager_blob_object()); } - std::shared_ptr<std::vector<std::shared_ptr<eager::EagerBlobObject>>> output_eager_blob_objects = - std::make_shared<std::vector<std::shared_ptr<eager::EagerBlobObject>>>(outputs->size()); + std::shared_ptr<std::vector<std::shared_ptr<vm::EagerBlobObject>>> output_eager_blob_objects = + std::make_shared<std::vector<std::shared_ptr<vm::EagerBlobObject>>>(outputs->size()); NaiveInterpret(user_op_expr, input_eager_blob_objects, output_eager_blob_objects, attrs, device, parallel_desc); for (int i = 0; i < outputs->size(); ++i) { diff --git a/oneflow/core/framework/op_interpreter/eager_mirrored_op_interpreter.h b/oneflow/core/framework/op_interpreter/eager_mirrored_op_interpreter.h index 80129c353..75b14135b 100644 --- a/oneflow/core/framework/op_interpreter/eager_mirrored_op_interpreter.h +++ b/oneflow/core/framework/op_interpreter/eager_mirrored_op_interpreter.h @@ -17,7 +17,6 @@ limitations under the License. namespace oneflow { namespace one { -Maybe<eager::EagerBlobObject> GenerateAllocatedEagerBlobObject(DataType data_type, - const Shape& shape); +Maybe<vm::EagerBlobObject> GenerateAllocatedEagerBlobObject(DataType data_type, const Shape& shape); } } // namespace oneflow diff --git a/oneflow/core/framework/op_interpreter/op_interpreter_util.cpp b/oneflow/core/framework/op_interpreter/op_interpreter_util.cpp index e73112c02..54abf6ef7 100644 --- a/oneflow/core/framework/op_interpreter/op_interpreter_util.cpp +++ b/oneflow/core/framework/op_interpreter/op_interpreter_util.cpp @@ -171,7 +171,7 @@ using Bn2BlobObjectMap = HashMap<std::string, std::shared_ptr<compatible_py::Blo } /*static*/ Maybe<Tensor> OpInterpUtil::BuildEagerMirroredTensorFromEagerBlobObject( - const std::shared_ptr<eager::EagerBlobObject>& eager_blob_object, + const std::shared_ptr<vm::EagerBlobObject>& eager_blob_object, const std::shared_ptr<const Device>& device) { auto tensor = MirroredTensor::MakeEagerTensor(eager_blob_object, device, /* requires_grad */ false, /* is_leaf */ false, diff --git a/oneflow/core/framework/op_interpreter/op_interpreter_util.h b/oneflow/core/framework/op_interpreter/op_interpreter_util.h index 123f018ed..6a08a2676 100644 --- a/oneflow/core/framework/op_interpreter/op_interpreter_util.h +++ b/oneflow/core/framework/op_interpreter/op_interpreter_util.h @@ -67,7 +67,7 @@ class OpInterpUtil { const std::shared_ptr<compatible_py::BlobObject>& blob_object); static Maybe<Tensor> BuildEagerMirroredTensorFromEagerBlobObject( - const std::shared_ptr<eager::EagerBlobObject>& eager_blob_object, + const std::shared_ptr<vm::EagerBlobObject>& eager_blob_object, const std::shared_ptr<const Device>& device); }; diff --git a/oneflow/core/framework/session_util.cpp b/oneflow/core/framework/session_util.cpp index c5fce9b6e..05ca35f1b 100644 --- a/oneflow/core/framework/session_util.cpp +++ b/oneflow/core/framework/session_util.cpp @@ -47,7 +47,7 @@ Maybe<void> SetDefaultSessionId(int64_t val) { Session::Session(int64_t id) : id_(id), is_mirrored_strategy_enabled_stack_(new std::vector<bool>()) { instruction_list_.reset(new vm::InstructionMsgList()); - eager_symbol_list_.reset(new eager::cfg::EagerSymbolList()); + eager_symbol_list_.reset(new vm::cfg::EagerSymbolList()); } int64_t Session::id() const { return id_; } @@ -56,7 +56,7 @@ const std::shared_ptr<vm::InstructionMsgList>& Session::instruction_list() const return instruction_list_; } -std::shared_ptr<eager::cfg::EagerSymbolList> Session::eager_symbol_list() const { +std::shared_ptr<vm::cfg::EagerSymbolList> Session::eager_symbol_list() const { return eager_symbol_list_; } diff --git a/oneflow/core/framework/session_util.h b/oneflow/core/framework/session_util.h index 3ffe9bd66..c6b14258b 100644 --- a/oneflow/core/framework/session_util.h +++ b/oneflow/core/framework/session_util.h @@ -32,7 +32,7 @@ class Session { int64_t id() const; const std::shared_ptr<vm::InstructionMsgList>& instruction_list() const; - std::shared_ptr<eager::cfg::EagerSymbolList> eager_symbol_list() const; + std::shared_ptr<vm::cfg::EagerSymbolList> eager_symbol_list() const; std::shared_ptr<const std::vector<bool>> is_mirrored_strategy_enabled_stack() const { return is_mirrored_strategy_enabled_stack_; @@ -45,7 +45,7 @@ class Session { private: int64_t id_; std::shared_ptr<vm::InstructionMsgList> instruction_list_; - std::shared_ptr<eager::cfg::EagerSymbolList> eager_symbol_list_; + std::shared_ptr<vm::cfg::EagerSymbolList> eager_symbol_list_; std::shared_ptr<std::vector<bool>> is_mirrored_strategy_enabled_stack_; }; diff --git a/oneflow/core/framework/tensor.cpp b/oneflow/core/framework/tensor.cpp index 8b5750fd5..6ba8841df 100644 --- a/oneflow/core/framework/tensor.cpp +++ b/oneflow/core/framework/tensor.cpp @@ -42,7 +42,7 @@ std::shared_ptr<MirroredTensor> MirroredTensor::MakeTensor( } std::shared_ptr<MirroredTensor> MirroredTensor::MakeEagerTensor( - const std::shared_ptr<eager::EagerBlobObject> eager_blob_object, + const std::shared_ptr<vm::EagerBlobObject> eager_blob_object, const std::shared_ptr<const Device>& device, bool requires_grad, bool is_leaf, bool retain_grad) { std::shared_ptr<MirroredTensorImpl> impl = std::make_shared<EagerMirroredTensorImpl>( diff --git a/oneflow/core/framework/tensor.h b/oneflow/core/framework/tensor.h index dd92329ca..ebf0d4795 100644 --- a/oneflow/core/framework/tensor.h +++ b/oneflow/core/framework/tensor.h @@ -73,7 +73,7 @@ class Tensor { virtual bool is_lazy() const = 0; // Getters valid only for EagerMirroredTensor - virtual Maybe<eager::EagerBlobObject> eager_blob_object() const = 0; + virtual Maybe<vm::EagerBlobObject> eager_blob_object() const = 0; virtual Maybe<VmLocalDepObject> infer_local_dep_object() const = 0; virtual Maybe<VmLocalDepObject> compute_local_dep_object() const = 0; @@ -185,7 +185,7 @@ class MirroredTensor final : public TensorIf<MirroredTensor> { std::shared_ptr<MirroredTensor> data() const; // Getters valid only for EagerMirroredTensor - Maybe<eager::EagerBlobObject> eager_blob_object() const override { + Maybe<vm::EagerBlobObject> eager_blob_object() const override { return impl_->eager_blob_object(); } Maybe<VmLocalDepObject> infer_local_dep_object() const override { @@ -204,7 +204,7 @@ class MirroredTensor final : public TensorIf<MirroredTensor> { Maybe<void> set_parallel_desc(const std::shared_ptr<const ParallelDesc>& parallel_desc) override { return impl_->set_parallel_desc(parallel_desc); } - Maybe<void> set_eager_blob_object(std::shared_ptr<eager::EagerBlobObject> eager_blob_object) { + Maybe<void> set_eager_blob_object(std::shared_ptr<vm::EagerBlobObject> eager_blob_object) { return impl_->set_eager_blob_object(eager_blob_object); } @@ -243,7 +243,7 @@ class MirroredTensor final : public TensorIf<MirroredTensor> { bool retain_grad); static std::shared_ptr<MirroredTensor> MakeEagerTensor( - const std::shared_ptr<eager::EagerBlobObject> eager_blob_object, + const std::shared_ptr<vm::EagerBlobObject> eager_blob_object, const std::shared_ptr<const Device>& device, bool requires_grad, bool is_leaf, bool retain_grad); @@ -277,7 +277,7 @@ class ConsistentTensor final : public TensorIf<ConsistentTensor> { std::shared_ptr<ConsistentTensor> data() const; // Getters valid only for EagerMirroredTensor - Maybe<eager::EagerBlobObject> eager_blob_object() const override { + Maybe<vm::EagerBlobObject> eager_blob_object() const override { return impl_->eager_blob_object(); } Maybe<VmLocalDepObject> infer_local_dep_object() const override { diff --git a/oneflow/core/framework/tensor_impl.cpp b/oneflow/core/framework/tensor_impl.cpp index 411f39514..e9e1c9cb4 100644 --- a/oneflow/core/framework/tensor_impl.cpp +++ b/oneflow/core/framework/tensor_impl.cpp @@ -71,7 +71,7 @@ Maybe<void> EagerConsistentTensorImpl::set_blob_object( } EagerMirroredTensorImpl::EagerMirroredTensorImpl( - const std::shared_ptr<eager::EagerBlobObject> eager_blob_object, + const std::shared_ptr<vm::EagerBlobObject> eager_blob_object, const std::shared_ptr<const Device>& device, bool requires_grad, bool is_leaf, bool retain_grad) : MirroredTensorImpl(device, requires_grad, is_leaf, retain_grad), eager_blob_object_(eager_blob_object) { @@ -79,7 +79,7 @@ EagerMirroredTensorImpl::EagerMirroredTensorImpl( tensor_storage_ = std::make_shared<TensorStorage>(eager_blob_object->tensor_buffer()); const auto& parallel_desc = this->parallel_desc(); tensor_storage_->set_releaser_hook( - [eager_blob_object, parallel_desc](const std::shared_ptr<eager::TensorBuffer>&) { + [eager_blob_object, parallel_desc](const std::shared_ptr<vm::TensorBuffer>&) { PhysicalRun([&](InstructionsBuilder* builder) { builder->ReleaseTensor(eager_blob_object, parallel_desc); }); diff --git a/oneflow/core/framework/tensor_impl.h b/oneflow/core/framework/tensor_impl.h index dcde23cf9..2f1e9df12 100644 --- a/oneflow/core/framework/tensor_impl.h +++ b/oneflow/core/framework/tensor_impl.h @@ -38,9 +38,9 @@ class Distribute; class Device; class DType; -namespace eager { +namespace vm { class EagerBlobObject; -} +} // namespace vm namespace one { @@ -58,7 +58,7 @@ class TensorImpl { virtual bool is_lazy() const = 0; // Getters valid only for EagerMirroredTensorImpl - virtual Maybe<eager::EagerBlobObject> eager_blob_object() const = 0; + virtual Maybe<vm::EagerBlobObject> eager_blob_object() const = 0; virtual Maybe<VmLocalDepObject> infer_local_dep_object() const = 0; virtual Maybe<VmLocalDepObject> compute_local_dep_object() const = 0; @@ -120,7 +120,7 @@ class MirroredTensorImpl : public TensorImpl { Maybe<void> set_parallel_desc(const std::shared_ptr<const ParallelDesc>& parallel_desc) override; Maybe<void> set_device(const std::shared_ptr<const Device>& device); virtual Maybe<void> set_eager_blob_object( - std::shared_ptr<eager::EagerBlobObject> eager_blob_object) = 0; + std::shared_ptr<vm::EagerBlobObject> eager_blob_object) = 0; protected: MirroredTensorImpl(const std::shared_ptr<const Device>& device, bool requires_grad, bool is_leaf, @@ -178,7 +178,7 @@ class LazyMirroredTensorImpl final : public MirroredTensorImpl { bool is_lazy() const override { return true; } // Getters valid only for EagerMirroredTensorImpl - Maybe<eager::EagerBlobObject> eager_blob_object() const override { OF_UNIMPLEMENTED(); } + Maybe<vm::EagerBlobObject> eager_blob_object() const override { OF_UNIMPLEMENTED(); } Maybe<VmLocalDepObject> infer_local_dep_object() const override { OF_UNIMPLEMENTED(); } Maybe<VmLocalDepObject> compute_local_dep_object() const override { OF_UNIMPLEMENTED(); } @@ -186,7 +186,7 @@ class LazyMirroredTensorImpl final : public MirroredTensorImpl { void set_shape(const std::shared_ptr<const Shape>& shape) override { shape_ = shape; } void set_dtype(const std::shared_ptr<const DType>& dtype) override { dtype_ = dtype; } Maybe<void> set_eager_blob_object( - std::shared_ptr<eager::EagerBlobObject> eager_blob_object) override { + std::shared_ptr<vm::EagerBlobObject> eager_blob_object) override { return Error::Unimplemented(); } @@ -209,7 +209,7 @@ class LazyMirroredTensorImpl final : public MirroredTensorImpl { class EagerMirroredTensorImpl final : public MirroredTensorImpl { public: OF_DISALLOW_COPY_AND_MOVE(EagerMirroredTensorImpl); - EagerMirroredTensorImpl(const std::shared_ptr<eager::EagerBlobObject> eager_blob_object, + EagerMirroredTensorImpl(const std::shared_ptr<vm::EagerBlobObject> eager_blob_object, const std::shared_ptr<const Device>& device, bool requires_grad, bool is_leaf, bool retain_grad); ~EagerMirroredTensorImpl() override; @@ -220,7 +220,7 @@ class EagerMirroredTensorImpl final : public MirroredTensorImpl { bool is_lazy() const override { return false; } // Getters valid only for EagerMirroredTensorImpl - Maybe<eager::EagerBlobObject> eager_blob_object() const override { return eager_blob_object_; } + Maybe<vm::EagerBlobObject> eager_blob_object() const override { return eager_blob_object_; } Maybe<VmLocalDepObject> infer_local_dep_object() const override; Maybe<VmLocalDepObject> compute_local_dep_object() const override; @@ -229,7 +229,7 @@ class EagerMirroredTensorImpl final : public MirroredTensorImpl { void set_dtype(const std::shared_ptr<const DType>& dtype) override { UNIMPLEMENTED(); } TensorStorage* mut_tensor_storage() { return tensor_storage_.get(); } Maybe<void> set_eager_blob_object( - std::shared_ptr<eager::EagerBlobObject> eager_blob_object) override { + std::shared_ptr<vm::EagerBlobObject> eager_blob_object) override { eager_blob_object_ = eager_blob_object; return Maybe<void>::Ok(); } @@ -247,7 +247,7 @@ class EagerMirroredTensorImpl final : public MirroredTensorImpl { std::shared_ptr<const Shape> shape_; std::shared_ptr<const DType> dtype_; std::shared_ptr<TensorStorage> tensor_storage_; - std::shared_ptr<eager::EagerBlobObject> eager_blob_object_; + std::shared_ptr<vm::EagerBlobObject> eager_blob_object_; }; class LazyConsistentTensorImpl final : public ConsistentTensorImpl { @@ -273,7 +273,7 @@ class LazyConsistentTensorImpl final : public ConsistentTensorImpl { bool is_lazy() const override { return true; } // Getters valid only for EagerMirroredTensorImpl - Maybe<eager::EagerBlobObject> eager_blob_object() const override { OF_UNIMPLEMENTED(); } + Maybe<vm::EagerBlobObject> eager_blob_object() const override { OF_UNIMPLEMENTED(); } Maybe<VmLocalDepObject> infer_local_dep_object() const override { OF_UNIMPLEMENTED(); } Maybe<VmLocalDepObject> compute_local_dep_object() const override { OF_UNIMPLEMENTED(); } @@ -324,7 +324,7 @@ class EagerConsistentTensorImpl final : public ConsistentTensorImpl { bool is_lazy() const override { return false; } // Getters valid only for EagerMirroredTensorImpl - Maybe<eager::EagerBlobObject> eager_blob_object() const override { OF_UNIMPLEMENTED(); } + Maybe<vm::EagerBlobObject> eager_blob_object() const override { OF_UNIMPLEMENTED(); } Maybe<VmLocalDepObject> infer_local_dep_object() const override { OF_UNIMPLEMENTED(); } Maybe<VmLocalDepObject> compute_local_dep_object() const override { OF_UNIMPLEMENTED(); } diff --git a/oneflow/core/framework/tensor_storage.cpp b/oneflow/core/framework/tensor_storage.cpp index 6aed5b69d..2fa09cc74 100644 --- a/oneflow/core/framework/tensor_storage.cpp +++ b/oneflow/core/framework/tensor_storage.cpp @@ -22,9 +22,9 @@ namespace oneflow { namespace one { TensorStorage::TensorStorage(const std::shared_ptr<const ParallelDesc>& parallel_desc) - : buffer_(std::make_shared<eager::TensorBuffer>()) {} + : buffer_(std::make_shared<vm::TensorBuffer>()) {} -TensorStorage::TensorStorage(const std::shared_ptr<eager::TensorBuffer>& tensor_buffer) +TensorStorage::TensorStorage(const std::shared_ptr<vm::TensorBuffer>& tensor_buffer) : buffer_(tensor_buffer) {} TensorStorage::~TensorStorage() { diff --git a/oneflow/core/framework/tensor_storage.h b/oneflow/core/framework/tensor_storage.h index 569f6e3ff..5c4a412db 100644 --- a/oneflow/core/framework/tensor_storage.h +++ b/oneflow/core/framework/tensor_storage.h @@ -23,30 +23,30 @@ namespace oneflow { class ParallelDesc; -namespace eager { +namespace vm { class TensorBuffer; -} +} // namespace vm namespace one { class TensorStorage final { public: explicit TensorStorage(const std::shared_ptr<const ParallelDesc>& parallel_desc); - explicit TensorStorage(const std::shared_ptr<eager::TensorBuffer>& tensor_buffer); + explicit TensorStorage(const std::shared_ptr<vm::TensorBuffer>& tensor_buffer); ~TensorStorage(); - using ReleaserHookT = std::function<void(const std::shared_ptr<eager::TensorBuffer>&)>; + using ReleaserHookT = std::function<void(const std::shared_ptr<vm::TensorBuffer>&)>; - const std::shared_ptr<eager::TensorBuffer> buffer() const { return buffer_; } + const std::shared_ptr<vm::TensorBuffer> buffer() const { return buffer_; } void set_releaser_hook(const ReleaserHookT& releaser_hook) { releaser_hook_ = std::make_shared<ReleaserHookT>(releaser_hook); } private: - std::shared_ptr<eager::TensorBuffer> buffer_; + std::shared_ptr<vm::TensorBuffer> buffer_; std::shared_ptr<ReleaserHookT> releaser_hook_; }; diff --git a/oneflow/core/job/cluster.cpp b/oneflow/core/job/cluster.cpp index 7872d3a23..03fe2a091 100644 --- a/oneflow/core/job/cluster.cpp +++ b/oneflow/core/job/cluster.cpp @@ -75,7 +75,7 @@ Maybe<void> Cluster::WorkerLoop() { ClusterInstruction::NewSessionBarrier(); AsyncRunLazyJobSet(&lazy_runtime_thread); } else if (mut_cluster_instruction->has_eager_instruction()) { - Global<eager::EagerOneflow>::Get()->RunPhysicalInstruction( + Global<vm::EagerOneflow>::Get()->RunPhysicalInstruction( std::const_pointer_cast<const ClusterInstructionProto>(mut_cluster_instruction)); } else { OF_UNIMPLEMENTED(); diff --git a/oneflow/core/job/cluster_instruction.proto b/oneflow/core/job/cluster_instruction.proto index 2cfbe39a9..402641e4a 100644 --- a/oneflow/core/job/cluster_instruction.proto +++ b/oneflow/core/job/cluster_instruction.proto @@ -11,7 +11,7 @@ message ClusterInstructionProto { oneof instruction_type { ClusterCtrlSessionStart cluster_ctrl_session_start = 1; ClusterCtrlHalt cluster_ctrl_halt = 2; // normal exit - eager.EagerInstruction eager_instruction = 3; + vm.EagerInstruction eager_instruction = 3; ClusterCtrlAbort cluster_ctrl_abort = 5; // error exit } } diff --git a/oneflow/core/vm/access_blob_arg_cb_phy_instr_operand.h b/oneflow/core/vm/access_blob_arg_cb_phy_instr_operand.h index c9375b474..c0d288497 100644 --- a/oneflow/core/vm/access_blob_arg_cb_phy_instr_operand.h +++ b/oneflow/core/vm/access_blob_arg_cb_phy_instr_operand.h @@ -23,11 +23,6 @@ namespace oneflow { class VmLocalDepObject; -namespace eager { - -class EagerBlobObject; -} - namespace one { class TensorStorage; @@ -35,10 +30,12 @@ class TensorStorage; namespace vm { +class EagerBlobObject; + // access blob arg callback physical instruction operand class AccessBlobArgCbPhyInstrOperand : public PhyInstrOperand { public: - AccessBlobArgCbPhyInstrOperand(const std::shared_ptr<eager::EagerBlobObject>& eager_blob_object, + AccessBlobArgCbPhyInstrOperand(const std::shared_ptr<vm::EagerBlobObject>& eager_blob_object, const std::shared_ptr<VmLocalDepObject>& infer_local_dep_object, const std::shared_ptr<VmLocalDepObject>& compute_local_dep_object, const std::function<void(uint64_t)>& callback, @@ -51,7 +48,7 @@ class AccessBlobArgCbPhyInstrOperand : public PhyInstrOperand { ~AccessBlobArgCbPhyInstrOperand() = default; const std::function<void(uint64_t)>& callback() const { return callback_; } - const std::shared_ptr<eager::EagerBlobObject>& eager_blob_object() const { + const std::shared_ptr<vm::EagerBlobObject>& eager_blob_object() const { return eager_blob_object_; } @@ -65,7 +62,7 @@ class AccessBlobArgCbPhyInstrOperand : public PhyInstrOperand { const std::function<void(MirroredObject* infer, MirroredObject* compute)>&) const override; private: - std::shared_ptr<eager::EagerBlobObject> eager_blob_object_; + std::shared_ptr<vm::EagerBlobObject> eager_blob_object_; std::function<void(uint64_t)> callback_; std::shared_ptr<VmLocalDepObject> infer_local_dep_object_; std::shared_ptr<VmLocalDepObject> compute_local_dep_object_; diff --git a/oneflow/core/vm/read_tensor_shape_arg_cb_phy_instr_operand.h b/oneflow/core/vm/read_tensor_shape_arg_cb_phy_instr_operand.h index b6d1c3912..8b8a205a3 100644 --- a/oneflow/core/vm/read_tensor_shape_arg_cb_phy_instr_operand.h +++ b/oneflow/core/vm/read_tensor_shape_arg_cb_phy_instr_operand.h @@ -23,18 +23,15 @@ namespace oneflow { class Shape; -namespace eager { +namespace vm { class EagerBlobObject; -} - -namespace vm { // read tensor shape arg callback physical instruction operand class ReadTensorShapeArgCbPhyInstrOperand : public PhyInstrOperand { public: ReadTensorShapeArgCbPhyInstrOperand( - const std::shared_ptr<eager::EagerBlobObject>& eager_blob_object, + const std::shared_ptr<vm::EagerBlobObject>& eager_blob_object, const std::function<void(const std::shared_ptr<const Shape>&)>& callback) : eager_blob_object_(eager_blob_object), callback_(callback) {} ~ReadTensorShapeArgCbPhyInstrOperand() = default; @@ -42,7 +39,7 @@ class ReadTensorShapeArgCbPhyInstrOperand : public PhyInstrOperand { const std::function<void(const std::shared_ptr<const Shape>&)>& callback() const { return callback_; } - const std::shared_ptr<eager::EagerBlobObject>& eager_blob_object() const { + const std::shared_ptr<vm::EagerBlobObject>& eager_blob_object() const { return eager_blob_object_; } @@ -60,7 +57,7 @@ class ReadTensorShapeArgCbPhyInstrOperand : public PhyInstrOperand { } private: - std::shared_ptr<eager::EagerBlobObject> eager_blob_object_; + std::shared_ptr<vm::EagerBlobObject> eager_blob_object_; std::function<void(const std::shared_ptr<const Shape>&)> callback_; }; diff --git a/oneflow/core/vm/release_tensor_arg_phy_instr_operand.h b/oneflow/core/vm/release_tensor_arg_phy_instr_operand.h index 4972dd35d..9d36e5b87 100644 --- a/oneflow/core/vm/release_tensor_arg_phy_instr_operand.h +++ b/oneflow/core/vm/release_tensor_arg_phy_instr_operand.h @@ -21,17 +21,14 @@ limitations under the License. namespace oneflow { -namespace eager { - -class EagerBlobObject; -} - class VmLocalDepObject; namespace vm { +class EagerBlobObject; + class ReleaseTensorArgPhyInstrOperand : public PhyInstrOperand { public: - ReleaseTensorArgPhyInstrOperand(const std::shared_ptr<eager::EagerBlobObject>& eager_blob_object, + ReleaseTensorArgPhyInstrOperand(const std::shared_ptr<vm::EagerBlobObject>& eager_blob_object, const std::shared_ptr<VmLocalDepObject>& infer_local_dep_object, const std::shared_ptr<VmLocalDepObject>& compute_local_dep_object) : eager_blob_object_(eager_blob_object), @@ -39,7 +36,7 @@ class ReleaseTensorArgPhyInstrOperand : public PhyInstrOperand { compute_local_dep_object_(compute_local_dep_object) {} ~ReleaseTensorArgPhyInstrOperand() override = default; - const std::shared_ptr<eager::EagerBlobObject>& eager_blob_object() const { + const std::shared_ptr<vm::EagerBlobObject>& eager_blob_object() const { return eager_blob_object_; } @@ -53,7 +50,7 @@ class ReleaseTensorArgPhyInstrOperand : public PhyInstrOperand { const std::function<void(MirroredObject* infer, MirroredObject* compute)>&) const override; private: - std::shared_ptr<eager::EagerBlobObject> eager_blob_object_; + std::shared_ptr<vm::EagerBlobObject> eager_blob_object_; std::shared_ptr<VmLocalDepObject> infer_local_dep_object_; std::shared_ptr<VmLocalDepObject> compute_local_dep_object_; }; diff --git a/oneflow/user/kernels/stateful_local_opkernel.cpp b/oneflow/user/kernels/stateful_local_opkernel.cpp index 35c8a6ced..c5ba3df0e 100644 --- a/oneflow/user/kernels/stateful_local_opkernel.cpp +++ b/oneflow/user/kernels/stateful_local_opkernel.cpp @@ -67,15 +67,15 @@ ZeroCopyBaseContext::ZeroCopyBaseContext(const ArgVec* indexed_input_pairs, &arg_name2bn_index2output_tensor_tuple_index_); for (int i = 0; i < indexed_input_pairs->size(); i++) { input_tensor_views_.push_back(std::make_unique<EagerBlobObjectTensorView>( - [this, i]() -> eager::EagerBlobObject* { return input_tensors_->at(i).get(); })); + [this, i]() -> vm::EagerBlobObject* { return input_tensors_->at(i).get(); })); input_tensor_desc_views_.push_back(std::make_unique<EagerBlobObjectTensorDescView>( - [this, i]() -> eager::EagerBlobObject* { return input_tensors_->at(i).get(); })); + [this, i]() -> vm::EagerBlobObject* { return input_tensors_->at(i).get(); })); } for (int i = 0; i < indexed_output_pairs->size(); i++) { output_tensor_views_.push_back(std::make_unique<EagerBlobObjectTensorView>( - [this, i]() -> eager::EagerBlobObject* { return output_tensors_->at(i).get(); })); + [this, i]() -> vm::EagerBlobObject* { return output_tensors_->at(i).get(); })); output_tensor_desc_views_.push_back(std::make_unique<EagerBlobObjectTensorDescView>( - [this, i]() -> eager::EagerBlobObject* { return output_tensors_->at(i).get(); })); + [this, i]() -> vm::EagerBlobObject* { return output_tensors_->at(i).get(); })); } } @@ -325,8 +325,8 @@ Maybe<void> InitTensorTupleIndexes4Bns(const OperatorConf& op_conf, &opkernel->output_tuple_indexes4mut_obns_, &opkernel->output_tuple_indexes4mut2_obns_)); opkernel->tmp_blob_object_.reset( - new eager::EagerBlobObject(opkernel->mem_case_, std::make_shared<Shape>(), DataType::kChar, - std::make_shared<eager::TensorBuffer>())); + new vm::EagerBlobObject(opkernel->mem_case_, std::make_shared<Shape>(), DataType::kChar, + std::make_shared<vm::TensorBuffer>())); opkernel->infer_local_dep_object_ = std::make_shared<VmLocalDepObject>(parallel_desc); opkernel->compute_local_dep_object_ = std::make_shared<VmLocalDepObject>(parallel_desc); return opkernel; @@ -378,7 +378,7 @@ const user_op::InferTmpSizeFn& StatefulOpKernel::GetInferTmpSizeFn( return *infer_tmp_size_fn_map_.at(op_kernel); } -eager::EagerBlobObject* StatefulOpKernel::mut_temp_blob_object() { return tmp_blob_object_.get(); } +vm::EagerBlobObject* StatefulOpKernel::mut_temp_blob_object() { return tmp_blob_object_.get(); } user_op::TensorDescInferFn StatefulOpKernel::TensorDescInferFn() const { return tensor_desc_infer_fn_; diff --git a/oneflow/user/kernels/stateful_local_opkernel.h b/oneflow/user/kernels/stateful_local_opkernel.h index ae5bd67dd..312c248cb 100644 --- a/oneflow/user/kernels/stateful_local_opkernel.h +++ b/oneflow/user/kernels/stateful_local_opkernel.h @@ -23,9 +23,9 @@ limitations under the License. namespace oneflow { -namespace eager { +namespace vm { struct LocalCallOpKernelUtil; -} // namespace eager +} // namespace vm namespace one { @@ -38,11 +38,11 @@ class LocalUserOpInferContext; using ArgVec = std::vector<std::pair<std::string, int32_t>>; using EagerBlobObjectList = - std::shared_ptr<const std::vector<std::shared_ptr<eager::EagerBlobObject>>>; + std::shared_ptr<const std::vector<std::shared_ptr<vm::EagerBlobObject>>>; class EagerBlobObjectTensorView final : public user_op::Tensor { public: - EagerBlobObjectTensorView(const std::function<eager::EagerBlobObject*()>& mut_eager_blob_object) + EagerBlobObjectTensorView(const std::function<vm::EagerBlobObject*()>& mut_eager_blob_object) : mut_eager_blob_object_(mut_eager_blob_object) {} const ShapeView& shape() const override { return mut_eager_blob_object_()->blob().shape(); } @@ -62,13 +62,12 @@ class EagerBlobObjectTensorView final : public user_op::Tensor { void* mut_raw_dptr() override { return mut_eager_blob_object_()->mut_blob()->mut_dptr(); } private: - const std::function<eager::EagerBlobObject*()> mut_eager_blob_object_; + const std::function<vm::EagerBlobObject*()> mut_eager_blob_object_; }; class EagerBlobObjectTensorDescView final : public user_op::TensorDesc { public: - EagerBlobObjectTensorDescView( - const std::function<eager::EagerBlobObject*()>& mut_eager_blob_object) + EagerBlobObjectTensorDescView(const std::function<vm::EagerBlobObject*()>& mut_eager_blob_object) : mut_eager_blob_object_(mut_eager_blob_object) {} const Shape& shape() const override { return mut_eager_blob_object_()->blob_desc().shape(); } @@ -92,7 +91,7 @@ class EagerBlobObjectTensorDescView final : public user_op::TensorDesc { } private: - const std::function<eager::EagerBlobObject*()> mut_eager_blob_object_; + const std::function<vm::EagerBlobObject*()> mut_eager_blob_object_; }; class ZeroCopyBaseContext { @@ -262,7 +261,7 @@ class StatefulOpKernel final { } private: - friend struct eager::LocalCallOpKernelUtil; + friend struct vm::LocalCallOpKernelUtil; StatefulOpKernel(const OperatorConf& op_conf); LocalUserOpInferContext* UpdateInferContext(EagerBlobObjectList inputs, EagerBlobObjectList outputs); @@ -277,7 +276,7 @@ class StatefulOpKernel final { EagerBlobObjectList inputs, EagerBlobObjectList outputs, user_op::OpKernelState** state); - eager::EagerBlobObject* mut_temp_blob_object(); + vm::EagerBlobObject* mut_temp_blob_object(); user_op::OpKernelState* mut_opkernel_state(const user_op::OpKernel* opkernel) { return op_kernel_state_map_.at(opkernel).get(); @@ -306,7 +305,7 @@ class StatefulOpKernel final { op_kernel_map_; HashMap<const user_op::OpKernel*, std::shared_ptr<user_op::OpKernelState>> op_kernel_state_map_; HashMap<const user_op::OpKernel*, const user_op::InferTmpSizeFn*> infer_tmp_size_fn_map_; - std::unique_ptr<eager::EagerBlobObject> tmp_blob_object_; + std::unique_ptr<vm::EagerBlobObject> tmp_blob_object_; std::vector<int64_t> input_tuple_indexes4const_ibns_; std::vector<int64_t> input_tuple_indexes4mut_ibns_; std::vector<int64_t> output_tuple_indexes4mut_obns_; -- GitLab