diff --git a/ge/common/profiling/ge_profiling.cc b/ge/common/profiling/ge_profiling.cc index a5857b35..fffe3f0a 100644 --- a/ge/common/profiling/ge_profiling.cc +++ b/ge/common/profiling/ge_profiling.cc @@ -268,7 +268,6 @@ ge::Status ProfSetStepInfo(uint64_t index_id, uint16_t tag_id, rtStream_t stream return ge::FAILED; } auto &profiling_manager = ge::ProfilingManager::Instance(); - profiling_manager.SetStepInfoIndex(index_id); if (is_first_run && tag_id == kStepStart) { GE_CHK_STATUS_RET_NOLOG(profiling_manager.ProfileStepInfo(index_id, kModelId, tag_id, stream, device_id)); is_first_run = false; diff --git a/ge/common/profiling/profiling_manager.cc b/ge/common/profiling/profiling_manager.cc index e8f41cc4..c1281e86 100644 --- a/ge/common/profiling/profiling_manager.cc +++ b/ge/common/profiling/profiling_manager.cc @@ -71,7 +71,7 @@ ProfilingManager::ProfilingManager() is_training_trace_(false), subscribe_count_(0), prof_cb_({nullptr, nullptr}), - index_id_(UINT64_MAX), + cur_iter_num_(UINT64_MAX), subscribe_info_({false, 0, 0}) { } @@ -326,6 +326,7 @@ void ProfilingManager::ProfilingTaskDescInfo(uint32_t model_id, const std::vecto Status ProfilingManager::ProfileStepInfo(uint64_t index_id, uint64_t model_id, uint16_t tag_id, rtStream_t stream, int32_t device_id) { #ifdef DAVINCI_SUPPORT_PROFILING + cur_iter_num_ = index_id; if (!is_load_profiling_ && subscribe_count_ == 0) { GELOGD("Profiling is not turned on, no need to profile step info."); return SUCCESS; @@ -603,7 +604,7 @@ Status ProfilingManager::ProfFinalize() { is_load_profiling_ = false; is_training_trace_ = false; is_execute_profiling_ = false; - index_id_ = UINT64_MAX; + cur_iter_num_ = UINT64_MAX; // profiling plugin uninit PluginUnInit(); diff --git a/ge/common/profiling/profiling_manager.h b/ge/common/profiling/profiling_manager.h index 86371d51..4f5211a8 100755 --- a/ge/common/profiling/profiling_manager.h +++ b/ge/common/profiling/profiling_manager.h @@ -107,8 +107,7 @@ class ProfilingManager { void GetOpInputOutputInfo(const OpDescPtr &op, TaskDescInfo &task_desc_info) const; void ReportData(const int32_t &device_id, const std::string &data, const std::string &tag_name); Status ProfileStepInfo(uint64_t index_id, uint64_t model_id, uint16_t tag_id, rtStream_t stream, int32_t device_id); - void SetStepInfoIndex(uint64_t index_id) { index_id_ = index_id; } - uint64_t GetStepInfoIndex() const { return index_id_; } + uint64_t GetCurIterNum() const { return cur_iter_num_; } void SetGraphIdToDeviceMap(uint32_t graph_id, uint32_t device_id) { device_id_map_[graph_id] = device_id; } Status GetDeviceIdFromGraph(uint32_t graph_id, uint32_t &device_id); void SetSubscribeInfo(uint64_t prof_switch, uint32_t model_id, bool is_subscribe); @@ -143,7 +142,7 @@ class ProfilingManager { std::string fp_point_; std::string bp_point_; uint32_t reporter_max_len_ = 0; - uint64_t index_id_; + uint64_t cur_iter_num_; std::map device_id_map_; // key: graph_id, value: device_id std::map model_id_map_; // key: graph_id, value: model_id ProfSubscribeInfo subscribe_info_; diff --git a/ge/graph/manager/graph_manager.cc b/ge/graph/manager/graph_manager.cc index fa140bfe..eecf00e7 100755 --- a/ge/graph/manager/graph_manager.cc +++ b/ge/graph/manager/graph_manager.cc @@ -109,7 +109,6 @@ #include "register/custom_pass_helper.h" #include "external/graph/types.h" #include "common/util/error_manager/error_manager.h" -#include "common/profiling/profiling_manager.h" namespace { const char *const kSummary = "Summary"; @@ -462,9 +461,6 @@ Status GraphManager::AddGraph(const GraphId &graph_id, const Graph &graph, const std::map &options, const OmgContext &omg_context) { IncreaseGraphCount(graph_id); - auto device_id = GetContext().DeviceId(); - GELOGD("Device id is %u", device_id); - ProfilingManager::Instance().SetGraphIdToDeviceMap(graph_id, device_id); // validation for adding graphs of same graph_id in multi-thread secenario // 1.previous thread owns same graph_id has finished the AddGraph procession if (GetAddGraphCondition(graph_id) == kDoneAdded) { diff --git a/ge/single_op/single_op.cc b/ge/single_op/single_op.cc index a82c30ba..eddf6478 100755 --- a/ge/single_op/single_op.cc +++ b/ge/single_op/single_op.cc @@ -58,7 +58,7 @@ Status ProfilingTaskInfo(OpTask *op_task, const string &shape_type) { tmp_task_desc_info.op_name.c_str(), tmp_task_desc_info.model_name.c_str()); tmp_task_desc_info.shape_type = shape_type; - tmp_task_desc_info.cur_iter_num = ProfilingManager::Instance().GetStepInfoIndex(); + tmp_task_desc_info.cur_iter_num = ProfilingManager::Instance().GetCurIterNum(); tmp_task_desc_info.task_type = op_task->GetTaskType(); std::vector task_desc_info; diff --git a/tests/ut/ge/profiling/ge_profiling_manager_unittest.cc b/tests/ut/ge/profiling/ge_profiling_manager_unittest.cc index 35879df8..58a5c951 100644 --- a/tests/ut/ge/profiling/ge_profiling_manager_unittest.cc +++ b/tests/ut/ge/profiling/ge_profiling_manager_unittest.cc @@ -48,23 +48,6 @@ int32_t ReporterCallback(uint32_t moduleId, uint32_t type, void *data, uint32_t return -1; } -void CreateGraph(Graph &graph) { - TensorDesc desc(ge::Shape({1, 3, 224, 224})); - uint32_t size = desc.GetShape().GetShapeSize(); - desc.SetSize(size); - auto data = op::Data("Data").set_attr_index(0); - data.update_input_desc_data(desc); - data.update_output_desc_out(desc); - - auto flatten = op::Flatten("Flatten").set_input_x(data, data.name_out_out()); - - std::vector inputs{data}; - std::vector outputs{flatten}; - std::vector targets{flatten}; - // Graph graph("test_graph"); - graph.SetInputs(inputs).SetOutputs(outputs).SetTargets(targets); -} - TEST_F(UtestGeProfilinganager, init_success) { setenv("PROFILING_MODE", "true", true); Options options; @@ -156,23 +139,6 @@ TEST_F(UtestGeProfilinganager, set_step_info_failed) { EXPECT_EQ(ret, ge::FAILED); } -TEST_F(UtestGeProfilinganager, get_device_from_graph) { - GraphId graph_id = 1; - uint32_t device_id = 0; - GraphManager graph_manager; - GraphNodePtr graph_node = MakeShared(graph_id); - graph_manager.AddGraphNode(graph_id, graph_node); - graph_manager.SetAddGraphCondition(graph_id, 2); - Graph graph("test_graph"); - CreateGraph(graph); - std::map options; - OmgContext context; - Status ret = graph_manager.AddGraph(graph_id, graph, options, context); - EXPECT_EQ(ret, ge::SUCCESS); - ret = ProfGetDeviceFormGraphId(graph_id, device_id); - EXPECT_EQ(ret, ge::SUCCESS); -} - TEST_F(UtestGeProfilinganager, handle_subscribe_info) { ProfCommandHandleType prof_type = kProfCommandhandleModelSubscribe; ProfCommandHandleData prof_data; diff --git a/tests/ut/ge/session/inner_session_unittest.cc b/tests/ut/ge/session/inner_session_unittest.cc index 80cc2834..6f2178f6 100644 --- a/tests/ut/ge/session/inner_session_unittest.cc +++ b/tests/ut/ge/session/inner_session_unittest.cc @@ -16,6 +16,8 @@ #include +#include "framework/common/profiling/ge_profiling.h" + #define private public #define protected public #include "session/inner_session.h" @@ -58,4 +60,16 @@ TEST_F(UtestInnerSession, check_op_precision_mode) { auto ret = inner_session.Initialize(); EXPECT_NE(ret, ge::SUCCESS); } + +TEST_F(UtestInnerSession, get_device_from_graph) { + std::map options = {}; + uint64_t session_id = 1; + InnerSession inner_session(session_id, options); + GraphId graph_id = 1; + uint32_t device_id = 0; + Graph graph("test_graph"); + Status ret = inner_session.AddGraph(graph_id, graph); + ret = ProfGetDeviceFormGraphId(graph_id, device_id); + EXPECT_EQ(ret, ge::SUCCESS); +} } // namespace ge