| @@ -3173,21 +3173,29 @@ Status DavinciModel::DistributeTask() { | |||||
| const auto &model_task_def = ge_model_->GetModelTaskDefPtr(); | const auto &model_task_def = ge_model_->GetModelTaskDefPtr(); | ||||
| for (size_t task_index = 0; task_index < task_list_.size(); ++task_index) { | for (size_t task_index = 0; task_index < task_list_.size(); ++task_index) { | ||||
| auto &task_def = model_task_def->task(task_index); | |||||
| auto &task = task_list_.at(task_index); | auto &task = task_list_.at(task_index); | ||||
| GE_CHK_STATUS_RET(task->Distribute(), "Task[%zu] distribute fail", task_index); | GE_CHK_STATUS_RET(task->Distribute(), "Task[%zu] distribute fail", task_index); | ||||
| // for data dump | // for data dump | ||||
| auto op_index = std::max(model_task_def->task(task_index).kernel().context().op_index(), | |||||
| model_task_def->task(task_index).kernel_ex().op_index()); | |||||
| auto op_index = std::max(task_def.kernel().context().op_index(), | |||||
| task_def.kernel_ex().op_index()); | |||||
| OpDescPtr op = GetOpByIndex(op_index); | OpDescPtr op = GetOpByIndex(op_index); | ||||
| GE_CHECK_NOTNULL(op); | GE_CHECK_NOTNULL(op); | ||||
| SaveDumpOpInfo(runtime_param_, op, task->GetTaskID(), task->GetStreamId()); | |||||
| if (reinterpret_cast<void *>(task->GetDumpArgs()) != nullptr) { | if (reinterpret_cast<void *>(task->GetDumpArgs()) != nullptr) { | ||||
| bool call_dump = GetDumpProperties().IsLayerNeedDump(name_, om_name_, op->GetName()) && task->CallSaveDumpInfo(); | bool call_dump = GetDumpProperties().IsLayerNeedDump(name_, om_name_, op->GetName()) && task->CallSaveDumpInfo(); | ||||
| if (call_dump || is_op_debug_reg_) { | if (call_dump || is_op_debug_reg_) { | ||||
| SaveDumpTask(task->GetTaskID(), task->GetStreamId(), op, task->GetDumpArgs()); | SaveDumpTask(task->GetTaskID(), task->GetStreamId(), op, task->GetDumpArgs()); | ||||
| } | } | ||||
| } | } | ||||
| auto task_type = static_cast<rtModelTaskType_t>(task_def.type()); | |||||
| bool no_need_profiling = (task_type != RT_MODEL_TASK_KERNEL) | |||||
| && (task_type != RT_MODEL_TASK_KERNEL_EX) | |||||
| && (task_type != RT_MODEL_TASK_HCCL); | |||||
| GE_IF_BOOL_EXEC(no_need_profiling, continue); | |||||
| SaveDumpOpInfo(runtime_param_, op, task->GetTaskID(), task->GetStreamId()); | |||||
| // Load task info for profiling | // Load task info for profiling | ||||
| TaskDescInfo task_desc_info; | TaskDescInfo task_desc_info; | ||||
| if (!om_name_.empty()) { | if (!om_name_.empty()) { | ||||
| @@ -3196,7 +3204,7 @@ Status DavinciModel::DistributeTask() { | |||||
| task_desc_info.model_name = name_; | task_desc_info.model_name = name_; | ||||
| } | } | ||||
| task_desc_info.op_name = op->GetName(); | task_desc_info.op_name = op->GetName(); | ||||
| task_desc_info.block_dim = model_task_def->task(task_index).kernel().block_dim(); | |||||
| task_desc_info.block_dim = task_def.kernel().block_dim(); | |||||
| task_desc_info.task_id = task->GetTaskID(); | task_desc_info.task_id = task->GetTaskID(); | ||||
| task_desc_info.stream_id = task->GetStreamId(); | task_desc_info.stream_id = task->GetStreamId(); | ||||
| task_desc_info_.emplace_back(task_desc_info); | task_desc_info_.emplace_back(task_desc_info); | ||||