| @@ -1547,14 +1547,16 @@ Status DavinciModel::InitLabelSet(const OpDescPtr &op_desc) { | |||||
| } | } | ||||
| Status DavinciModel::InitVariable(const OpDescPtr &op_desc, map<string, OpDescPtr> &variable_by_name) { | Status DavinciModel::InitVariable(const OpDescPtr &op_desc, map<string, OpDescPtr> &variable_by_name) { | ||||
| if (op_desc->GetName() == NODE_NAME_GLOBAL_STEP) { | |||||
| const auto output_sizes = ModelUtils::GetOutputSize(op_desc); | |||||
| if (!output_sizes.empty()) { | |||||
| global_step_size_ = output_sizes[0]; | |||||
| } | |||||
| const auto output_addrs = ModelUtils::GetOutputDataAddrs(runtime_param_, op_desc); | |||||
| if (!output_addrs.empty()) { | |||||
| global_step_addr_ = output_addrs[0]; | |||||
| if (!known_node_) { | |||||
| if (op_desc->GetName() == NODE_NAME_GLOBAL_STEP) { | |||||
| const auto output_sizes = ModelUtils::GetOutputSize(op_desc); | |||||
| if (!output_sizes.empty()) { | |||||
| global_step_size_ = output_sizes[0]; | |||||
| } | |||||
| const auto output_addrs = ModelUtils::GetOutputDataAddrs(runtime_param_, op_desc); | |||||
| if (!output_addrs.empty()) { | |||||
| global_step_addr_ = output_addrs[0]; | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| @@ -4370,7 +4372,7 @@ void DavinciModel::SetDataDumperArgs(const ComputeGraphPtr &graph, const map<str | |||||
| data_dumper_.SetDeviceId(device_id); | data_dumper_.SetDeviceId(device_id); | ||||
| if (known_node_) { | if (known_node_) { | ||||
| data_dumper_.SetLoopAddr(known_shape_global_step_, nullptr, nullptr); | |||||
| data_dumper_.SetLoopAddr(global_step_addr, nullptr, nullptr); | |||||
| } else { | } else { | ||||
| // set loop count addr | // set loop count addr | ||||
| auto get_var_addr = [&](const string &name) -> void *{ | auto get_var_addr = [&](const string &name) -> void *{ | ||||
| @@ -499,10 +499,6 @@ class DavinciModel { | |||||
| return exception_dumper_.DumpExceptionInfo(exception_infos); | return exception_dumper_.DumpExceptionInfo(exception_infos); | ||||
| } | } | ||||
| void SetKnownShapeGlobalStep(void *global_step) { | |||||
| known_shape_global_step_ = global_step; | |||||
| } | |||||
| void DumperShrink() { | void DumperShrink() { | ||||
| data_dumper_.DumpShrink(); | data_dumper_.DumpShrink(); | ||||
| } | } | ||||
| @@ -1109,9 +1105,6 @@ class DavinciModel { | |||||
| vector<InputOutputDescInfo> output_descs_; | vector<InputOutputDescInfo> output_descs_; | ||||
| vector<uint32_t> output_formats_; | vector<uint32_t> output_formats_; | ||||
| // known shape node for dump | |||||
| void *known_shape_global_step_; | |||||
| // op name to attrs mapping | // op name to attrs mapping | ||||
| std::map<std::string, std::map<std::string, std::vector<std::string>>> op_name_to_attrs_; | std::map<std::string, std::map<std::string, std::vector<std::string>>> op_name_to_attrs_; | ||||
| }; | }; | ||||
| @@ -145,8 +145,6 @@ Status KnownNodeTask::InitDavinciModel(const HybridModel &model, TensorBuffer *w | |||||
| auto dump_properties = DumpManager::GetInstance().GetDumpProperties(model.GetSessionId()); | auto dump_properties = DumpManager::GetInstance().GetDumpProperties(model.GetSessionId()); | ||||
| if (dump_properties.IsDumpOpen() || dump_properties.IsOpDebugOpen()) { | if (dump_properties.IsDumpOpen() || dump_properties.IsOpDebugOpen()) { | ||||
| davinci_model_->SetDumpProperties(dump_properties); | davinci_model_->SetDumpProperties(dump_properties); | ||||
| void *global_step = model.GetGlobalStep(); | |||||
| davinci_model_->SetKnownShapeGlobalStep(global_step); | |||||
| } | } | ||||
| void *weight = nullptr; | void *weight = nullptr; | ||||
| @@ -189,9 +187,8 @@ Status KnownNodeExecutor::SetDaviciModel(const HybridModel &model, const NodePtr | |||||
| davinci_model->SetId(model.GetModelId()); | davinci_model->SetId(model.GetModelId()); | ||||
| davinci_model->SetDumpModelName(model.GetModelName()); | davinci_model->SetDumpModelName(model.GetModelName()); | ||||
| davinci_model->SetOmName(model.GetOmName()); | davinci_model->SetOmName(model.GetOmName()); | ||||
| TensorValue *global_step_var = model.GetVariable(NODE_NAME_GLOBAL_STEP); | |||||
| GE_CHECK_NOTNULL(global_step_var); | |||||
| davinci_model->SetGlobalStep(global_step_var->MutableData(), global_step_var->GetSize()); | |||||
| void *global_step = model.GetGlobalStep(); | |||||
| davinci_model->SetGlobalStep(global_step, sizeof(int64_t)); | |||||
| // set model id as root node's node id | // set model id as root node's node id | ||||
| davinci_model->SetSubModelId(node->GetOpDesc()->GetId()); | davinci_model->SetSubModelId(node->GetOpDesc()->GetId()); | ||||
| return SUCCESS; | return SUCCESS; | ||||