|
|
@@ -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, |
|
|
|