Browse Source

!1001 dump known shape

From: @zhou_chao1993
Reviewed-by: @youui,@xchu42,@youui
Signed-off-by: @youui
tags/v1.2.0
mindspore-ci-bot Gitee 3 years ago
parent
commit
b88738aac2
5 changed files with 21 additions and 5 deletions
  1. +1
    -1
      ge/graph/load/model_manager/data_dumper.cc
  2. +6
    -3
      ge/graph/load/model_manager/davinci_model.cc
  3. +7
    -0
      ge/graph/load/model_manager/davinci_model.h
  4. +1
    -1
      ge/graph/load/model_manager/task_info/kernel_ex_task_info.cc
  5. +6
    -0
      ge/hybrid/node_executor/compiledsubgraph/known_node_executor.cc

+ 1
- 1
ge/graph/load/model_manager/data_dumper.cc View File

@@ -820,6 +820,7 @@ Status DataDumper::UnloadDumpInfo() {
for (const auto &op_iter : op_list_) {
aicpu::dump::Task task;
task.set_task_id(op_iter.task_id);
task.set_stream_id(op_iter.stream_id);
op_mapping_info.mutable_task()->Add(std::move(task));
}
auto ret = ExecuteUnLoadDumpInfo(op_mapping_info);
@@ -834,7 +835,6 @@ void DataDumper::DumpShrink() {
compute_graph_.reset();
input_map_.clear();
ref_info_.clear();
op_list_.clear();
}

void DataDumper::PrintCheckLog(string &dump_list_key) {


+ 6
- 3
ge/graph/load/model_manager/davinci_model.cc View File

@@ -3967,8 +3967,11 @@ void DavinciModel::SetDataDumperArgs(const ComputeGraphPtr &graph, const map<str
}
data_dumper_.SetDeviceId(device_id);

// set loop count addr
auto get_var_addr = [&](const string &name) -> void *{
if (known_node_) {
data_dumper_.SetLoopAddr(known_shape_global_step_, nullptr, nullptr);
} else {
// set loop count addr
auto get_var_addr = [&](const string &name) -> void *{
const auto it = variable_by_name.find(name);
if (it != variable_by_name.end()) {
const auto output_sizes = ModelUtils::GetOutputSize(it->second);
@@ -3981,10 +3984,10 @@ void DavinciModel::SetDataDumperArgs(const ComputeGraphPtr &graph, const map<str
GELOGD("op: %s is null.", name.c_str());
return nullptr;
};

data_dumper_.SetLoopAddr(get_var_addr(NODE_NAME_GLOBAL_STEP),
get_var_addr(NODE_NAME_FLOWCTRL_LOOP_PER_ITER),
get_var_addr(NODE_NAME_FLOWCTRL_LOOP_COND));
}
}

uint32_t DavinciModel::GetFlowctrlIndex(uint32_t op_index) {


+ 7
- 0
ge/graph/load/model_manager/davinci_model.h View File

@@ -470,6 +470,10 @@ class DavinciModel {
data_dumper_.SaveDumpTask(task_id, stream_id, op_desc, args);
}

void SetKnownShapeGlobalStep(void *global_step) {
known_shape_global_step_ = global_step;
}

void DumperShrink() {
data_dumper_.DumpShrink();
}
@@ -1057,6 +1061,9 @@ class DavinciModel {
vector<uint32_t> input_formats_;
vector<InputOutputDescInfo> output_descs_;
vector<uint32_t> output_formats_;

// known shape node for dump
void *known_shape_global_step_;
};
} // namespace ge
#endif // GE_GRAPH_LOAD_NEW_MODEL_MANAGER_DAVINCI_MODEL_H_

+ 1
- 1
ge/graph/load/model_manager/task_info/kernel_ex_task_info.cc View File

@@ -192,7 +192,7 @@ void KernelExTaskInfo::InitDumpTask(void *addr, const OpDescPtr &op_desc) {
if (davinci_model_->GetDumpProperties().IsLayerNeedDump(davinci_model_->Name(), davinci_model_->OmName(),
op_desc->GetName())) {
dump_flag_ = RT_KERNEL_DUMPFLAG;
dump_args_ = input_output_addr_;
dump_args_ = addr;
}
}



+ 6
- 0
ge/hybrid/node_executor/compiledsubgraph/known_node_executor.cc View File

@@ -126,6 +126,12 @@ Status KnownNodeTask::Init(TaskContext &context) {
auto dump_properties = context.GetDumpProperties();
if (dump_properties.IsDumpOpen()) {
davinci_model_->SetDumpProperties(dump_properties);
void *global_step = nullptr;
TensorValue *varible_global_step = context.GetVariable(NODE_NAME_GLOBAL_STEP);
if (varible_global_step != nullptr) {
global_step = varible_global_step->MutableData();
}
davinci_model_->SetKnownShapeGlobalStep(global_step);
}
int32_t device_id = 0;
rtError_t rt_ret = rtGetDevice(&device_id);


Loading…
Cancel
Save