Browse Source

bugfix for taskdef's random variation in offline case

tags/v1.5.1
gengchao4@huawei.com 3 years ago
parent
commit
207bf69c20
1 changed files with 5 additions and 3 deletions
  1. +5
    -3
      ge/graph/build/task_generator.cc

+ 5
- 3
ge/graph/build/task_generator.cc View File

@@ -50,6 +50,7 @@ const char *const kIsInputVar = "INPUT_IS_VAR";
const char *const kIsOutputVar = "OUTPUT_IS_VAR";
const char *const kProfilingMode = "PROFILING_MODE";
const char *const kIteratorV2 = "IteratorV2";
const char *const kKernelInfoNameHccl = "ops_kernel_info_hccl";
const uint32_t kProfilingArStep = 2;
const uint64_t kProfilingFpStartLogid = 1;
const uint64_t kProfilingBpEndLogid = 2;
@@ -437,14 +438,15 @@ Status TaskGenerator::GenerateTask(RunContext &run_context, ComputeGraphPtr &gra
}

// Reset stream id to ge stream id, as graph load must use ge stream to reassign stream
void *ops_kernel_info_store_ptr = kernel_info_store.get();
for (size_t idx = task_list_size_before; idx < task_list_size_after; ++idx) {
task_def_list[idx].set_stream_id(static_cast<uint32_t>(stream_id));
op_name_map[idx] = name;
// Set opsKernelInfoStorePtr and op_index, the two fields be use in DistributeTask and InitTaskInfo
TaskDef *task_def_ptr = &task_def_list[idx];
GE_CHECK_NOTNULL(task_def_ptr);
task_def_ptr->set_ops_kernel_store_ptr(reinterpret_cast<uintptr_t>(ops_kernel_info_store_ptr));
// Set opsKernelInfoStorePtr for hccl which will be use in DistributeTask and InitTaskInfo
if (op_kernel_lib_name == kKernelInfoNameHccl) {
task_def_ptr->set_ops_kernel_store_ptr(reinterpret_cast<uintptr_t>(kernel_info_store.get()));
}
}
GELOGD("Call %s to generate node[name:%s(%s), id:%ld, stream_id:%ld] task finished, generate %zu task(s).",
op_kernel_lib_name.c_str(), name.c_str(), type.c_str(), op_id, stream_id,


Loading…
Cancel
Save