Browse Source

Split SinkModelProfile

tags/v1.2.0
zhangxiaokun 3 years ago
parent
commit
841393e5c7
2 changed files with 10 additions and 9 deletions
  1. +9
    -8
      ge/graph/load/new_model_manager/davinci_model.cc
  2. +1
    -1
      ge/graph/load/new_model_manager/davinci_model.h

+ 9
- 8
ge/graph/load/new_model_manager/davinci_model.cc View File

@@ -2090,7 +2090,7 @@ Status DavinciModel::SyncVarData() {
Status DavinciModel::InitModelProfile() { Status DavinciModel::InitModelProfile() {
for (const auto &task : task_list_) { for (const auto &task : task_list_) {
GE_CHECK_NOTNULL(task); 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 // when type is RT_MODEL_TASK_KERNEL, ctx is not null
if ((fusion_op_info == nullptr) || fusion_op_info->original_op_names.empty()) { if ((fusion_op_info == nullptr) || fusion_op_info->original_op_names.empty()) {
continue; continue;
@@ -2105,20 +2105,17 @@ Status DavinciModel::InitModelProfile() {
using Range = std::pair<CIT, CIT>; using Range = std::pair<CIT, CIT>;
for (const auto &task : task_list_) { for (const auto &task : task_list_) {
GE_CHECK_NOTNULL(task); 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()) { if ((fusion_op_info == nullptr) || fusion_op_info->original_op_names.empty()) {
continue; 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; continue;
} }


const auto &op_desc = GetOpByIndex(fusion_op_info->op_index); 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; ProfileInfo profile;
profile.fusion_info = *fusion_op_info; profile.fusion_info = *fusion_op_info;
@@ -2142,6 +2139,8 @@ Status DavinciModel::InitModelProfile() {


profile_list_.emplace_back(profile); profile_list_.emplace_back(profile);
} }

GELOGI("fusion task size: %zu, profile info size: %zu", op_id_map_.size(), profile_list_.size());
return SUCCESS; return SUCCESS;
} }


@@ -2206,7 +2205,7 @@ Status DavinciModel::SinkModelProfile() {
// original op name before fusion // original op name before fusion
uint32_t op_num = profile.fusion_info.original_op_names.size(); uint32_t op_num = profile.fusion_info.original_op_names.size();
reporter_data.data = (unsigned char *)&op_num; 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, GE_CHK_BOOL_EXEC(prof_mgr.CallMsprofReport(reporter_data) == 0, return FAILED,
"Reporter data fail, model id:%u.", this->Id()); "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, GE_CHK_BOOL_EXEC(prof_mgr.CallMsprofReport(reporter_data) == 0, return FAILED,
"Reporter data fail, model id:%u.", this->Id()); "Reporter data fail, model id:%u.", this->Id());


// memory info
reporter_data.data = (unsigned char *)&profile.memory_info; reporter_data.data = (unsigned char *)&profile.memory_info;
reporter_data.dataLen = sizeof(profile.memory_info); reporter_data.dataLen = sizeof(profile.memory_info);
GE_CHK_BOOL_EXEC(prof_mgr.CallMsprofReport(reporter_data) == 0, return FAILED, 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()); "Reporter data fail, model id:%u.", this->Id());
} }
} }

return SUCCESS; return SUCCESS;
} }




+ 1
- 1
ge/graph/load/new_model_manager/davinci_model.h View File

@@ -997,7 +997,7 @@ class DavinciModel {
std::vector<std::vector<int64_t>> all_gears_info_; std::vector<std::vector<int64_t>> all_gears_info_;


std::multimap<uint32_t, uint32_t> op_id_map_; std::multimap<uint32_t, uint32_t> op_id_map_;
std::vecotr<ProfileInfo> profile_list_;
std::vector<ProfileInfo> profile_list_;
}; };
} // namespace ge } // namespace ge
#endif // GE_GRAPH_LOAD_NEW_MODEL_MANAGER_DAVINCI_MODEL_H_ #endif // GE_GRAPH_LOAD_NEW_MODEL_MANAGER_DAVINCI_MODEL_H_

Loading…
Cancel
Save