From 841393e5c76d1ba87bc58445d2c901c8a5f71bc4 Mon Sep 17 00:00:00 2001 From: zhangxiaokun Date: Mon, 21 Dec 2020 13:15:23 +0800 Subject: [PATCH] Split SinkModelProfile --- .../load/new_model_manager/davinci_model.cc | 17 +++++++++-------- ge/graph/load/new_model_manager/davinci_model.h | 2 +- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/ge/graph/load/new_model_manager/davinci_model.cc b/ge/graph/load/new_model_manager/davinci_model.cc index f3ba3d3d..eae6de13 100755 --- a/ge/graph/load/new_model_manager/davinci_model.cc +++ b/ge/graph/load/new_model_manager/davinci_model.cc @@ -2090,7 +2090,7 @@ Status DavinciModel::SyncVarData() { Status DavinciModel::InitModelProfile() { for (const auto &task : task_list_) { GE_CHECK_NOTNULL(task); - const auto &fusion_op_info = task->GetFusionOpInfo(); + const FusionOpInfo *fusion_op_info = task->GetFusionOpInfo(); // when type is RT_MODEL_TASK_KERNEL, ctx is not null if ((fusion_op_info == nullptr) || fusion_op_info->original_op_names.empty()) { continue; @@ -2105,20 +2105,17 @@ Status DavinciModel::InitModelProfile() { using Range = std::pair; for (const auto &task : task_list_) { GE_CHECK_NOTNULL(task); - const auto &fusion_op_info = task->GetFusionOpInfo(); + const FusionOpInfo *fusion_op_info = task->GetFusionOpInfo(); if ((fusion_op_info == nullptr) || fusion_op_info->original_op_names.empty()) { continue; } - uint32_t task_id = task->GetTaskID(); - uint32_t op_num = fusion_op_info->original_op_names.size(); - uint32_t task_count = 0; - if (task_id_set.count(task->GetTaskID()) != 0) { + if (task_id_set.count(task->GetTaskID()) > 0) { continue; } const auto &op_desc = GetOpByIndex(fusion_op_info->op_index); - GE_CHK_BOOL_EXEC(op_desc != nullptr, return FAILED, "index is out of range, index: %u", fusion_op_info->op_index); + GE_CHK_BOOL_EXEC(op_desc != nullptr, return FAILED, "index: %u out of range", fusion_op_info->op_index); ProfileInfo profile; profile.fusion_info = *fusion_op_info; @@ -2142,6 +2139,8 @@ Status DavinciModel::InitModelProfile() { profile_list_.emplace_back(profile); } + + GELOGI("fusion task size: %zu, profile info size: %zu", op_id_map_.size(), profile_list_.size()); return SUCCESS; } @@ -2206,7 +2205,7 @@ Status DavinciModel::SinkModelProfile() { // original op name before fusion uint32_t op_num = profile.fusion_info.original_op_names.size(); reporter_data.data = (unsigned char *)&op_num; - reporter_data.dataLen = sizeof(uint32_t); + reporter_data.dataLen = sizeof(int32_t); GE_CHK_BOOL_EXEC(prof_mgr.CallMsprofReport(reporter_data) == 0, return FAILED, "Reporter data fail, model id:%u.", this->Id()); @@ -2230,6 +2229,7 @@ Status DavinciModel::SinkModelProfile() { GE_CHK_BOOL_EXEC(prof_mgr.CallMsprofReport(reporter_data) == 0, return FAILED, "Reporter data fail, model id:%u.", this->Id()); + // memory info reporter_data.data = (unsigned char *)&profile.memory_info; reporter_data.dataLen = sizeof(profile.memory_info); GE_CHK_BOOL_EXEC(prof_mgr.CallMsprofReport(reporter_data) == 0, return FAILED, @@ -2250,6 +2250,7 @@ Status DavinciModel::SinkModelProfile() { "Reporter data fail, model id:%u.", this->Id()); } } + return SUCCESS; } diff --git a/ge/graph/load/new_model_manager/davinci_model.h b/ge/graph/load/new_model_manager/davinci_model.h index 4f976968..ede979d0 100755 --- a/ge/graph/load/new_model_manager/davinci_model.h +++ b/ge/graph/load/new_model_manager/davinci_model.h @@ -997,7 +997,7 @@ class DavinciModel { std::vector> all_gears_info_; std::multimap op_id_map_; - std::vecotr profile_list_; + std::vector profile_list_; }; } // namespace ge #endif // GE_GRAPH_LOAD_NEW_MODEL_MANAGER_DAVINCI_MODEL_H_