From fa1d5b78b6d9c2fa0729a75ba915728949311afc Mon Sep 17 00:00:00 2001 From: wjm Date: Fri, 11 Jun 2021 06:47:47 +0800 Subject: [PATCH 01/11] fix coverity --- ge/graph/load/model_manager/model_manager.cc | 4 +++- ge/graph/load/model_manager/task_info/hccl_task_info.cc | 2 +- .../load/model_manager/task_info/kernel_ex_task_info.cc | 2 +- ge/graph/load/model_manager/task_info/kernel_task_info.cc | 2 +- ge/graph/load/model_manager/zero_copy_offset.cc | 6 ++++-- ge/hybrid/model/hybrid_model_builder.cc | 2 +- 6 files changed, 11 insertions(+), 7 deletions(-) diff --git a/ge/graph/load/model_manager/model_manager.cc b/ge/graph/load/model_manager/model_manager.cc index 45540ba0..8b44daea 100755 --- a/ge/graph/load/model_manager/model_manager.cc +++ b/ge/graph/load/model_manager/model_manager.cc @@ -569,6 +569,7 @@ Status ModelManager::DataInputTensor(uint32_t model_id, const std::vector(cur_dynamic_dims.size() * sizeof(int32_t)); GE_CHK_BOOL_EXEC(memcpy_s(data.data, length, cur_dynamic_dims.data(), length) == EOK, REPORT_CALL_ERROR("E19999", "memcpy data failed, size:%u", length); + delete[] reinterpret_cast(data.data); return INTERNAL_ERROR, "[Memcpy][Data] failed, size:%u.", length); data.length = length; input_data.blobs.push_back(data); @@ -1790,7 +1791,8 @@ Status ModelManager::LaunchKernelCheckAicpuOp(std::vector &aicpu_op std::vector op_name; op_name.clear(); op_name.resize(kOpNameMaxSize); - GE_CHK_RT(rtMemcpy(op_name.data(), aicpu_info.opLen, reinterpret_cast(aicpu_info.opType), + GE_CHK_RT(rtMemcpy(op_name.data(), aicpu_info.opLen, + reinterpret_cast(static_cast(aicpu_info.opType)), aicpu_info.opLen, RT_MEMCPY_DEVICE_TO_HOST)); std::string kernel_type = (static_cast(aicpu_info.kernelsType) == TF_KERNEL) ? "TF_KERNEL" : "CPU_KERNEL"; diff --git a/ge/graph/load/model_manager/task_info/hccl_task_info.cc b/ge/graph/load/model_manager/task_info/hccl_task_info.cc index c3c5c8b7..a3cef836 100644 --- a/ge/graph/load/model_manager/task_info/hccl_task_info.cc +++ b/ge/graph/load/model_manager/task_info/hccl_task_info.cc @@ -329,7 +329,7 @@ void HcclTaskInfo::GetPrivateDefByTaskDef(const domi::TaskDef &task) { // Get privateDef and opsKernelStorePtr from taskDef and save them in taskInfo GELOGI("get custom info in modelTaskDef."); ops_kernel_store_ = nullptr; - void *ops_kernel_store_name_temp = reinterpret_cast(task.ops_kernel_store_ptr()); + void *ops_kernel_store_name_temp = reinterpret_cast(static_cast(task.ops_kernel_store_ptr())); if (ops_kernel_store_name_temp != nullptr) { ops_kernel_store_ = std::move(ops_kernel_store_name_temp); std::string private_def_temp = task.private_def(); diff --git a/ge/graph/load/model_manager/task_info/kernel_ex_task_info.cc b/ge/graph/load/model_manager/task_info/kernel_ex_task_info.cc index a4b3de75..1257b192 100644 --- a/ge/graph/load/model_manager/task_info/kernel_ex_task_info.cc +++ b/ge/graph/load/model_manager/task_info/kernel_ex_task_info.cc @@ -420,7 +420,7 @@ Status KernelExTaskInfo::Distribute() { // xxxxxxxx xxxxxxxx xxxxxxxx xx10xxxx: HOST_ONLY // xxxxxxxx xxxxxxxx xxxxxxxx xx11xxxx: HOST_FIRST if (topic_type_flag_ > 0) { - dump_flag_ = dump_flag_ | topic_type_flag_; + dump_flag_ = dump_flag_ | static_cast(topic_type_flag_); } rtError_t rt_ret = rtKernelLaunchEx(kernel_buf_, kernel_buf_size_, dump_flag_, stream_); if (rt_ret != RT_ERROR_NONE) { diff --git a/ge/graph/load/model_manager/task_info/kernel_task_info.cc b/ge/graph/load/model_manager/task_info/kernel_task_info.cc index 07ad63ca..e4514d55 100755 --- a/ge/graph/load/model_manager/task_info/kernel_task_info.cc +++ b/ge/graph/load/model_manager/task_info/kernel_task_info.cc @@ -436,7 +436,7 @@ Status KernelTaskInfo::Distribute() { // xxxxxxxx xxxxxxxx xxxxxxxx xx01xxxx: DEVICE_FIRST // xxxxxxxx xxxxxxxx xxxxxxxx xx10xxxx: HOST_ONLY // xxxxxxxx xxxxxxxx xxxxxxxx xx11xxxx: HOST_FIRST - dump_flag_ = dump_flag_ | topic_type_flag_; + dump_flag_ = dump_flag_ | static_cast(topic_type_flag_); } GELOGI("distribute task info kernel_type %d, flag %d", kernel_type_, dump_flag_); // blockDim is reserved parameter, set to 1 diff --git a/ge/graph/load/model_manager/zero_copy_offset.cc b/ge/graph/load/model_manager/zero_copy_offset.cc index 4a57a899..2a0423c7 100644 --- a/ge/graph/load/model_manager/zero_copy_offset.cc +++ b/ge/graph/load/model_manager/zero_copy_offset.cc @@ -62,7 +62,8 @@ Status ZeroCopyOffset::InitInputDataInfo(int64_t output_size, void *virtual_addr for (size_t index = 0; index < zero_copy_basic_offset_.size(); ++index) { if (zero_copy_basic_offset_.at(index) == virtual_addr_offset) { out_count++; - uint64_t out_offset = reinterpret_cast(virtual_addr) + zero_copy_relative_offset_.at(index); + uint64_t out_offset = static_cast(reinterpret_cast(virtual_addr)) + + zero_copy_relative_offset_.at(index); data_info_.emplace_back(output_size, reinterpret_cast(static_cast(out_offset))); relative_offset_.emplace_back(zero_copy_relative_offset_.at(index)); GELOGI("[ZCPY] virtual_addr: %p has been l2-fusion to %lu, need copy data_size is %ld.", basic_addr_, @@ -117,7 +118,8 @@ Status ZeroCopyOffset::InitOutputDataInfo(const vector &input_size_list for (size_t index = 0; index < zero_copy_basic_offset_.size(); ++index) { if (zero_copy_basic_offset_.at(index) == virtual_addr_offset) { in_count++; - uint64_t in_offset = reinterpret_cast(virtual_addr_list[idx]) + zero_copy_relative_offset_.at(index); + uint64_t in_offset = static_cast(reinterpret_cast(virtual_addr_list[idx])) + + zero_copy_relative_offset_.at(index); int64_t real_data_size = ModelUtils::GetInputSize(op_desc).at(idx); data_info_.emplace_back(real_data_size, reinterpret_cast(static_cast(in_offset))); relative_offset_.emplace_back(zero_copy_relative_offset_.at(index)); diff --git a/ge/hybrid/model/hybrid_model_builder.cc b/ge/hybrid/model/hybrid_model_builder.cc index 554ddbbb..62e941eb 100755 --- a/ge/hybrid/model/hybrid_model_builder.cc +++ b/ge/hybrid/model/hybrid_model_builder.cc @@ -945,7 +945,7 @@ Status HybridModelBuilder::VarNodeToTensor(const NodePtr &var_node, std::unique_ } int64_t var_size = CalcVarSizeInBytes(*tensor_desc); - // var size is only for checking, will not allocate any memory by it + GE_CHECK_GE(var_size, 0); tensor.reset(new(std::nothrow)TensorValue(dev_mem, static_cast(var_size))); GE_CHECK_NOTNULL(tensor); GELOGI("Get var memory addr %p for node %s, size = %ld, mem_type=%u", dev_mem, var_name.c_str(), var_size, mem_type); From 84cb4ad61655e6867be8cddca024f1890cedc5ce Mon Sep 17 00:00:00 2001 From: wjm Date: Fri, 11 Jun 2021 17:36:52 +0800 Subject: [PATCH 02/11] fix --- .../format_transfers/format_transfer_fractal_nz.cc | 4 ++++ .../format_transfers/format_transfer_fractal_zz.cc | 4 ++++ .../compiledsubgraph/known_node_executor.cc | 11 +++-------- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/ge/common/formats/format_transfers/format_transfer_fractal_nz.cc b/ge/common/formats/format_transfers/format_transfer_fractal_nz.cc index 24be6023..798ec55a 100755 --- a/ge/common/formats/format_transfers/format_transfer_fractal_nz.cc +++ b/ge/common/formats/format_transfers/format_transfer_fractal_nz.cc @@ -185,6 +185,7 @@ Status TransFormatFromNdToFracNz(const TransArgs &args, TransResult &result, con auto src_offset = (src_h_head + w1_idx * w0) * size; auto protected_size = dst_size - dst_offset < static_cast(SECUREC_MEM_MAX_LEN) ? dst_size - dst_offset : static_cast(SECUREC_MEM_MAX_LEN); + GE_CHECK_GE(protected_size, 0); auto ret = memcpy_s(dst.get() + dst_offset, static_cast(protected_size), args.data + src_offset, static_cast(size * w0)); if (ret != EOK) { @@ -202,6 +203,7 @@ Status TransFormatFromNdToFracNz(const TransArgs &args, TransResult &result, con auto src_offset = (src_h_head + src_w_idx) * size; auto protected_size = dst_size - dst_offset < static_cast(SECUREC_MEM_MAX_LEN) ? dst_size - dst_offset : static_cast(SECUREC_MEM_MAX_LEN); + GE_CHECK_GE(protected_size, 0); auto ret = memcpy_s(dst.get() + dst_offset, static_cast(protected_size), args.data + src_offset, static_cast(size)); if (ret != EOK) { @@ -267,6 +269,7 @@ Status TransFormatFromFracNzToNd(const TransArgs &args, TransResult &result, con auto dst_offset = (dst_h_head + w1_idx * w0) * size; auto protected_size = dst_size - dst_offset < static_cast(SECUREC_MEM_MAX_LEN) ? dst_size - dst_offset : static_cast(SECUREC_MEM_MAX_LEN); + GE_CHECK_GE(protected_size, 0); ret = memcpy_s(dst.get() + dst_offset, static_cast(protected_size), args.data + src_offset, static_cast(size * w0)); if (ret != EOK) { @@ -285,6 +288,7 @@ Status TransFormatFromFracNzToNd(const TransArgs &args, TransResult &result, con auto dst_offset = (dst_h_head + dst_w_idx) * size; auto protected_size = dst_size - dst_offset < static_cast(SECUREC_MEM_MAX_LEN) ? dst_size - dst_offset : static_cast(SECUREC_MEM_MAX_LEN); + GE_CHECK_GE(protected_size, 0); ret = memcpy_s(dst.get() + dst_offset, static_cast(protected_size), args.data + src_offset, static_cast(size)); if (ret != EOK) { diff --git a/ge/common/formats/format_transfers/format_transfer_fractal_zz.cc b/ge/common/formats/format_transfers/format_transfer_fractal_zz.cc index 1cb142b3..14315084 100755 --- a/ge/common/formats/format_transfers/format_transfer_fractal_zz.cc +++ b/ge/common/formats/format_transfers/format_transfer_fractal_zz.cc @@ -193,6 +193,7 @@ Status TransFormatFromNdToFracZz(const TransArgs &args, TransResult &result, con auto protected_size = dst_size - dst_offset < static_cast(SECUREC_MEM_MAX_LEN) ? dst_size - dst_offset : static_cast(SECUREC_MEM_MAX_LEN); + GE_CHECK_GE(protected_size, 0); auto ret = memcpy_s(dst.get() + dst_offset, static_cast(protected_size), args.data + src_offset, static_cast(size * w0)); if (ret != EOK) { @@ -213,6 +214,7 @@ Status TransFormatFromNdToFracZz(const TransArgs &args, TransResult &result, con auto protected_size = dst_size - dst_offset < static_cast(SECUREC_MEM_MAX_LEN) ? dst_size - dst_offset : static_cast(SECUREC_MEM_MAX_LEN); + GE_CHECK_GE(protected_size, 0); auto ret = memcpy_s(dst.get() + dst_offset, static_cast(protected_size), args.data + src_offset, static_cast(size)); if (ret != EOK) { @@ -284,6 +286,7 @@ Status TransFormatFromFracZzToNd(const TransArgs &args, TransResult &result, con auto protected_size = dst_size - dst_offset < static_cast(SECUREC_MEM_MAX_LEN) ? dst_size - dst_offset : static_cast(SECUREC_MEM_MAX_LEN); + GE_CHECK_GE(protected_size, 0); auto ret = memcpy_s(dst.get() + dst_offset, static_cast(protected_size), args.data + src_offset, static_cast(size * w0)); if (ret != EOK) { @@ -304,6 +307,7 @@ Status TransFormatFromFracZzToNd(const TransArgs &args, TransResult &result, con auto protected_size = dst_size - dst_offset < static_cast(SECUREC_MEM_MAX_LEN) ? dst_size - dst_offset : static_cast(SECUREC_MEM_MAX_LEN); + GE_CHECK_GE(protected_size, 0); auto ret = memcpy_s(dst.get() + dst_offset, static_cast(protected_size), args.data + src_offset, static_cast(size)); if (ret != EOK) { diff --git a/ge/hybrid/node_executor/compiledsubgraph/known_node_executor.cc b/ge/hybrid/node_executor/compiledsubgraph/known_node_executor.cc index 8b3c691f..b4e26332 100755 --- a/ge/hybrid/node_executor/compiledsubgraph/known_node_executor.cc +++ b/ge/hybrid/node_executor/compiledsubgraph/known_node_executor.cc @@ -260,11 +260,8 @@ Status KnownNodeExecutor::ParseAttrForAllocatingOutputs(NodeItem &node_item, Com GE_CHECK_NOTNULL(op_desc); auto src_op_type = src_node->GetType(); auto output_index = in_data_anchor->GetIdx(); - GELOGD("Node %s, output %d, src node = %s, src node type = %s", - node_item.NodeName().c_str(), - output_index, - src_node->GetName().c_str(), - src_op_type.c_str()); + GELOGD("Node %s, output %d, src node = %s, src node type = %s", node_item.NodeName().c_str(), output_index, + src_node->GetName().c_str(), src_op_type.c_str()); // parse reuse outputs std::string input_key = std::to_string(op_desc->GetId()) + "_" + std::to_string(out_data_anchor->GetIdx()); auto it = connected_inputs.find(input_key); @@ -285,9 +282,7 @@ Status KnownNodeExecutor::ParseAttrForAllocatingOutputs(NodeItem &node_item, Com GELOGD("[%s] output[%u] reuses input[%d]", node_item.NodeName().c_str(), output_index, data_index); } else if (src_op_type == CONSTANTOP || src_op_type == CONSTANT || src_op_type == VARIABLE) { node_item.ref_outputs.emplace(output_index, src_node); - GELOGD("[%s] output[%d] ref to node [%s]", - node_item.NodeName().c_str(), - output_index, + GELOGD("[%s] output[%d] ref to node [%s]", node_item.NodeName().c_str(), output_index, src_node->GetName().c_str()); } } From 16c5ba59006b40a1fd7f0c1fa9a23fa42bd78117 Mon Sep 17 00:00:00 2001 From: wjm Date: Fri, 11 Jun 2021 18:20:07 +0800 Subject: [PATCH 03/11] add --- .../formats/format_transfers/format_transfer_c1hwncoc0_hwcn.cc | 1 + .../formats/format_transfers/format_transfer_fractal_nz.cc | 2 +- .../formats/format_transfers/format_transfer_fractal_z.cc | 3 +++ .../formats/format_transfers/format_transfer_fracz_hwcn.cc | 1 + .../formats/format_transfers/format_transfer_fracz_nchw.cc | 1 + .../formats/format_transfers/format_transfer_fracz_nhwc.cc | 1 + .../formats/format_transfers/format_transfer_hwcn_c1hwncoc0.cc | 1 + .../formats/format_transfers/format_transfer_nc1hwc0_nchw.cc | 1 + .../formats/format_transfers/format_transfer_nc1hwc0_nhwc.cc | 1 + .../formats/format_transfers/format_transfer_nchw_nc1hwc0.cc | 1 + .../formats/format_transfers/format_transfer_nhwc_nc1hwc0.cc | 1 + .../formats/format_transfers/format_transfer_transpose.cc | 1 + 12 files changed, 14 insertions(+), 1 deletion(-) diff --git a/ge/common/formats/format_transfers/format_transfer_c1hwncoc0_hwcn.cc b/ge/common/formats/format_transfers/format_transfer_c1hwncoc0_hwcn.cc index ce271c6d..aae95584 100644 --- a/ge/common/formats/format_transfers/format_transfer_c1hwncoc0_hwcn.cc +++ b/ge/common/formats/format_transfers/format_transfer_c1hwncoc0_hwcn.cc @@ -123,6 +123,7 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, int size auto protected_size = total_size - dst_offset < static_cast(SECUREC_MEM_MAX_LEN) ? total_size - dst_offset : static_cast(SECUREC_MEM_MAX_LEN); + GE_CHECK_GE(protected_size, 0); auto ret = memcpy_s(dst.get() + dst_offset, static_cast(protected_size), args.data + src_offset, static_cast(size)); if (ret != EOK) { diff --git a/ge/common/formats/format_transfers/format_transfer_fractal_nz.cc b/ge/common/formats/format_transfers/format_transfer_fractal_nz.cc index 798ec55a..4f597e32 100755 --- a/ge/common/formats/format_transfers/format_transfer_fractal_nz.cc +++ b/ge/common/formats/format_transfers/format_transfer_fractal_nz.cc @@ -59,7 +59,7 @@ bool CheckShape(Format format, const ShapeVector &shape) { return CheckShapeValid(shape, kDimSize4D); default: std::string error = "Trans format between " + FmtToStr(TypeUtils::FormatToSerialString(format)) + - " and FORMAT_FRACTAL_NZ is not supported."; + " and FORMAT_FRACTAL_NZ is not supported."; GE_ERRORLOG_AND_ERRORMSG(ACL_ERROR_GE_FORMAT_INVALID, error.c_str()); return false; } diff --git a/ge/common/formats/format_transfers/format_transfer_fractal_z.cc b/ge/common/formats/format_transfers/format_transfer_fractal_z.cc index 38125979..882a2a68 100644 --- a/ge/common/formats/format_transfers/format_transfer_fractal_z.cc +++ b/ge/common/formats/format_transfers/format_transfer_fractal_z.cc @@ -226,6 +226,7 @@ Status TransFormatFromNchwToFz(const TransArgs &args, TransResult &result) { auto protected_size = dst_size - offset < static_cast(SECUREC_MEM_MAX_LEN) ? dst_size - offset : static_cast(SECUREC_MEM_MAX_LEN); + GE_CHECK_GE(protected_size, 0); errno_t ret = EOK; if (need_pad_zero) { ret = memset_s(dst.get() + offset, static_cast(protected_size), 0, static_cast(size)); @@ -390,6 +391,7 @@ Status TransFormatHwcnToFz(const TransArgs &args, TransResult &result) { auto protected_size = dst_size - dst_offset < static_cast(SECUREC_MEM_MAX_LEN) ? dst_size - dst_offset : static_cast(SECUREC_MEM_MAX_LEN); + GE_CHECK_GE(protected_size, 0); auto pad_zero = ((c1i * c0 + c0i) >= c) || (n1n0i >= n); errno_t ret = EOK; if (pad_zero) { @@ -474,6 +476,7 @@ Status TransFormatNhwcToFz(const TransArgs &args, TransResult &result) { auto protected_size = dst_size - dst_offset < static_cast(SECUREC_MEM_MAX_LEN) ? dst_size - dst_offset : static_cast(SECUREC_MEM_MAX_LEN); + GE_CHECK_GE(protected_size, 0); auto pad_zero = ((c1i * c0 + c0i) >= c) || (n1n0i >= n); errno_t ret = EOK; if (pad_zero) { diff --git a/ge/common/formats/format_transfers/format_transfer_fracz_hwcn.cc b/ge/common/formats/format_transfers/format_transfer_fracz_hwcn.cc index f6af7534..abe6263b 100755 --- a/ge/common/formats/format_transfers/format_transfer_fracz_hwcn.cc +++ b/ge/common/formats/format_transfers/format_transfer_fracz_hwcn.cc @@ -128,6 +128,7 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const in auto dst_offset = dst_idx * size; auto protected_size = total_size - dst_offset < static_cast(SECUREC_MEM_MAX_LEN) ? total_size - dst_offset : static_cast(SECUREC_MEM_MAX_LEN); + GE_CHECK_GE(protected_size, 0); auto ret = memcpy_s(dst.get() + dst_offset, static_cast(protected_size), args.data + src_offset, static_cast(size)); if (ret != EOK) { diff --git a/ge/common/formats/format_transfers/format_transfer_fracz_nchw.cc b/ge/common/formats/format_transfers/format_transfer_fracz_nchw.cc index aaeca490..58073397 100755 --- a/ge/common/formats/format_transfers/format_transfer_fracz_nchw.cc +++ b/ge/common/formats/format_transfers/format_transfer_fracz_nchw.cc @@ -130,6 +130,7 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const in auto dst_offset = dst_idx * size; auto protected_size = total_size - dst_offset < static_cast(SECUREC_MEM_MAX_LEN) ? total_size - dst_offset : static_cast(SECUREC_MEM_MAX_LEN); + GE_CHECK_GE(protected_size, 0); auto ret = memcpy_s(dst.get() + dst_offset, static_cast(protected_size), args.data + src_offset, static_cast(size)); if (ret != EOK) { diff --git a/ge/common/formats/format_transfers/format_transfer_fracz_nhwc.cc b/ge/common/formats/format_transfers/format_transfer_fracz_nhwc.cc index 1e71ea09..3122f137 100755 --- a/ge/common/formats/format_transfers/format_transfer_fracz_nhwc.cc +++ b/ge/common/formats/format_transfers/format_transfer_fracz_nhwc.cc @@ -128,6 +128,7 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, int size auto dst_offset = dst_idx * size; auto protected_size = total_size - dst_offset < static_cast(SECUREC_MEM_MAX_LEN) ? total_size - dst_offset : static_cast(SECUREC_MEM_MAX_LEN); + GE_CHECK_GE(protected_size, 0); auto ret = memcpy_s(dst.get() + dst_offset, static_cast(protected_size), args.data + src_offset, static_cast(size)); if (ret != EOK) { diff --git a/ge/common/formats/format_transfers/format_transfer_hwcn_c1hwncoc0.cc b/ge/common/formats/format_transfers/format_transfer_hwcn_c1hwncoc0.cc index cb7f889b..c597cde0 100755 --- a/ge/common/formats/format_transfers/format_transfer_hwcn_c1hwncoc0.cc +++ b/ge/common/formats/format_transfers/format_transfer_hwcn_c1hwncoc0.cc @@ -149,6 +149,7 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const in auto protected_size = total_size - dst_offset < static_cast(SECUREC_MEM_MAX_LEN) ? total_size - dst_offset : static_cast(SECUREC_MEM_MAX_LEN); + GE_CHECK_GE(protected_size, 0); int64_t c_idx = c0_idx + c1_idx * c0; int64_t src_idx = h_idx * wcn + w_idx * cn + c_idx * n + n_idx; auto src_offset = src_idx * size; diff --git a/ge/common/formats/format_transfers/format_transfer_nc1hwc0_nchw.cc b/ge/common/formats/format_transfers/format_transfer_nc1hwc0_nchw.cc index 09ff45d9..c442bee9 100755 --- a/ge/common/formats/format_transfers/format_transfer_nc1hwc0_nchw.cc +++ b/ge/common/formats/format_transfers/format_transfer_nc1hwc0_nchw.cc @@ -129,6 +129,7 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const in auto protected_size = total_size - dst_offset < static_cast(SECUREC_MEM_MAX_LEN) ? total_size - dst_offset : static_cast(SECUREC_MEM_MAX_LEN); + GE_CHECK_GE(protected_size, 0); auto ret = memcpy_s(dst.get() + dst_offset, static_cast(protected_size), args.data + src_offset, static_cast(size)); if (ret != EOK) { diff --git a/ge/common/formats/format_transfers/format_transfer_nc1hwc0_nhwc.cc b/ge/common/formats/format_transfers/format_transfer_nc1hwc0_nhwc.cc index e9e41cd1..603ddffa 100755 --- a/ge/common/formats/format_transfers/format_transfer_nc1hwc0_nhwc.cc +++ b/ge/common/formats/format_transfers/format_transfer_nc1hwc0_nhwc.cc @@ -129,6 +129,7 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const in auto protected_size = total_size - dst_offset < static_cast(SECUREC_MEM_MAX_LEN) ? total_size - dst_offset : static_cast(SECUREC_MEM_MAX_LEN); + GE_CHECK_GE(protected_size, 0); auto ret = memcpy_s(dst.get() + dst_offset, static_cast(protected_size), args.data + src_offset, static_cast(size)); if (ret != EOK) { diff --git a/ge/common/formats/format_transfers/format_transfer_nchw_nc1hwc0.cc b/ge/common/formats/format_transfers/format_transfer_nchw_nc1hwc0.cc index ea2b1d7f..5cab311d 100755 --- a/ge/common/formats/format_transfers/format_transfer_nchw_nc1hwc0.cc +++ b/ge/common/formats/format_transfers/format_transfer_nchw_nc1hwc0.cc @@ -144,6 +144,7 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const in auto protected_size = total_size - dst_offset < static_cast(SECUREC_MEM_MAX_LEN) ? total_size - dst_offset : static_cast(SECUREC_MEM_MAX_LEN); + GE_CHECK_GE(protected_size, 0); int64_t cIdx = c0_idx + c1_idx * c0; int64_t srcIdx = n_idx * chw + cIdx * hw + h_idx * w + w_idx; auto src_offset = srcIdx * size; diff --git a/ge/common/formats/format_transfers/format_transfer_nhwc_nc1hwc0.cc b/ge/common/formats/format_transfers/format_transfer_nhwc_nc1hwc0.cc index 518790b6..939c967c 100755 --- a/ge/common/formats/format_transfers/format_transfer_nhwc_nc1hwc0.cc +++ b/ge/common/formats/format_transfers/format_transfer_nhwc_nc1hwc0.cc @@ -149,6 +149,7 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const in auto protected_size = total_size - dst_offset < static_cast(SECUREC_MEM_MAX_LEN) ? total_size - dst_offset : static_cast(SECUREC_MEM_MAX_LEN); + GE_CHECK_GE(protected_size, 0); int64_t c_idx = c0_idx + c1_idx * c0; int64_t src_idx = n_idx * hwc + h_idx * wc + w_idx * c + c_idx; auto src_offset = src_idx * size; diff --git a/ge/common/formats/format_transfers/format_transfer_transpose.cc b/ge/common/formats/format_transfers/format_transfer_transpose.cc index 54c5444b..9a4d3fd6 100755 --- a/ge/common/formats/format_transfers/format_transfer_transpose.cc +++ b/ge/common/formats/format_transfers/format_transfer_transpose.cc @@ -171,6 +171,7 @@ Status Transpose(const uint8_t *src, const std::vector &src_shape, Data auto protected_size = dst_size - dst_offset_bytes < static_cast(SECUREC_MEM_MAX_LEN) ? dst_size - dst_offset_bytes : static_cast(SECUREC_MEM_MAX_LEN); + GE_CHECK_GE(protected_size, 0); auto ret = memcpy_s(dst.get() + dst_offset_bytes, static_cast(protected_size), src + src_offset, static_cast(data_size)); if (ret != EOK) { From 92c6de14f384d4f81e4129a5aa2d7b202be7647b Mon Sep 17 00:00:00 2001 From: wjm Date: Fri, 11 Jun 2021 18:21:39 +0800 Subject: [PATCH 04/11] add --- .../compiledsubgraph/known_node_executor.cc | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/ge/hybrid/node_executor/compiledsubgraph/known_node_executor.cc b/ge/hybrid/node_executor/compiledsubgraph/known_node_executor.cc index b4e26332..8b3c691f 100755 --- a/ge/hybrid/node_executor/compiledsubgraph/known_node_executor.cc +++ b/ge/hybrid/node_executor/compiledsubgraph/known_node_executor.cc @@ -260,8 +260,11 @@ Status KnownNodeExecutor::ParseAttrForAllocatingOutputs(NodeItem &node_item, Com GE_CHECK_NOTNULL(op_desc); auto src_op_type = src_node->GetType(); auto output_index = in_data_anchor->GetIdx(); - GELOGD("Node %s, output %d, src node = %s, src node type = %s", node_item.NodeName().c_str(), output_index, - src_node->GetName().c_str(), src_op_type.c_str()); + GELOGD("Node %s, output %d, src node = %s, src node type = %s", + node_item.NodeName().c_str(), + output_index, + src_node->GetName().c_str(), + src_op_type.c_str()); // parse reuse outputs std::string input_key = std::to_string(op_desc->GetId()) + "_" + std::to_string(out_data_anchor->GetIdx()); auto it = connected_inputs.find(input_key); @@ -282,7 +285,9 @@ Status KnownNodeExecutor::ParseAttrForAllocatingOutputs(NodeItem &node_item, Com GELOGD("[%s] output[%u] reuses input[%d]", node_item.NodeName().c_str(), output_index, data_index); } else if (src_op_type == CONSTANTOP || src_op_type == CONSTANT || src_op_type == VARIABLE) { node_item.ref_outputs.emplace(output_index, src_node); - GELOGD("[%s] output[%d] ref to node [%s]", node_item.NodeName().c_str(), output_index, + GELOGD("[%s] output[%d] ref to node [%s]", + node_item.NodeName().c_str(), + output_index, src_node->GetName().c_str()); } } From 3b261ee4a453b6c62fe33fef5708985bed8594a6 Mon Sep 17 00:00:00 2001 From: wuweikang Date: Mon, 5 Jul 2021 09:59:23 +0800 Subject: [PATCH 05/11] fix dump step check --- ge/common/dump/dump_properties.cc | 14 ++++---------- tests/ut/ge/common/dump_properties_unittest.cc | 4 ++-- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/ge/common/dump/dump_properties.cc b/ge/common/dump/dump_properties.cc index 84bdb7bf..099920e7 100644 --- a/ge/common/dump/dump_properties.cc +++ b/ge/common/dump/dump_properties.cc @@ -204,7 +204,7 @@ FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY DumpProperties &DumpProperties: FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY Status DumpProperties::SetDumpOptions() { if (enable_dump_ == kEnableFlag) { std::string dump_step; - if (GetContext().GetOption(OPTION_EXEC_DUMP_STEP, dump_step) == GRAPH_SUCCESS) { + if (GetContext().GetOption(OPTION_EXEC_DUMP_STEP, dump_step) == GRAPH_SUCCESS && !dump_step.empty()) { GE_CHK_STATUS_RET(CheckDumpStep(dump_step), "[Check][dump_step] failed."); GELOGI("Get dump step %s successfully", dump_step.c_str()); SetDumpStep(dump_step); @@ -441,16 +441,10 @@ Status DumpProperties::SetDumpDebugOptions() { if (enable_dump_debug_ == kEnableFlag) { std::string dump_debug_mode; if (GetContext().GetOption(OPTION_EXEC_DUMP_DEBUG_MODE, dump_debug_mode) == GRAPH_SUCCESS) { - GELOGD("Get dump debug mode %s successfully", dump_debug_mode.c_str()); + GELOGD("Get ge.exec.dumpDebugMode %s successfully", dump_debug_mode.c_str()); } else { - REPORT_INPUT_ERROR("E10001", std::vector({"parameter", "value", "reason"}), - std::vector({ - "ge.exec.dumpDebugMode", - dump_debug_mode, - "ge.exec.dumpDebugMode is not set."})); - GELOGE(PARAM_INVALID, "[Check][dump_debug_mode] failed. Dump debug mode is not set."); - - return PARAM_INVALID; + GELOGW("ge.exec.dumpDebugMode is not set."); + return SUCCESS; } if (dump_debug_mode == OP_DEBUG_AICORE) { diff --git a/tests/ut/ge/common/dump_properties_unittest.cc b/tests/ut/ge/common/dump_properties_unittest.cc index 57809013..3623bc6d 100644 --- a/tests/ut/ge/common/dump_properties_unittest.cc +++ b/tests/ut/ge/common/dump_properties_unittest.cc @@ -115,12 +115,12 @@ TEST_F(UTEST_dump_properties, init_by_options_success_2) { EXPECT_EQ(st, SUCCESS); } -TEST_F(UTEST_dump_properties, init_by_options_failed) { +TEST_F(UTEST_dump_properties, init_by_options_success_3) { DumpProperties dp; std::map options {{OPTION_EXEC_ENABLE_DUMP_DEBUG, "1"}, {OPTION_EXEC_DUMP_PATH, "/tmp/"}}; GetThreadLocalContext().SetGlobalOption(options); Status st = dp.InitByOptions(); - EXPECT_NE(st, SUCCESS); + EXPECT_EQ(st, SUCCESS); } } // namespace ge \ No newline at end of file From 4077301b37a6852c2a116335195b529e2bdd63e4 Mon Sep 17 00:00:00 2001 From: zhupuxu Date: Thu, 8 Jul 2021 15:33:19 +0800 Subject: [PATCH 06/11] fix bug for step info Signed-off-by: zhupuxu --- ge/common/profiling/ge_profiling.cc | 14 ++++---------- ge/common/profiling/profiling_manager.cc | 2 ++ ge/common/profiling/profiling_manager.h | 3 +++ ge/single_op/single_op.cc | 2 +- 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/ge/common/profiling/ge_profiling.cc b/ge/common/profiling/ge_profiling.cc index c00af058..fd104e90 100644 --- a/ge/common/profiling/ge_profiling.cc +++ b/ge/common/profiling/ge_profiling.cc @@ -230,21 +230,15 @@ ge::Status ProfSetStepInfo(uint64_t index_id, uint16_t tag_id, rtStream_t stream REPORT_CALL_ERROR("E19999", "Get logic device id failed, ret 0x%X", rt_ret); return ge::FAILED; } + auto &profiling_manager = ge::ProfilingManager::Instance(); + profiling_manager.SetStepInfoIndex(index_id); if (is_first_run && tag_id == kStepStart) { - GE_CHK_STATUS_RET_NOLOG(ge::ProfilingManager::Instance().ProfileStepInfo(index_id, - kModelId, - tag_id, - stream, - device_id)); + GE_CHK_STATUS_RET_NOLOG(profiling_manager.ProfileStepInfo(index_id, kModelId, tag_id, stream, device_id)); is_first_run = false; return ge::SUCCESS; } if (!is_first_run && tag_id == kStepEnd) { - GE_CHK_STATUS_RET_NOLOG(ge::ProfilingManager::Instance().ProfileStepInfo(index_id, - kModelId, - tag_id, - stream, - device_id)); + GE_CHK_STATUS_RET_NOLOG(profiling_manager.ProfileStepInfo(index_id, kModelId, tag_id, stream, device_id)); is_first_run = true; return ge::SUCCESS; } diff --git a/ge/common/profiling/profiling_manager.cc b/ge/common/profiling/profiling_manager.cc index 6707d78e..7fd63d7e 100644 --- a/ge/common/profiling/profiling_manager.cc +++ b/ge/common/profiling/profiling_manager.cc @@ -69,6 +69,7 @@ ProfilingManager::ProfilingManager() : is_load_profiling_(false), is_execute_profiling_(false), is_training_trace_(false), subscribe_count_(0) { prof_cb_.msprofCtrlCallback = nullptr; prof_cb_.msprofReporterCallback = nullptr; + index_id_ = UINT64_MAX; } ProfilingManager::~ProfilingManager() {} @@ -604,6 +605,7 @@ FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY Status ProfilingManager::ProfFi is_load_profiling_ = false; is_training_trace_ = false; is_execute_profiling_ = false; + index_id_ = UINT64_MAX; // profiling plugin uninit PluginUnInit(); diff --git a/ge/common/profiling/profiling_manager.h b/ge/common/profiling/profiling_manager.h index 049a4df4..25929895 100755 --- a/ge/common/profiling/profiling_manager.h +++ b/ge/common/profiling/profiling_manager.h @@ -101,6 +101,8 @@ class FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY ProfilingManager { void GetOpInputOutputInfo(const OpDescPtr &op, TaskDescInfo &task_desc_info) const; void ReportData(const int32_t &device_id, const std::string &data, const std::string &tag_name); Status ProfileStepInfo(uint64_t index_id, uint64_t model_id, uint16_t tag_id, rtStream_t stream, int32_t device_id); + void SetStepInfoIndex(uint64_t index_id) { index_id_ = index_id; } + uint64_t GetStepInfoIndex() { return index_id_; } private: Status InitFromOptions(const Options &options, MsprofGeOptions &prof_conf); Status ParseOptions(const std::string &options); @@ -127,6 +129,7 @@ class FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY ProfilingManager { std::string fp_point_; std::string bp_point_; uint32_t reporter_max_len_ = 0; + uint64_t index_id_; }; } // namespace ge #endif // GE_COMMON_PROFILING_PROFILING_MANAGER_H_ diff --git a/ge/single_op/single_op.cc b/ge/single_op/single_op.cc index 763d0fa4..a82c30ba 100755 --- a/ge/single_op/single_op.cc +++ b/ge/single_op/single_op.cc @@ -58,7 +58,7 @@ Status ProfilingTaskInfo(OpTask *op_task, const string &shape_type) { tmp_task_desc_info.op_name.c_str(), tmp_task_desc_info.model_name.c_str()); tmp_task_desc_info.shape_type = shape_type; - tmp_task_desc_info.cur_iter_num = 0; + tmp_task_desc_info.cur_iter_num = ProfilingManager::Instance().GetStepInfoIndex(); tmp_task_desc_info.task_type = op_task->GetTaskType(); std::vector task_desc_info; From d642976cb69fbd5b296372209d1becfeebacdb40 Mon Sep 17 00:00:00 2001 From: zhangxiaokun Date: Fri, 9 Jul 2021 16:43:43 +0800 Subject: [PATCH 07/11] Sort CMakeLists.txt SRC_LIST --- ge/CMakeLists.txt | 1102 ++++++++++------- ge/graph/manager/graph_manager.h | 1 - .../ge/graph/load/model_manager_unittest.cc | 33 +- 3 files changed, 624 insertions(+), 512 deletions(-) diff --git a/ge/CMakeLists.txt b/ge/CMakeLists.txt index 9fff30f7..eec992c8 100755 --- a/ge/CMakeLists.txt +++ b/ge/CMakeLists.txt @@ -2,7 +2,6 @@ if (NOT ENABLE_D AND NOT ENABLE_ACL AND NOT ENABLE_MS_TESTCASES) add_subdirectory(common) add_subdirectory(plugin/engine) add_subdirectory(ge_local_engine) - add_subdirectory(executor) add_subdirectory(offline) elseif (ENABLE_D) add_subdirectory(common) @@ -109,7 +108,346 @@ target_link_libraries(ge_proto_client PRIVATE endif () ################################################################## -set(TRAIN_SRC_LIST +set(EXECUTOR_SRC_LIST + #"analyzer/analyzer.cc" + #"client/ge_api.cc" + "common/dump/dump_manager.cc" + "common/dump/dump_op.cc" + "common/dump/dump_properties.cc" + "common/dump/exception_dumper.cc" + "common/dump/opdebug_register.cc" + #"common/formats/format_transfers/datatype_transfer.cc" + #"common/formats/format_transfers/format_transfer_c1hwncoc0_hwcn.cc" + #"common/formats/format_transfers/format_transfer_dhwcn_fracz3D.cc" + #"common/formats/format_transfers/format_transfer_dhwnc_fracz3D_transpose.cc" + #"common/formats/format_transfers/format_transfer_fractal_nz.cc" + #"common/formats/format_transfers/format_transfer_fractal_z.cc" + #"common/formats/format_transfers/format_transfer_fractal_zz.cc" + #"common/formats/format_transfers/format_transfer_fracz_hwcn.cc" + #"common/formats/format_transfers/format_transfer_fracz_nchw.cc" + #"common/formats/format_transfers/format_transfer_fracz_nhwc.cc" + #"common/formats/format_transfers/format_transfer_hwcn_c1hwncoc0.cc" + #"common/formats/format_transfers/format_transfer_nc1hwc0_nchw.cc" + #"common/formats/format_transfers/format_transfer_nc1hwc0_nhwc.cc" + #"common/formats/format_transfers/format_transfer_nchw_nc1hwc0.cc" + #"common/formats/format_transfers/format_transfer_nhwc_nc1hwc0.cc" + "common/formats/format_transfers/format_transfer_transpose.cc" + #"common/formats/formats.cc" + "common/formats/utils/formats_trans_utils.cc" + "common/fp16_t.cc" + "common/ge/op_tiling_manager.cc" + "common/ge/plugin_manager.cc" + #"common/helper/model_cache_helper.cc" + "common/profiling/ge_profiling.cc" + #"common/profiling/ge_runner_profiling.cc" + "common/profiling/profiling_manager.cc" + #"engine_manager/dnnengine_manager.cc" + "executor/ge_executor.cc" + "ge_local_engine/engine/host_cpu_engine.cc" + #"ge_opt_info/ge_opt_info.cc" + #"generator/ge_generator.cc" + #"generator/generator_api.cc" + #"graph/build/graph_builder.cc" + #"graph/build/label_allocator.cc" + #"graph/build/logical_stream_allocator.cc" + #"graph/build/memory/binary_block_mem_assigner.cc" + #"graph/build/memory/block_mem_assigner.cc" + #"graph/build/memory/buffer_pool_mem_assigner.cc" + #"graph/build/memory/graph_mem_assigner.cc" + #"graph/build/memory/hybrid_mem_assigner.cc" + #"graph/build/memory/max_block_mem_assigner.cc" + #"graph/build/memory/memory_assigner.cc" + "graph/build/memory/var_mem_assign_util.cc" + #"graph/build/model_builder.cc" + #"graph/build/run_context.cc" + #"graph/build/stream_allocator.cc" + #"graph/build/stream_graph_optimizer.cc" + #"graph/build/task_generator.cc" + "graph/common/bcast.cc" + "graph/common/local_context.cc" + "graph/common/omg_util.cc" + #"graph/common/transop_util.cc" + "graph/execute/graph_execute.cc" + "graph/execute/model_executor.cc" + #"graph/label/case_label_maker.cc" + #"graph/label/if_label_maker.cc" + #"graph/label/label_maker.cc" + #"graph/label/partitioned_call_label_maker.cc" + #"graph/label/while_label_maker.cc" + "graph/load/graph_loader.cc" + "graph/load/model_manager/aipp_utils.cc" + "graph/load/model_manager/cpu_queue_schedule.cc" + "graph/load/model_manager/data_dumper.cc" + "graph/load/model_manager/data_inputer.cc" + "graph/load/model_manager/davinci_model.cc" + "graph/load/model_manager/model_manager.cc" + "graph/load/model_manager/model_utils.cc" + "graph/load/model_manager/task_info/end_graph_task_info.cc" + "graph/load/model_manager/task_info/event_record_task_info.cc" + "graph/load/model_manager/task_info/event_wait_task_info.cc" + "graph/load/model_manager/task_info/ffts_task_info.cc" + "graph/load/model_manager/task_info/fusion_start_task_info.cc" + "graph/load/model_manager/task_info/fusion_stop_task_info.cc" + #"graph/load/model_manager/task_info/hccl_task_info.cc" # Just for runner. + "graph/load/model_manager/task_info/kernel_ex_task_info.cc" + "graph/load/model_manager/task_info/kernel_task_info.cc" + "graph/load/model_manager/task_info/label_goto_ex_task_info.cc" + "graph/load/model_manager/task_info/label_set_task_info.cc" + "graph/load/model_manager/task_info/label_switch_by_index_task_info.cc" + "graph/load/model_manager/task_info/memcpy_addr_async_task_info.cc" + "graph/load/model_manager/task_info/memcpy_async_task_info.cc" + "graph/load/model_manager/task_info/model_exit_task_info.cc" + "graph/load/model_manager/task_info/profiler_trace_task_info.cc" + "graph/load/model_manager/task_info/stream_active_task_info.cc" + "graph/load/model_manager/task_info/stream_switch_task_info.cc" + "graph/load/model_manager/task_info/stream_switchn_task_info.cc" + "graph/load/model_manager/task_info/super_kernel/super_kernel.cc" + "graph/load/model_manager/task_info/super_kernel/super_kernel_factory.cc" + "graph/load/model_manager/task_info/task_info.cc" + "graph/load/model_manager/tbe_handle_store.cc" + "graph/load/model_manager/zero_copy_offset.cc" + "graph/load/model_manager/zero_copy_task.cc" + "graph/manager/graph_caching_allocator.cc" + #"graph/manager/graph_context.cc" + #"graph/manager/graph_manager.cc" + "graph/manager/graph_manager_utils.cc" + "graph/manager/graph_mem_allocator.cc" + "graph/manager/graph_mem_manager.cc" + "graph/manager/graph_var_manager.cc" + "graph/manager/host_mem_allocator.cc" + "graph/manager/host_mem_manager.cc" + #"graph/manager/memory_api.cc" # Just for runner. + #"graph/manager/model_manager/event_manager.cc" + "graph/manager/rdma_pool_allocator.cc" + "graph/manager/session_scope_mem_allocator.cc" + "graph/manager/trans_var_data_utils.cc" + "graph/manager/util/debug.cc" + #"graph/manager/util/hcom_util.cc" # Just for runner. + #"graph/manager/util/rt_context_util.cc" + #"graph/manager/util/variable_accelerate_ctrl.cc" + #"graph/optimize/graph_optimize.cc" + #"graph/optimize/mem_rw_conflict_optimize.cc" + #"graph/optimize/summary_optimize.cc" + #"graph/partition/dynamic_shape_partition.cc" + #"graph/partition/engine_place.cc" + #"graph/partition/graph_partition.cc" + #"graph/partition/stage_partition.cc" + #"graph/passes/addn_pass.cc" + #"graph/passes/aicpu_constant_folding_pass.cc" + #"graph/passes/assert_pass.cc" + #"graph/passes/assign_remove_pass.cc" + #"graph/passes/atomic_addr_clean_pass.cc" + #"graph/passes/attach_stream_label_pass.cc" + #"graph/passes/base_pass.cc" + #"graph/passes/bitcast_pass.cc" + #"graph/passes/buffer_pool_memory_pass.cc" + #"graph/passes/cast_remove_pass.cc" + #"graph/passes/cast_translate_pass.cc" + #"graph/passes/common_subexpression_elimination_pass.cc" + #"graph/passes/compile_nodes_pass.cc" + #"graph/passes/cond_pass.cc" + #"graph/passes/cond_remove_pass.cc" + #"graph/passes/constant_folding_pass.cc" + #"graph/passes/constant_fuse_same_pass.cc" + #"graph/passes/control_trigger_pass.cc" + #"graph/passes/ctrl_edge_transfer_pass.cc" + #"graph/passes/data_pass.cc" + #"graph/passes/dimension_adjust_pass.cc" + #"graph/passes/dimension_compute_pass.cc" + #"graph/passes/dropout_pass.cc" + #"graph/passes/end_of_sequence_add_control_pass.cc" + #"graph/passes/enter_pass.cc" + #"graph/passes/flow_ctrl_pass.cc" + #"graph/passes/folding_pass.cc" + #"graph/passes/for_pass.cc" + #"graph/passes/fuse_data_nodes_with_common_input_pass.cc" + #"graph/passes/get_original_format_pass.cc" + #"graph/passes/global_step_insert_pass.cc" + #"graph/passes/guarantee_const_pass.cc" + #"graph/passes/hccl_continuous_memcpy_pass.cc" + #"graph/passes/hccl_group_pass.cc" + #"graph/passes/hccl_memcpy_pass.cc" + #"graph/passes/hccl_tailing_optimization_pass.cc" + #"graph/passes/identity_pass.cc" + #"graph/passes/infer_base_pass.cc" + #"graph/passes/infer_value_range_pass.cc" + #"graph/passes/infershape_pass.cc" + #"graph/passes/inplace_support_check_pass.cc" + #"graph/passes/input_output_connection_identify_pass.cc" + #"graph/passes/iterator_op_pass.cc" + #"graph/passes/link_gen_mask_nodes_pass.cc" + #"graph/passes/mark_agnostic_pass.cc" + #"graph/passes/mark_force_unknown_for_cond_pass.cc" + #"graph/passes/mark_graph_unknown_status_pass.cc" + #"graph/passes/mark_node_unknown_shape_pass.cc" + #"graph/passes/mark_same_addr_pass.cc" + #"graph/passes/memcpy_addr_async_pass.cc" + #"graph/passes/merge_input_memcpy_pass.cc" + #"graph/passes/merge_pass.cc" + #"graph/passes/merge_to_stream_merge_pass.cc" + #"graph/passes/multi_batch_clone_pass.cc" + #"graph/passes/multi_batch_pass.cc" + #"graph/passes/net_output_pass.cc" + #"graph/passes/next_iteration_pass.cc" + #"graph/passes/no_use_reshape_remove_pass.cc" + #"graph/passes/parallel_concat_start_op_pass.cc" + #"graph/passes/parallel_group_pass.cc" + #"graph/passes/pass_manager.cc" + "graph/passes/pass_utils.cc" + #"graph/passes/permute_pass.cc" + #"graph/passes/placeholder_with_default_pass.cc" + #"graph/passes/prevent_gradient_pass.cc" + #"graph/passes/print_op_pass.cc" + #"graph/passes/prune_pass.cc" + #"graph/passes/ref_identity_delete_op_pass.cc" + #"graph/passes/remove_same_const_pass.cc" + #"graph/passes/replace_transshape_pass.cc" + #"graph/passes/replace_with_empty_const_pass.cc" + #"graph/passes/reshape_recovery_pass.cc" + #"graph/passes/reshape_remove_pass.cc" + #"graph/passes/resource_pair_add_control_pass.cc" + #"graph/passes/resource_pair_remove_control_pass.cc" + #"graph/passes/same_transdata_breadth_fusion_pass.cc" + #"graph/passes/save_pass.cc" + #"graph/passes/set_input_output_offset_pass.cc" + #"graph/passes/shape_operate_op_remove_pass.cc" + #"graph/passes/snapshot_pass.cc" + #"graph/passes/stop_gradient_pass.cc" + #"graph/passes/subexpression_migration_pass.cc" + #"graph/passes/subgraph_const_migration_pass.cc" + #"graph/passes/subgraph_pass.cc" + #"graph/passes/switch_data_edges_bypass.cc" + #"graph/passes/switch_dead_branch_elimination.cc" + #"graph/passes/switch_logic_remove_pass.cc" + #"graph/passes/switch_to_stream_switch_pass.cc" + #"graph/passes/transop_breadth_fusion_pass.cc" + #"graph/passes/transop_depth_fusion_pass.cc" + #"graph/passes/transop_nearby_allreduce_fusion_pass.cc" + #"graph/passes/transop_symmetry_elimination_pass.cc" + #"graph/passes/transop_without_reshape_fusion_pass.cc" + #"graph/passes/transpose_transdata_pass.cc" + #"graph/passes/unused_args_clean_pass.cc" + #"graph/passes/unused_const_pass.cc" + #"graph/passes/useless_control_out_remove_pass.cc" + #"graph/passes/var_is_initialized_op_pass.cc" + #"graph/passes/variable_op_pass.cc" + #"graph/passes/variable_prepare_op_pass.cc" + #"graph/passes/variable_ref_delete_op_pass.cc" + #"graph/passes/variable_ref_useless_control_out_delete_pass.cc" + #"graph/preprocess/graph_preprocess.cc" + #"graph/preprocess/insert_op/ge_aipp_op.cc" + #"graph/preprocess/insert_op/util_insert_aipp_op.cc" + #"graph/preprocess/multi_batch_copy_graph.cc" + #"graph/preprocess/multi_batch_options.cc" + "host_kernels/add_kernel.cc" + "host_kernels/broadcast_args_kernel.cc" + "host_kernels/broadcast_gradient_args_kernel.cc" + "host_kernels/cast_kernel.cc" + "host_kernels/concat_offset_kernel.cc" + "host_kernels/concat_v2_kernel.cc" + "host_kernels/dynamic_stitch_kernel.cc" + "host_kernels/empty_kernel.cc" + "host_kernels/expanddims_kernel.cc" + "host_kernels/fill_kernel.cc" + "host_kernels/floordiv_kernel.cc" + "host_kernels/floormod_kernel.cc" + "host_kernels/gather_v2_kernel.cc" + "host_kernels/greater_kernel.cc" + "host_kernels/identity_kernel.cc" + "host_kernels/kernel_utils.cc" + "host_kernels/maximum_kernel.cc" + "host_kernels/mul_kernel.cc" + "host_kernels/pack_kernel.cc" + "host_kernels/permute_kernel.cc" + "host_kernels/range_kernel.cc" + "host_kernels/rank_kernel.cc" + "host_kernels/reduce_prod_kernel.cc" + "host_kernels/reformat_kernel.cc" + "host_kernels/reshape_kernel.cc" + "host_kernels/rsqrt_kernel.cc" + "host_kernels/shape_kernel.cc" + "host_kernels/shape_n_kernel.cc" + "host_kernels/size_kernel.cc" + "host_kernels/slice_d_kernel.cc" + "host_kernels/slice_kernel.cc" + "host_kernels/squeeze_kernel.cc" + "host_kernels/ssd_prior_box_kernel.cc" + "host_kernels/strided_slice_kernel.cc" + "host_kernels/sub_kernel.cc" + "host_kernels/transdata_kernel.cc" + "host_kernels/transpose_kernel.cc" + "host_kernels/unpack_kernel.cc" + "host_kernels/unsqueeze_kernel.cc" + "hybrid/common/npu_memory_allocator.cc" + "hybrid/common/tensor_value.cc" + "hybrid/executor/hybrid_execution_context.cc" + "hybrid/executor/hybrid_model_async_executor.cc" + "hybrid/executor/hybrid_model_executor.cc" + "hybrid/executor/hybrid_model_pipeline_executor.cc" + "hybrid/executor/hybrid_profiler.cc" + "hybrid/executor/node_done_manager.cc" + "hybrid/executor/node_state.cc" + "hybrid/executor/rt_callback_manager.cc" + "hybrid/executor/subgraph_context.cc" + "hybrid/executor/subgraph_executor.cc" + "hybrid/executor/worker/execution_engine.cc" + "hybrid/executor/worker/shape_inference_engine.cc" + "hybrid/executor/worker/task_compile_engine.cc" + "hybrid/hybrid_davinci_model.cc" + "hybrid/model/graph_item.cc" + "hybrid/model/hybrid_model.cc" + "hybrid/model/hybrid_model_builder.cc" + "hybrid/model/node_item.cc" + "hybrid/node_executor/aicore/aicore_node_executor.cc" + "hybrid/node_executor/aicore/aicore_op_task.cc" + "hybrid/node_executor/aicore/aicore_task_builder.cc" + #"hybrid/node_executor/aicore/aicore_task_compiler.cc" + "hybrid/node_executor/aicpu/aicpu_ext_info.cc" + "hybrid/node_executor/aicpu/aicpu_node_executor.cc" + "hybrid/node_executor/compiledsubgraph/known_node_executor.cc" + "hybrid/node_executor/controlop/control_op_executor.cc" + "hybrid/node_executor/ge_local/ge_local_node_executor.cc" + #"hybrid/node_executor/hccl/hccl_node_executor.cc" # Just for runner. + "hybrid/node_executor/host_cpu/host_cpu_node_executor.cc" + "hybrid/node_executor/node_executor.cc" + "hybrid/node_executor/partitioned_call/partitioned_call_node_executor.cc" + "hybrid/node_executor/rts/rts_node_executor.cc" + "hybrid/node_executor/rts/rts_node_task.cc" + "hybrid/node_executor/rts/rts_task_factory.cc" + "hybrid/node_executor/task_context.cc" + #"init/gelib.cc" + #"ir_build/attr_options/keep_dtype_option.cc" + #"ir_build/attr_options/utils.cc" + #"ir_build/attr_options/weight_compress_option.cc" + #"ir_build/ge_ir_build.cc" + #"ir_build/option_utils.cc" + "model/ge_model.cc" + "model/ge_root_model.cc" + "opskernel_manager/ops_kernel_builder_manager.cc" + #"opskernel_manager/ops_kernel_manager.cc" + #"session/inner_session.cc" + #"session/session_manager.cc" + "single_op/single_op.cc" + "single_op/single_op_manager.cc" + "single_op/single_op_model.cc" + "single_op/stream_resource.cc" + "single_op/task/aicpu_kernel_task_builder.cc" + "single_op/task/aicpu_task_builder.cc" + "single_op/task/build_task_utils.cc" + "single_op/task/op_task.cc" + "single_op/task/rts_kernel_task_builder.cc" + "single_op/task/tbe_task_builder.cc" +) + +################################################################## +set(COMPILER_SRC_LIST + "analyzer/analyzer.cc" + "common/dump/dump_manager.cc" + "common/dump/dump_op.cc" + "common/dump/dump_properties.cc" + "common/dump/dump_server.cc" + "common/dump/exception_dumper.cc" + "common/dump/opdebug_register.cc" "common/formats/format_transfers/datatype_transfer.cc" "common/formats/format_transfers/format_transfer_c1hwncoc0_hwcn.cc" "common/formats/format_transfers/format_transfer_dhwcn_fracz3D.cc" @@ -123,30 +461,33 @@ set(TRAIN_SRC_LIST "common/formats/format_transfers/format_transfer_hwcn_c1hwncoc0.cc" "common/formats/format_transfers/format_transfer_nc1hwc0_nchw.cc" "common/formats/format_transfers/format_transfer_nc1hwc0_nhwc.cc" + "common/formats/format_transfers/format_transfer_nchw_fz_c04.cc" "common/formats/format_transfers/format_transfer_nchw_nc1hwc0.cc" "common/formats/format_transfers/format_transfer_nhwc_nc1hwc0.cc" "common/formats/format_transfers/format_transfer_transpose.cc" "common/formats/formats.cc" "common/formats/utils/formats_trans_utils.cc" "common/fp16_t.cc" - "common/ge/plugin_manager.cc" "common/ge/op_tiling_manager.cc" + "common/ge/plugin_manager.cc" "common/helper/model_cache_helper.cc" "common/profiling/profiling_manager.cc" - "common/dump/dump_manager.cc" - "common/dump/exception_dumper.cc" - "common/dump/dump_properties.cc" - "common/dump/opdebug_register.cc" - "common/dump/dump_op.cc" - "common/profiling/ge_profiling.cc" - "common/profiling/ge_runner_profiling.cc" "engine_manager/dnnengine_manager.cc" "ge_local_engine/engine/host_cpu_engine.cc" + "ge_opt_info/ge_opt_info.cc" "generator/ge_generator.cc" "generator/generator_api.cc" "graph/build/graph_builder.cc" "graph/build/label_allocator.cc" "graph/build/logical_stream_allocator.cc" + "graph/build/memory/binary_block_mem_assigner.cc" + "graph/build/memory/block_mem_assigner.cc" + "graph/build/memory/buffer_pool_mem_assigner.cc" + "graph/build/memory/graph_mem_assigner.cc" + "graph/build/memory/hybrid_mem_assigner.cc" + "graph/build/memory/max_block_mem_assigner.cc" + "graph/build/memory/memory_assigner.cc" + "graph/build/memory/var_mem_assign_util.cc" "graph/build/model_builder.cc" "graph/build/run_context.cc" "graph/build/stream_allocator.cc" @@ -156,35 +497,34 @@ set(TRAIN_SRC_LIST "graph/common/local_context.cc" "graph/common/omg_util.cc" "graph/common/transop_util.cc" - "graph/execute/graph_execute.cc" + #"graph/execute/graph_execute.cc" "graph/label/case_label_maker.cc" "graph/label/if_label_maker.cc" "graph/label/label_maker.cc" "graph/label/partitioned_call_label_maker.cc" "graph/label/while_label_maker.cc" "graph/load/graph_loader.cc" + "graph/load/model_manager/aipp_utils.cc" "graph/load/model_manager/cpu_queue_schedule.cc" "graph/load/model_manager/data_dumper.cc" "graph/load/model_manager/data_inputer.cc" "graph/load/model_manager/davinci_model.cc" "graph/load/model_manager/model_manager.cc" "graph/load/model_manager/model_utils.cc" - "graph/load/model_manager/aipp_utils.cc" "graph/load/model_manager/task_info/end_graph_task_info.cc" - "graph/load/model_manager/task_info/model_exit_task_info.cc" "graph/load/model_manager/task_info/event_record_task_info.cc" "graph/load/model_manager/task_info/event_wait_task_info.cc" "graph/load/model_manager/task_info/ffts_task_info.cc" "graph/load/model_manager/task_info/fusion_start_task_info.cc" "graph/load/model_manager/task_info/fusion_stop_task_info.cc" - "graph/load/model_manager/task_info/hccl_task_info.cc" "graph/load/model_manager/task_info/kernel_ex_task_info.cc" "graph/load/model_manager/task_info/kernel_task_info.cc" + "graph/load/model_manager/task_info/label_goto_ex_task_info.cc" "graph/load/model_manager/task_info/label_set_task_info.cc" "graph/load/model_manager/task_info/label_switch_by_index_task_info.cc" - "graph/load/model_manager/task_info/label_goto_ex_task_info.cc" "graph/load/model_manager/task_info/memcpy_addr_async_task_info.cc" "graph/load/model_manager/task_info/memcpy_async_task_info.cc" + "graph/load/model_manager/task_info/model_exit_task_info.cc" "graph/load/model_manager/task_info/profiler_trace_task_info.cc" "graph/load/model_manager/task_info/stream_active_task_info.cc" "graph/load/model_manager/task_info/stream_switch_task_info.cc" @@ -193,542 +533,209 @@ set(TRAIN_SRC_LIST "graph/load/model_manager/task_info/super_kernel/super_kernel_factory.cc" "graph/load/model_manager/task_info/task_info.cc" "graph/load/model_manager/tbe_handle_store.cc" - "graph/load/model_manager/zero_copy_task.cc" "graph/load/model_manager/zero_copy_offset.cc" + "graph/load/model_manager/zero_copy_task.cc" + "graph/manager/graph_caching_allocator.cc" "graph/manager/graph_context.cc" "graph/manager/graph_manager.cc" "graph/manager/graph_manager_utils.cc" "graph/manager/graph_mem_allocator.cc" - "graph/manager/graph_caching_allocator.cc" - "graph/manager/session_scope_mem_allocator.cc" + "graph/manager/graph_mem_manager.cc" "graph/manager/graph_var_manager.cc" - "graph/manager/host_mem_manager.cc" - "graph/manager/rdma_pool_allocator.cc" "graph/manager/host_mem_allocator.cc" - "graph/manager/graph_mem_manager.cc" - "graph/manager/memory_api.cc" + "graph/manager/host_mem_manager.cc" "graph/manager/model_manager/event_manager.cc" + "graph/manager/rdma_pool_allocator.cc" + "graph/manager/session_scope_mem_allocator.cc" "graph/manager/trans_var_data_utils.cc" "graph/manager/util/debug.cc" - "graph/manager/util/hcom_util.cc" "graph/manager/util/rt_context_util.cc" "graph/manager/util/variable_accelerate_ctrl.cc" "graph/optimize/graph_optimize.cc" "graph/optimize/mem_rw_conflict_optimize.cc" "graph/optimize/summary_optimize.cc" + "graph/partition/dynamic_shape_partition.cc" "graph/partition/engine_place.cc" "graph/partition/graph_partition.cc" + "graph/partition/stage_partition.cc" "graph/passes/addn_pass.cc" "graph/passes/aicpu_constant_folding_pass.cc" "graph/passes/assert_pass.cc" - "graph/passes/input_output_connection_identify_pass.cc" + "graph/passes/assign_remove_pass.cc" "graph/passes/atomic_addr_clean_pass.cc" - "graph/passes/mark_same_addr_pass.cc" - "graph/passes/mark_graph_unknown_status_pass.cc" - "graph/passes/mark_node_unknown_shape_pass.cc" - "graph/passes/mark_agnostic_pass.cc" - "graph/partition/dynamic_shape_partition.cc" - "graph/partition/stage_partition.cc" + "graph/passes/attach_stream_label_pass.cc" "graph/passes/base_pass.cc" "graph/passes/bitcast_pass.cc" + "graph/passes/buffer_pool_memory_pass.cc" "graph/passes/cast_remove_pass.cc" "graph/passes/cast_translate_pass.cc" "graph/passes/common_subexpression_elimination_pass.cc" - "graph/passes/transop_symmetry_elimination_pass.cc" "graph/passes/compile_nodes_pass.cc" + "graph/passes/cond_pass.cc" + "graph/passes/cond_remove_pass.cc" "graph/passes/constant_folding_pass.cc" "graph/passes/constant_fuse_same_pass.cc" - "graph/passes/fuse_data_nodes_with_common_input_pass.cc" - "graph/passes/remove_same_const_pass.cc" - "graph/passes/useless_control_out_remove_pass.cc" "graph/passes/control_trigger_pass.cc" + "graph/passes/ctrl_edge_transfer_pass.cc" + "graph/passes/data_pass.cc" "graph/passes/dimension_adjust_pass.cc" "graph/passes/dimension_compute_pass.cc" "graph/passes/dropout_pass.cc" - "graph/passes/hccl_group_pass.cc" - "graph/passes/hccl_tailing_optimization_pass.cc" + "graph/passes/end_of_sequence_add_control_pass.cc" "graph/passes/enter_pass.cc" - "graph/passes/assign_remove_pass.cc" - "graph/passes/inplace_support_check_pass.cc" "graph/passes/flow_ctrl_pass.cc" + "graph/passes/folding_pass.cc" + "graph/passes/for_pass.cc" + "graph/passes/fuse_data_nodes_with_common_input_pass.cc" + "graph/passes/get_original_format_pass.cc" "graph/passes/global_step_insert_pass.cc" - "host_kernels/transpose_kernel.cc" - "host_kernels/add_kernel.cc" - "host_kernels/broadcast_args_kernel.cc" - "host_kernels/broadcast_gradient_args_kernel.cc" - "host_kernels/cast_kernel.cc" - "host_kernels/concat_offset_kernel.cc" - "host_kernels/concat_v2_kernel.cc" - "host_kernels/dynamic_stitch_kernel.cc" - "host_kernels/identity_kernel.cc" - "host_kernels/empty_kernel.cc" - "host_kernels/expanddims_kernel.cc" - "host_kernels/fill_kernel.cc" - "host_kernels/floordiv_kernel.cc" - "host_kernels/floormod_kernel.cc" - "host_kernels/gather_v2_kernel.cc" - "host_kernels/greater_kernel.cc" - "host_kernels/kernel_utils.cc" - "host_kernels/maximum_kernel.cc" - "host_kernels/mul_kernel.cc" - "host_kernels/pack_kernel.cc" - "host_kernels/permute_kernel.cc" - "host_kernels/range_kernel.cc" - "host_kernels/rank_kernel.cc" - "host_kernels/reduce_prod_kernel.cc" - "host_kernels/reshape_kernel.cc" - "host_kernels/rsqrt_kernel.cc" - "host_kernels/shape_kernel.cc" - "host_kernels/shape_n_kernel.cc" - "host_kernels/size_kernel.cc" - "host_kernels/slice_d_kernel.cc" - "host_kernels/slice_kernel.cc" - "host_kernels/squeeze_kernel.cc" - "host_kernels/unsqueeze_kernel.cc" - "host_kernels/ssd_prior_box_kernel.cc" - "host_kernels/strided_slice_kernel.cc" - "host_kernels/sub_kernel.cc" - "host_kernels/transdata_kernel.cc" - "host_kernels/unpack_kernel.cc" - "host_kernels/reformat_kernel.cc" - "graph/passes/folding_pass.cc" - "graph/passes/get_original_format_pass.cc" "graph/passes/guarantee_const_pass.cc" - "graph/passes/hccl_memcpy_pass.cc" "graph/passes/hccl_continuous_memcpy_pass.cc" + "graph/passes/hccl_group_pass.cc" + "graph/passes/hccl_memcpy_pass.cc" + "graph/passes/hccl_tailing_optimization_pass.cc" "graph/passes/identity_pass.cc" - "graph/passes/ref_identity_delete_op_pass.cc" "graph/passes/infer_base_pass.cc" - "graph/passes/infershape_pass.cc" "graph/passes/infer_value_range_pass.cc" + "graph/passes/infershape_pass.cc" + "graph/passes/inplace_support_check_pass.cc" + "graph/passes/input_output_connection_identify_pass.cc" "graph/passes/iterator_op_pass.cc" "graph/passes/link_gen_mask_nodes_pass.cc" + "graph/passes/mark_agnostic_pass.cc" + "graph/passes/mark_force_unknown_for_cond_pass.cc" + "graph/passes/mark_graph_unknown_status_pass.cc" + "graph/passes/mark_node_unknown_shape_pass.cc" + "graph/passes/mark_same_addr_pass.cc" + "graph/passes/memcpy_addr_async_pass.cc" + "graph/passes/merge_input_memcpy_pass.cc" "graph/passes/merge_pass.cc" - "graph/passes/multi_batch_pass.cc" + "graph/passes/merge_to_stream_merge_pass.cc" "graph/passes/multi_batch_clone_pass.cc" - "graph/passes/subexpression_migration_pass.cc" - "graph/passes/subgraph_const_migration_pass.cc" - "graph/passes/unused_args_clean_pass.cc" + "graph/passes/multi_batch_pass.cc" "graph/passes/net_output_pass.cc" "graph/passes/next_iteration_pass.cc" "graph/passes/no_use_reshape_remove_pass.cc" - "graph/passes/pass_manager.cc" - "graph/passes/pass_utils.cc" - "graph/passes/permute_pass.cc" - "graph/passes/placeholder_with_default_pass.cc" - "graph/passes/prevent_gradient_pass.cc" - "graph/passes/print_op_pass.cc" - "graph/passes/prune_pass.cc" - "graph/passes/ctrl_edge_transfer_pass.cc" - "graph/passes/replace_with_empty_const_pass.cc" - "graph/passes/reshape_remove_pass.cc" - "graph/passes/reshape_recovery_pass.cc" - "graph/passes/resource_pair_add_control_pass.cc" - "graph/passes/resource_pair_remove_control_pass.cc" - "graph/passes/same_transdata_breadth_fusion_pass.cc" - "graph/passes/save_pass.cc" - "graph/passes/shape_operate_op_remove_pass.cc" - "graph/passes/snapshot_pass.cc" - "graph/passes/stop_gradient_pass.cc" - "graph/passes/subgraph_pass.cc" - "graph/passes/data_pass.cc" - "graph/passes/switch_data_edges_bypass.cc" - "graph/passes/switch_logic_remove_pass.cc" - "graph/passes/merge_to_stream_merge_pass.cc" - "graph/passes/merge_input_memcpy_pass.cc" - "graph/passes/switch_to_stream_switch_pass.cc" - "graph/passes/mark_force_unknown_for_cond_pass.cc" - "graph/passes/attach_stream_label_pass.cc" - "graph/passes/switch_dead_branch_elimination.cc" - "graph/passes/replace_transshape_pass.cc" - "graph/passes/transop_breadth_fusion_pass.cc" - "graph/passes/transop_depth_fusion_pass.cc" - "graph/passes/transop_nearby_allreduce_fusion_pass.cc" - "graph/passes/transop_without_reshape_fusion_pass.cc" - "graph/passes/transpose_transdata_pass.cc" - "graph/passes/unused_const_pass.cc" - "graph/passes/var_is_initialized_op_pass.cc" "graph/passes/parallel_concat_start_op_pass.cc" - "graph/passes/cond_pass.cc" - "graph/passes/cond_remove_pass.cc" - "graph/passes/for_pass.cc" - "graph/passes/variable_op_pass.cc" - "graph/passes/variable_prepare_op_pass.cc" - "graph/passes/variable_ref_delete_op_pass.cc" - "graph/passes/variable_ref_useless_control_out_delete_pass.cc" - "graph/passes/end_of_sequence_add_control_pass.cc" - "graph/passes/memcpy_addr_async_pass.cc" "graph/passes/parallel_group_pass.cc" - "graph/passes/set_input_output_offset_pass.cc" - "graph/passes/buffer_pool_memory_pass.cc" - "graph/preprocess/graph_preprocess.cc" - "graph/preprocess/insert_op/ge_aipp_op.cc" - "graph/preprocess/insert_op/util_insert_aipp_op.cc" - "graph/preprocess/multi_batch_options.cc" - "graph/preprocess/multi_batch_copy_graph.cc" - "init/gelib.cc" - "model/ge_model.cc" - "model/ge_root_model.cc" - "opskernel_manager/ops_kernel_manager.cc" - "opskernel_manager/ops_kernel_builder_manager.cc" - "session/inner_session.cc" - "session/session_manager.cc" - "graph/execute/model_executor.cc" - "single_op/single_op.cc" - "single_op/single_op_manager.cc" - "single_op/single_op_model.cc" - "single_op/stream_resource.cc" - "single_op/task/build_task_utils.cc" - "single_op/task/op_task.cc" - "single_op/task/tbe_task_builder.cc" - "single_op/task/aicpu_task_builder.cc" - "single_op/task/aicpu_kernel_task_builder.cc" - "single_op/task/rts_kernel_task_builder.cc" - "hybrid/common/tensor_value.cc" - "hybrid/common/npu_memory_allocator.cc" - "hybrid/executor/rt_callback_manager.cc" - "hybrid/executor/node_state.cc" - "hybrid/executor/node_done_manager.cc" - "hybrid/executor/hybrid_profiler.cc" - "hybrid/executor/hybrid_model_executor.cc" - "hybrid/executor/hybrid_model_pipeline_executor.cc" - "hybrid/executor/hybrid_model_async_executor.cc" - "hybrid/executor/hybrid_execution_context.cc" - "hybrid/executor/subgraph_context.cc" - "hybrid/executor/subgraph_executor.cc" - "hybrid/executor/worker/task_compile_engine.cc" - "hybrid/executor/worker/shape_inference_engine.cc" - "hybrid/executor/worker/execution_engine.cc" - "hybrid/model/hybrid_model.cc" - "hybrid/model/hybrid_model_builder.cc" - "hybrid/model/node_item.cc" - "hybrid/model/graph_item.cc" - "hybrid/node_executor/aicore/aicore_node_executor.cc" - "hybrid/node_executor/aicore/aicore_op_task.cc" - "hybrid/node_executor/aicore/aicore_task_builder.cc" - "hybrid/node_executor/aicore/aicore_task_compiler.cc" - "hybrid/node_executor/aicpu/aicpu_ext_info.cc" - "hybrid/node_executor/aicpu/aicpu_node_executor.cc" - "hybrid/node_executor/compiledsubgraph/known_node_executor.cc" - "hybrid/node_executor/ge_local/ge_local_node_executor.cc" - "hybrid/node_executor/host_cpu/host_cpu_node_executor.cc" - "hybrid/node_executor/controlop/control_op_executor.cc" - "hybrid/node_executor/partitioned_call/partitioned_call_node_executor.cc" - "hybrid/node_executor/hccl/hccl_node_executor.cc" - "hybrid/node_executor/rts/rts_node_executor.cc" - "hybrid/node_executor/rts/rts_node_task.cc" - "hybrid/node_executor/rts/rts_task_factory.cc" - "hybrid/node_executor/node_executor.cc" - "hybrid/node_executor/task_context.cc" - "hybrid/hybrid_davinci_model.cc" - "executor/ge_executor.cc" - "client/ge_api.cc" - "analyzer/analyzer.cc" - "ir_build/ge_ir_build.cc" - "ir_build/attr_options/utils.cc" - "ir_build/attr_options/keep_dtype_option.cc" - "ir_build/attr_options/weight_compress_option.cc" - "ir_build/option_utils.cc" - "graph/build/memory/memory_assigner.cc" - "graph/build/memory/graph_mem_assigner.cc" - "graph/build/memory/binary_block_mem_assigner.cc" - "graph/build/memory/block_mem_assigner.cc" - "graph/build/memory/hybrid_mem_assigner.cc" - "graph/build/memory/max_block_mem_assigner.cc" - "graph/build/memory/var_mem_assign_util.cc" - "graph/build/memory/buffer_pool_mem_assigner.cc" - "ge_opt_info/ge_opt_info.cc" -) - -set(INFER_SRC_LIST - "graph/manager/trans_var_data_utils.cc" - "common/fp16_t.cc" - "common/formats/utils/formats_trans_utils.cc" - "common/formats/format_transfers/datatype_transfer.cc" - "common/formats/format_transfers/format_transfer_transpose.cc" - "common/formats/format_transfers/format_transfer_nchw_nc1hwc0.cc" - "common/formats/format_transfers/format_transfer_fractal_z.cc" - "common/formats/format_transfers/format_transfer_fractal_nz.cc" - "common/formats/format_transfers/format_transfer_fractal_zz.cc" - "common/formats/format_transfers/format_transfer_nhwc_nc1hwc0.cc" - "common/formats/format_transfers/format_transfer_nc1hwc0_nchw.cc" - "common/formats/format_transfers/format_transfer_nc1hwc0_nhwc.cc" - "common/formats/format_transfers/format_transfer_hwcn_c1hwncoc0.cc" - "common/formats/format_transfers/format_transfer_c1hwncoc0_hwcn.cc" - "common/formats/format_transfers/format_transfer_fracz_nchw.cc" - "common/formats/format_transfers/format_transfer_fracz_nhwc.cc" - "common/formats/format_transfers/format_transfer_fracz_hwcn.cc" - "common/formats/format_transfers/format_transfer_dhwcn_fracz3D.cc" - "common/formats/format_transfers/format_transfer_dhwnc_fracz3D_transpose.cc" - "common/formats/format_transfers/format_transfer_nchw_fz_c04.cc" - "common/formats/formats.cc" - "common/profiling/profiling_manager.cc" - "common/dump/dump_properties.cc" - "common/dump/exception_dumper.cc" - "common/dump/dump_manager.cc" - "common/dump/dump_op.cc" - "common/dump/opdebug_register.cc" - "common/dump/dump_server.cc" - "common/helper/model_cache_helper.cc" - "ge_local_engine/engine/host_cpu_engine.cc" - "common/ge/plugin_manager.cc" - "common/ge/op_tiling_manager.cc" - "init/gelib.cc" - "engine_manager/dnnengine_manager.cc" - "opskernel_manager/ops_kernel_manager.cc" - "opskernel_manager/ops_kernel_builder_manager.cc" - "graph/manager/graph_manager.cc" - "graph/manager/graph_manager_utils.cc" - "graph/manager/graph_context.cc" - "graph/preprocess/graph_preprocess.cc" - "graph/preprocess/multi_batch_options.cc" - "graph/preprocess/multi_batch_copy_graph.cc" - "graph/execute/graph_execute.cc" - "graph/load/graph_loader.cc" - "graph/optimize/graph_optimize.cc" - "graph/optimize/mem_rw_conflict_optimize.cc" - "graph/optimize/summary_optimize.cc" - "graph/build/graph_builder.cc" - "graph/partition/engine_place.cc" - "graph/partition/graph_partition.cc" - "graph/partition/dynamic_shape_partition.cc" - "graph/partition/stage_partition.cc" - "generator/ge_generator.cc" - "generator/generator_api.cc" - "graph/manager/graph_var_manager.cc" - "graph/manager/host_mem_manager.cc" - "graph/manager/rdma_pool_allocator.cc" - "graph/manager/host_mem_allocator.cc" - "graph/manager/graph_mem_allocator.cc" - "graph/manager/graph_caching_allocator.cc" - "graph/manager/session_scope_mem_allocator.cc" - "graph/manager/graph_mem_manager.cc" - "model/ge_model.cc" - "model/ge_root_model.cc" - "graph/common/transop_util.cc" "graph/passes/pass_manager.cc" - "graph/passes/resource_pair_add_control_pass.cc" - "graph/passes/resource_pair_remove_control_pass.cc" "graph/passes/pass_utils.cc" - "graph/passes/base_pass.cc" - "graph/passes/bitcast_pass.cc" - "graph/passes/constant_folding_pass.cc" - "graph/passes/aicpu_constant_folding_pass.cc" - "graph/passes/reshape_remove_pass.cc" - "graph/passes/reshape_recovery_pass.cc" - "graph/passes/transop_breadth_fusion_pass.cc" - "graph/passes/transop_depth_fusion_pass.cc" - "graph/passes/transop_nearby_allreduce_fusion_pass.cc" - "graph/passes/same_transdata_breadth_fusion_pass.cc" - "graph/passes/transop_without_reshape_fusion_pass.cc" - "graph/passes/compile_nodes_pass.cc" - "graph/passes/variable_prepare_op_pass.cc" - "graph/passes/variable_ref_delete_op_pass.cc" - "graph/passes/variable_ref_useless_control_out_delete_pass.cc" - "graph/passes/subgraph_pass.cc" - "graph/passes/data_pass.cc" - "graph/passes/net_output_pass.cc" - "graph/passes/replace_transshape_pass.cc" - "graph/passes/constant_fuse_same_pass.cc" - "graph/passes/fuse_data_nodes_with_common_input_pass.cc" - "graph/passes/print_op_pass.cc" - "graph/passes/no_use_reshape_remove_pass.cc" - "graph/passes/iterator_op_pass.cc" - "graph/passes/input_output_connection_identify_pass.cc" - "graph/passes/atomic_addr_clean_pass.cc" - "graph/passes/mark_same_addr_pass.cc" - "graph/passes/mark_graph_unknown_status_pass.cc" - "graph/passes/mark_node_unknown_shape_pass.cc" - "graph/passes/mark_agnostic_pass.cc" - "graph/common/omg_util.cc" - "graph/common/bcast.cc" - "graph/common/local_context.cc" - "graph/passes/dimension_compute_pass.cc" - "graph/passes/dimension_adjust_pass.cc" - "graph/passes/get_original_format_pass.cc" - "graph/passes/shape_operate_op_remove_pass.cc" - "graph/passes/assert_pass.cc" - "graph/passes/dropout_pass.cc" - "graph/passes/infer_base_pass.cc" - "graph/passes/infershape_pass.cc" - "graph/passes/infer_value_range_pass.cc" - "graph/passes/unused_const_pass.cc" "graph/passes/permute_pass.cc" - "graph/passes/ctrl_edge_transfer_pass.cc" - "graph/passes/end_of_sequence_add_control_pass.cc" - "host_kernels/broadcast_gradient_args_kernel.cc" - "host_kernels/greater_kernel.cc" - "host_kernels/gather_v2_kernel.cc" - "host_kernels/maximum_kernel.cc" - "host_kernels/floormod_kernel.cc" - "host_kernels/floordiv_kernel.cc" - "host_kernels/range_kernel.cc" - "host_kernels/shape_kernel.cc" - "host_kernels/size_kernel.cc" - "host_kernels/shape_n_kernel.cc" - "host_kernels/rank_kernel.cc" - "host_kernels/broadcast_args_kernel.cc" - "host_kernels/fill_kernel.cc" - "host_kernels/empty_kernel.cc" - "host_kernels/expanddims_kernel.cc" - "host_kernels/reshape_kernel.cc" - "host_kernels/squeeze_kernel.cc" - "host_kernels/unsqueeze_kernel.cc" - "host_kernels/kernel_utils.cc" - "host_kernels/cast_kernel.cc" - "host_kernels/transdata_kernel.cc" - "host_kernels/unpack_kernel.cc" - "host_kernels/transpose_kernel.cc" - "host_kernels/permute_kernel.cc" - "host_kernels/pack_kernel.cc" - "host_kernels/concat_v2_kernel.cc" - "host_kernels/concat_offset_kernel.cc" - "host_kernels/strided_slice_kernel.cc" - "host_kernels/ssd_prior_box_kernel.cc" - "host_kernels/add_kernel.cc" - "host_kernels/sub_kernel.cc" - "host_kernels/mul_kernel.cc" - "host_kernels/reduce_prod_kernel.cc" - "host_kernels/rsqrt_kernel.cc" - "host_kernels/slice_kernel.cc" - "host_kernels/slice_d_kernel.cc" - "host_kernels/dynamic_stitch_kernel.cc" - "host_kernels/identity_kernel.cc" - "host_kernels/reformat_kernel.cc" - "graph/passes/stop_gradient_pass.cc" - "graph/passes/prevent_gradient_pass.cc" - "graph/passes/identity_pass.cc" - "graph/passes/ref_identity_delete_op_pass.cc" "graph/passes/placeholder_with_default_pass.cc" - "graph/passes/snapshot_pass.cc" - "graph/passes/guarantee_const_pass.cc" - "graph/passes/var_is_initialized_op_pass.cc" - "graph/passes/parallel_concat_start_op_pass.cc" - "graph/passes/folding_pass.cc" - "graph/passes/cast_translate_pass.cc" - "graph/passes/prune_pass.cc" - "graph/passes/merge_to_stream_merge_pass.cc" - "graph/passes/merge_input_memcpy_pass.cc" - "graph/passes/switch_to_stream_switch_pass.cc" - "graph/passes/mark_force_unknown_for_cond_pass.cc" - "graph/passes/attach_stream_label_pass.cc" - "graph/passes/multi_batch_pass.cc" - "graph/passes/multi_batch_clone_pass.cc" - "graph/passes/subexpression_migration_pass.cc" - "graph/passes/subgraph_const_migration_pass.cc" - "graph/passes/unused_args_clean_pass.cc" - "graph/passes/next_iteration_pass.cc" - "graph/passes/control_trigger_pass.cc" - "graph/passes/cond_pass.cc" - "graph/passes/cond_remove_pass.cc" - "graph/passes/for_pass.cc" - "graph/passes/enter_pass.cc" - "graph/passes/assign_remove_pass.cc" - "graph/passes/inplace_support_check_pass.cc" - "graph/passes/addn_pass.cc" - "graph/passes/common_subexpression_elimination_pass.cc" + "graph/passes/prevent_gradient_pass.cc" + "graph/passes/print_op_pass.cc" + "graph/passes/prune_pass.cc" + "graph/passes/ref_identity_delete_op_pass.cc" "graph/passes/remove_same_const_pass.cc" - "graph/passes/useless_control_out_remove_pass.cc" - "graph/passes/transop_symmetry_elimination_pass.cc" + "graph/passes/replace_transshape_pass.cc" + "graph/passes/replace_with_empty_const_pass.cc" + "graph/passes/reshape_recovery_pass.cc" + "graph/passes/reshape_remove_pass.cc" + "graph/passes/resource_pair_add_control_pass.cc" + "graph/passes/resource_pair_remove_control_pass.cc" + "graph/passes/same_transdata_breadth_fusion_pass.cc" "graph/passes/save_pass.cc" + "graph/passes/set_input_output_offset_pass.cc" + "graph/passes/shape_operate_op_remove_pass.cc" + "graph/passes/snapshot_pass.cc" + "graph/passes/stop_gradient_pass.cc" + "graph/passes/subexpression_migration_pass.cc" + "graph/passes/subgraph_const_migration_pass.cc" + "graph/passes/subgraph_pass.cc" + "graph/passes/switch_data_edges_bypass.cc" "graph/passes/switch_dead_branch_elimination.cc" "graph/passes/switch_logic_remove_pass.cc" - "graph/passes/switch_data_edges_bypass.cc" - "graph/passes/merge_pass.cc" - "graph/passes/variable_op_pass.cc" - "graph/passes/cast_remove_pass.cc" + "graph/passes/switch_to_stream_switch_pass.cc" + "graph/passes/transop_breadth_fusion_pass.cc" + "graph/passes/transop_depth_fusion_pass.cc" + "graph/passes/transop_nearby_allreduce_fusion_pass.cc" + "graph/passes/transop_symmetry_elimination_pass.cc" + "graph/passes/transop_without_reshape_fusion_pass.cc" "graph/passes/transpose_transdata_pass.cc" - "graph/passes/hccl_memcpy_pass.cc" - "graph/passes/hccl_continuous_memcpy_pass.cc" - "graph/passes/flow_ctrl_pass.cc" - "graph/passes/global_step_insert_pass.cc" - "graph/passes/link_gen_mask_nodes_pass.cc" - "graph/passes/replace_with_empty_const_pass.cc" - "graph/passes/hccl_group_pass.cc" - "graph/passes/hccl_tailing_optimization_pass.cc" - "graph/passes/memcpy_addr_async_pass.cc" - "graph/passes/set_input_output_offset_pass.cc" - "graph/passes/parallel_group_pass.cc" - "graph/passes/buffer_pool_memory_pass.cc" - "graph/manager/model_manager/event_manager.cc" - "graph/manager/util/rt_context_util.cc" - "graph/manager/util/variable_accelerate_ctrl.cc" - "graph/manager/util/debug.cc" - "graph/load/model_manager/model_manager.cc" - "graph/load/model_manager/data_inputer.cc" - "graph/load/model_manager/davinci_model.cc" - "graph/load/model_manager/model_utils.cc" - "graph/load/model_manager/aipp_utils.cc" - "graph/load/model_manager/tbe_handle_store.cc" - "graph/load/model_manager/cpu_queue_schedule.cc" - "graph/load/model_manager/zero_copy_task.cc" - "graph/load/model_manager/zero_copy_offset.cc" - "graph/load/model_manager/data_dumper.cc" - "graph/load/model_manager/task_info/task_info.cc" - "graph/load/model_manager/task_info/event_record_task_info.cc" - "graph/load/model_manager/task_info/event_wait_task_info.cc" - "graph/load/model_manager/task_info/ffts_task_info.cc" - "graph/load/model_manager/task_info/fusion_start_task_info.cc" - "graph/load/model_manager/task_info/fusion_stop_task_info.cc" - "graph/load/model_manager/task_info/kernel_ex_task_info.cc" - "graph/load/model_manager/task_info/kernel_task_info.cc" - "graph/load/model_manager/task_info/label_set_task_info.cc" - "graph/load/model_manager/task_info/label_switch_by_index_task_info.cc" - "graph/load/model_manager/task_info/label_goto_ex_task_info.cc" - "graph/load/model_manager/task_info/memcpy_async_task_info.cc" - "graph/load/model_manager/task_info/memcpy_addr_async_task_info.cc" - "graph/load/model_manager/task_info/profiler_trace_task_info.cc" - "graph/load/model_manager/task_info/stream_active_task_info.cc" - "graph/load/model_manager/task_info/stream_switch_task_info.cc" - "graph/load/model_manager/task_info/stream_switchn_task_info.cc" - "graph/load/model_manager/task_info/end_graph_task_info.cc" - "graph/load/model_manager/task_info/model_exit_task_info.cc" - "graph/load/model_manager/task_info/super_kernel/super_kernel_factory.cc" - "graph/load/model_manager/task_info/super_kernel/super_kernel.cc" - "hybrid/hybrid_davinci_model_stub.cc" - "ir_build/ge_ir_build.cc" - "ir_build/attr_options/utils.cc" - "ir_build/attr_options/keep_dtype_option.cc" - "ir_build/attr_options/weight_compress_option.cc" - "ir_build/option_utils.cc" + "graph/passes/unused_args_clean_pass.cc" + "graph/passes/unused_const_pass.cc" + "graph/passes/useless_control_out_remove_pass.cc" + "graph/passes/var_is_initialized_op_pass.cc" + "graph/passes/variable_op_pass.cc" + "graph/passes/variable_prepare_op_pass.cc" + "graph/passes/variable_ref_delete_op_pass.cc" + "graph/passes/variable_ref_useless_control_out_delete_pass.cc" + "graph/preprocess/graph_preprocess.cc" "graph/preprocess/insert_op/ge_aipp_op.cc" "graph/preprocess/insert_op/util_insert_aipp_op.cc" + "graph/preprocess/multi_batch_copy_graph.cc" + "graph/preprocess/multi_batch_options.cc" + "host_kernels/add_kernel.cc" + "host_kernels/broadcast_args_kernel.cc" + "host_kernels/broadcast_gradient_args_kernel.cc" + "host_kernels/cast_kernel.cc" + "host_kernels/concat_offset_kernel.cc" + "host_kernels/concat_v2_kernel.cc" + "host_kernels/dynamic_stitch_kernel.cc" + "host_kernels/empty_kernel.cc" + "host_kernels/expanddims_kernel.cc" + "host_kernels/fill_kernel.cc" + "host_kernels/floordiv_kernel.cc" + "host_kernels/floormod_kernel.cc" + "host_kernels/gather_v2_kernel.cc" + "host_kernels/greater_kernel.cc" + "host_kernels/identity_kernel.cc" + "host_kernels/kernel_utils.cc" + "host_kernels/maximum_kernel.cc" + "host_kernels/mul_kernel.cc" + "host_kernels/pack_kernel.cc" + "host_kernels/permute_kernel.cc" + "host_kernels/range_kernel.cc" + "host_kernels/rank_kernel.cc" + "host_kernels/reduce_prod_kernel.cc" + "host_kernels/reformat_kernel.cc" + "host_kernels/reshape_kernel.cc" + "host_kernels/rsqrt_kernel.cc" + "host_kernels/shape_kernel.cc" + "host_kernels/shape_n_kernel.cc" + "host_kernels/size_kernel.cc" + "host_kernels/slice_d_kernel.cc" + "host_kernels/slice_kernel.cc" + "host_kernels/squeeze_kernel.cc" + "host_kernels/ssd_prior_box_kernel.cc" + "host_kernels/strided_slice_kernel.cc" + "host_kernels/sub_kernel.cc" + "host_kernels/transdata_kernel.cc" + "host_kernels/transpose_kernel.cc" + "host_kernels/unpack_kernel.cc" + "host_kernels/unsqueeze_kernel.cc" + #"hybrid/hybrid_davinci_model_stub.cc" "hybrid/node_executor/aicpu/aicpu_ext_info.cc" - "graph/build/model_builder.cc" - "graph/build/task_generator.cc" - "graph/build/stream_allocator.cc" - "graph/build/logical_stream_allocator.cc" - "graph/build/stream_graph_optimizer.cc" - "graph/build/run_context.cc" - "graph/build/label_allocator.cc" - "graph/label/label_maker.cc" - "graph/label/if_label_maker.cc" - "graph/label/case_label_maker.cc" - "graph/label/while_label_maker.cc" - "graph/label/partitioned_call_label_maker.cc" - "analyzer/analyzer.cc" - "graph/build/memory/memory_assigner.cc" - "graph/build/memory/graph_mem_assigner.cc" - "graph/build/memory/binary_block_mem_assigner.cc" - "graph/build/memory/block_mem_assigner.cc" - "graph/build/memory/hybrid_mem_assigner.cc" - "graph/build/memory/max_block_mem_assigner.cc" - "graph/build/memory/var_mem_assign_util.cc" - "graph/build/memory/buffer_pool_mem_assigner.cc" - "ge_opt_info/ge_opt_info.cc" + "init/gelib.cc" + "ir_build/attr_options/keep_dtype_option.cc" + "ir_build/attr_options/utils.cc" + "ir_build/attr_options/weight_compress_option.cc" + "ir_build/ge_ir_build.cc" + "ir_build/option_utils.cc" + "model/ge_model.cc" + "model/ge_root_model.cc" + "opskernel_manager/ops_kernel_builder_manager.cc" + "opskernel_manager/ops_kernel_manager.cc" ) set(RUNNER_SRC_LIST "client/ge_api.cc" "session/inner_session.cc" "session/session_manager.cc" + "common/profiling/ge_runner_profiling.cc" + "graph/manager/memory_api.cc" + "graph/manager/util/hcom_util.cc" + "graph/load/model_manager/task_info/hccl_task_info.cc" + "hybrid/node_executor/hccl/hccl_node_executor.cc" ) if (NOT ENABLE_D AND NOT ENABLE_ACL AND NOT ENABLE_MS_TESTCASES) message("CMAKE_CXX_COMPILER_VERSION = ${CMAKE_CXX_COMPILER_VERSION}") ############ libge_runner.so ############ add_library(ge_runner SHARED - ${TRAIN_SRC_LIST} + ${EXECUTOR_SRC_LIST} + ${COMPILER_SRC_LIST} + ${RUNNER_SRC_LIST} $,msprofiler_fwk,msprofiler_fwk_object>> ) @@ -777,6 +784,8 @@ target_include_directories(ge_runner SYSTEM PRIVATE ${GE_CODE_DIR}/../toolchain/ide/ide-daemon/external ${GE_CODE_DIR}/../abl/adump/external ${GE_CODE_DIR}/../abl/licctrl + ${GE_CODE_DIR}/../ace/comop/inc + ${GE_CODE_DIR}/../ace/comop/inc/external #### blue zone ${ASCEND_DIR}/driver/include ${ASCEND_DIR}/fwkacllib/include @@ -814,7 +823,8 @@ target_link_libraries(ge_runner PRIVATE ############ libge_compiler.so ############ add_library(ge_compiler SHARED - ${INFER_SRC_LIST} + "hybrid/hybrid_davinci_model_stub.cc" + ${COMPILER_SRC_LIST} ) add_dependencies(ge_compiler @@ -854,6 +864,8 @@ target_include_directories(ge_compiler SYSTEM PRIVATE ${GE_CODE_DIR}/../toolchain/ide/ide-daemon/external ${GE_CODE_DIR}/../abl/adump/external ${GE_CODE_DIR}/../abl/licctrl + ${GE_CODE_DIR}/../ace/comop/inc + ${GE_CODE_DIR}/../ace/comop/inc/external #### blue zone #### ${ASCEND_DIR}/driver/include ${ASCEND_DIR}/fwkacllib/include @@ -886,6 +898,138 @@ target_link_libraries(ge_compiler PRIVATE -ldl ) +######## libge_executor.a ######## +add_library(ge_executor STATIC + ${EXECUTOR_SRC_LIST} +) + +add_dependencies(ge_executor + graphengine_protos +) + +target_compile_options(ge_executor PRIVATE + $<$,$>:-fvisibility=hidden -O2 -Werror -Wno-deprecated-declarations -fno-common> + $<$,$>:/MTd> + $<$,$>:/MT> + $<$:-Werror=unused-variable> + $<$:-Werror=unused-const-variable -Werror=format> +) + +target_compile_definitions(ge_executor PRIVATE + PROTOBUF_INLINE_NOT_IN_HEADERS=0 + DAVINCI_SUPPORT_PROFILING + google=ascend_private + $,OS_TYPE=WIN,OS_TYPE=0> + $<$:SECUREC_USING_STD_SECURE_LIB=0 NOMINMAX> + $<$:ONLY_COMPILE_OPEN_SRC> + LOG_CPP +) + +target_include_directories(ge_executor SYSTEM PRIVATE + ${GE_CODE_DIR}/ge + ${GE_CODE_DIR}/inc + ${GE_CODE_DIR}/inc/external + ${GE_CODE_DIR}/inc/framework + ${METADEF_DIR}/inc + ${METADEF_DIR}/inc/external + ${CMAKE_BINARY_DIR} + ${CMAKE_BINARY_DIR}/proto/graphengine_protos + #### yellow zone #### + ${GE_CODE_DIR}/../ace/comop/inc + ${GE_CODE_DIR}/../ace/comop/inc/external + $<$>:${GE_DEPEND_DIR}/inc> + $<$>:$> + $<$>:$> + #### blue zone #### + $<$:${GE_CODE_DIR}/third_party/fwkacllib/inc> + $<$:${GE_CODE_DIR}/third_party/fwkacllib/inc/toolchain> +) + +target_link_libraries(ge_executor PRIVATE + $ + $<$>:$> + $<$>:$> + $<$>:$> + json + ascend_protobuf_static + c_sec + $<$>:-lrt> + -ldl +) + +######## libge_executor.so ######## +add_library(ge_executor_shared SHARED + ${EXECUTOR_SRC_LIST} +) + +add_dependencies(ge_executor_shared + graphengine_protos +) + +target_compile_options(ge_executor_shared PRIVATE + -fno-common + -Werror + -O2 + -Wno-deprecated-declarations + -fvisibility=hidden +) + +target_compile_definitions(ge_executor_shared PRIVATE + PROTOBUF_INLINE_NOT_IN_HEADERS=0 + DAVINCI_SUPPORT_PROFILING + google=ascend_private + FUNC_VISIBILITY + $<$:ONLY_COMPILE_OPEN_SRC> +) + +target_include_directories(ge_executor_shared PRIVATE + ${GE_CODE_DIR}/ge + ${GE_CODE_DIR}/inc + ${GE_CODE_DIR}/inc/external + ${GE_CODE_DIR}/inc/framework + ${METADEF_DIR}/inc + ${METADEF_DIR}/inc/external + ${CMAKE_BINARY_DIR} + ${CMAKE_BINARY_DIR}/proto/graphengine_protos + #### yellow zone #### + ${GE_CODE_DIR}/../ace/comop/inc + ${GE_CODE_DIR}/../ace/comop/inc/external + $<$>:${GE_DEPEND_DIR}/inc> + #### blue zone #### + $<$:${GE_CODE_DIR}/third_party/fwkacllib/inc> +) + +target_link_options(ge_executor_shared PRIVATE + -Wl,-Bsymbolic + -Wl,--exclude-libs,ALL +) + +target_link_libraries(ge_executor_shared PRIVATE + $ + $<$>:$> + $<$>:$> + $<$>:$> + $<$>:$> + $<$>:$> + -Wl,--no-as-needed + ge_common + runtime + slog + graph + register + error_manager + ascend_protobuf + c_sec + -Wl,--as-needed + json + $<$>:-lrt> + -ldl +) + +set_target_properties(ge_executor_shared PROPERTIES + OUTPUT_NAME ge_executor +) + ############ libascendcl.so ############ file(GENERATE OUTPUT ${CMAKE_BINARY_DIR}/dummy.c CONTENT "") #add_library(dummy_obj OBJECT ${CMAKE_BINARY_DIR}/dummy.c) @@ -1081,7 +1225,7 @@ add_custom_command( set(INSTALL_BASE_DIR "") set(INSTALL_LIBRARY_DIR lib) -install(TARGETS ge_runner ge_compiler opensrc_ascendcl OPTIONAL +install(TARGETS ge_runner ge_compiler ge_executor_shared opensrc_ascendcl OPTIONAL LIBRARY DESTINATION ${INSTALL_LIBRARY_DIR} ) diff --git a/ge/graph/manager/graph_manager.h b/ge/graph/manager/graph_manager.h index 6773787c..763654bd 100644 --- a/ge/graph/manager/graph_manager.h +++ b/ge/graph/manager/graph_manager.h @@ -32,7 +32,6 @@ #include "external/ge/ge_api_types.h" #include "graph/build/graph_builder.h" #include "graph/ge_local_context.h" -#include "graph/load/graph_loader.h" #include "graph/manager/graph_manager_utils.h" #include "graph/manager/util/variable_accelerate_ctrl.h" #include "graph/optimize/graph_optimize.h" diff --git a/tests/ut/ge/graph/load/model_manager_unittest.cc b/tests/ut/ge/graph/load/model_manager_unittest.cc index a0644510..166ae4af 100644 --- a/tests/ut/ge/graph/load/model_manager_unittest.cc +++ b/tests/ut/ge/graph/load/model_manager_unittest.cc @@ -54,31 +54,13 @@ class UtestModelManagerModelManager : public testing::Test { } void SetUp() {} - void TearDown() {} - void CreateGraph(Graph &graph) { - TensorDesc desc(ge::Shape({1, 3, 224, 224})); - uint32_t size = desc.GetShape().GetShapeSize(); - desc.SetSize(size); - auto data = op::Data("Data").set_attr_index(0); - data.update_input_desc_data(desc); - data.update_output_desc_out(desc); - - auto flatten = op::Flatten("Flatten").set_input_x(data, data.name_out_out()); - - std::vector inputs{data}; - std::vector outputs{flatten}; - std::vector targets{flatten}; - // Graph graph("test_graph"); - graph.SetInputs(inputs).SetOutputs(outputs).SetTargets(targets); - } - void GenUnencryptModelData(ModelData &data) { const int model_len = 10; data.model_len = sizeof(ModelFileHeader) + model_len; data.model_data = new uint8_t[data.model_len]; - memset((uint8_t *)data.model_data + sizeof(ModelFileHeader), 0, model_len); + memset(data.model_data, 0, data.model_len); ModelFileHeader *header = (ModelFileHeader *)data.model_data; header->magic = MODEL_FILE_MAGIC_NUM; @@ -88,19 +70,6 @@ class UtestModelManagerModelManager : public testing::Test { header->is_checksum = ModelCheckType::CHECK; } - void GenEncryptModelData(ModelData &data) { - const int model_len = 10; - data.key = ENC_KEY; - data.model_data = new uint8_t[data.model_len]; - uint8_t data_ori[model_len]; - memset(data_ori, 0, model_len); - ModelFileHeader *header = (ModelFileHeader *)data.model_data; - header->magic = MODEL_FILE_MAGIC_NUM; - header->version = MODEL_VERSION; - header->is_encrypt = ModelEncryptType::ENCRYPTED; - header->length = 10; // encrypt_len; - } - void LoadStandardModelData(ModelData &data) { data.model_len = 512; data.model_data = new uint8_t[data.model_len]; From eb0d262cb64d8acebe453714aa895d7714fb432e Mon Sep 17 00:00:00 2001 From: wuweikang Date: Fri, 9 Jul 2021 17:30:33 +0800 Subject: [PATCH 08/11] update submodule --- metadef | 2 +- parser | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/metadef b/metadef index 84e7ab39..3ace5b6f 160000 --- a/metadef +++ b/metadef @@ -1 +1 @@ -Subproject commit 84e7ab39b0daf7ca2b2f5549e3279647da7875e2 +Subproject commit 3ace5b6f10e0af784a1c3211fd769d6e8860e864 diff --git a/parser b/parser index ffd94df4..db68a1a4 160000 --- a/parser +++ b/parser @@ -1 +1 @@ -Subproject commit ffd94df471f7dd2b1928cc8d27e43e7210aaa7e7 +Subproject commit db68a1a4f1a6ae69dbf9a5f338392d50ea3874e3 From fdab42b28ddb2f2a54b681205c7175dd57850844 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E7=A3=8A?= Date: Fri, 9 Jul 2021 14:50:30 +0800 Subject: [PATCH 09/11] fixex coverity warning --- ge/graph/load/model_manager/davinci_model.cc | 32 +++++++++---------- ge/hybrid/executor/worker/execution_engine.cc | 2 +- ge/hybrid/model/hybrid_model_builder.cc | 2 ++ .../node_executor/hccl/hccl_node_executor.cc | 3 +- ge/ir_build/ge_ir_build.cc | 1 + 5 files changed, 22 insertions(+), 18 deletions(-) diff --git a/ge/graph/load/model_manager/davinci_model.cc b/ge/graph/load/model_manager/davinci_model.cc index 9d86039a..ddd6c0c4 100755 --- a/ge/graph/load/model_manager/davinci_model.cc +++ b/ge/graph/load/model_manager/davinci_model.cc @@ -387,8 +387,8 @@ Status DavinciModel::InitWeightMem(void *dev_ptr, void *weight_ptr, size_t weigh Status DavinciModel::InitFeatureMapAndP2PMem(void *dev_ptr, size_t mem_size) { if (is_feature_map_mem_has_inited_) { - REPORT_INNER_ERROR("E19999", "Call InitFeatureMapMem more than once, model_id:%u, check invalid", model_id_); - GELOGE(PARAM_INVALID, "[Check][Param] call InitFeatureMapMem more than once, model_id:%u", model_id_); + REPORT_INNER_ERROR("E19999", "InitFeatureMapMem is called more than once, model_id:%u, check invalid", model_id_); + GELOGE(PARAM_INVALID, "[Check][Param] InitFeatureMapMem is called more than once, model_id:%u", model_id_); return PARAM_INVALID; } is_feature_map_mem_has_inited_ = true; @@ -456,8 +456,7 @@ Status DavinciModel::InitVariableMem() { void DavinciModel::InitRuntimeParams() { int64_t value = 0; - bool ret; - ret = ge::AttrUtils::GetInt(ge_model_, ATTR_MODEL_MEMORY_SIZE, value); + bool ret = ge::AttrUtils::GetInt(ge_model_, ATTR_MODEL_MEMORY_SIZE, value); runtime_param_.mem_size = ret ? (uint64_t)value : 0; ret = ge::AttrUtils::GetInt(ge_model_, ATTR_MODEL_WEIGHT_SIZE, value); runtime_param_.weight_size = ret ? (uint64_t)value : 0; @@ -983,7 +982,7 @@ Status DavinciModel::InitDataOp(const ComputeGraphPtr &graph, const NodePtr &nod // op_desc Checked by Init: Data, valid. auto op_desc = node->GetOpDesc(); if (node->GetOwnerComputeGraph() != graph) { - GELOGI("Skip subgraph Data node: %s.", op_desc->GetName().c_str()); + GELOGI("Skip Data node: %s in subgraph.", op_desc->GetName().c_str()); return SUCCESS; } @@ -1195,7 +1194,7 @@ Status DavinciModel::InitRealSizeAndShapeInfo(const ComputeGraphPtr &compute_gra GELOGD("No need to get size and shape of netoutput in subgraph."); return SUCCESS; } - GELOGD("Start init real size and shape info of %s.", node->GetName().c_str()); + GELOGD("Start to initialize real size and shape info of %s.", node->GetName().c_str()); GetAllGearsInfo(node); if (is_getnext_sink_dynamic_) { GE_IF_BOOL_EXEC(GetGetDynamicDimsNodeInfo(node) != SUCCESS, @@ -1238,7 +1237,7 @@ void DavinciModel::GetAllGearsInfo(const NodePtr &node) { } if (!gear_info.empty()) { all_gears_info_.emplace_back(gear_info); - GELOGD("Init all gears info from %s, gaer info is %s", node->GetName().c_str(), + GELOGD("Init all gears info from %s, gear info is %s", node->GetName().c_str(), formats::JoinToString(gear_info).c_str()); } } @@ -1318,7 +1317,7 @@ Status DavinciModel::GetGearAndRealOutSizeInfo(const ComputeGraphPtr &graph, con Status DavinciModel::GetRealOutputSizeOfCase(const ComputeGraphPtr &graph, size_t input_index, const NodePtr &case_node) { - GELOGD("Start get output size of %s, which is %zu input to netoutput", case_node->GetName().c_str(), input_index); + GELOGD("Start to get output size of %s, which is %zu input to netoutput", case_node->GetName().c_str(), input_index); const auto &func_desc = case_node->GetOpDesc(); GE_CHECK_NOTNULL(func_desc); std::map, int64_t> gear_and_real_out_size_info; @@ -2227,10 +2226,10 @@ void DavinciModel::CreateOutput(uint32_t index, const OpDescPtr &op_desc, InputO dims[i] = shape.GetDim(i); } } else { // FOR FORMAT_NHWC or FORMAT_NCHW - dims[0] = shape.GetDim(format == FORMAT_NHWC ? NHWC_DIM_N : NCHW_DIM_N); // 0: first dim - dims[1] = shape.GetDim(format == FORMAT_NHWC ? NHWC_DIM_C : NCHW_DIM_C); // 1: second dim - dims[2] = shape.GetDim(format == FORMAT_NHWC ? NHWC_DIM_H : NCHW_DIM_H); // 2: third dim - dims[3] = shape.GetDim(format == FORMAT_NHWC ? NHWC_DIM_W : NCHW_DIM_W); // 3: forth dim + dims[0] = shape.GetDim((format == FORMAT_NHWC) ? NHWC_DIM_N : NCHW_DIM_N); // 0: first dim + dims[1] = shape.GetDim((format == FORMAT_NHWC) ? NHWC_DIM_C : NCHW_DIM_C); // 1: second dim + dims[2] = shape.GetDim((format == FORMAT_NHWC) ? NHWC_DIM_H : NCHW_DIM_H); // 2: third dim + dims[3] = shape.GetDim((format == FORMAT_NHWC) ? NHWC_DIM_W : NCHW_DIM_W); // 3: forth dim } output.shape_info.num = dims[0]; // 0: first dim output.shape_info.channel = dims[1]; // 1: second dim @@ -2741,7 +2740,7 @@ Status DavinciModel::ReturnResult(uint32_t data_id, const bool rslt_flg, const b } if (!has_output_node_) { - GELOGW("Output tensor list is empty, model id: %u", model_id_); + GELOGW("The tensor list of output is empty, model id: %u", model_id_); GE_CHK_STATUS(listener_->OnComputeDone(model_id_, data_id, INTERNAL_ERROR, outputs), "[Call][OnComputeDone] failed, model_id:%u, data_id:%u.", model_id_, data_id); return INTERNAL_ERROR; @@ -3071,7 +3070,7 @@ Status DavinciModel::CreateKnownZeroCopyMap(const vector &inputs, const GELOGI("output %zu, v addr %p, r addr %p, p addr %p", i, addr_list[i], addr, outputs[i]); } - GELOGI("success, known input data info size: %zu, known output data info size: %zu", + GELOGI("create map for zero copy success, known input data info size: %zu, known output data info size: %zu", known_input_data_info_.size(), known_output_data_info_.size()); return SUCCESS; } @@ -3106,12 +3105,12 @@ Status DavinciModel::UpdateKnownZeroCopyAddr(vector &total_io_addrs, boo total_io_addrs[i] = known_output_data_info_.at(total_io_addrs[i]); } } - GELOGI("success, total io addrs size: %zu", total_io_addrs.size()); + GELOGI("update known zero copy addr success, total io addrs size: %zu", total_io_addrs.size()); return SUCCESS; } Status DavinciModel::UpdateKnownNodeArgs(const vector &inputs, const vector &outputs) { - GELOGI("DavinciModel::UpdateKnownNodeArgs in"); + GELOGI("DavinciModel::UpdateKnownNodeArgs begin"); GE_CHK_STATUS_RET(CreateKnownZeroCopyMap(inputs, outputs), "[Call][CreateKnownZeroCopyMap] failed, model_id:%u.", model_id_); total_io_addrs_.clear(); @@ -3683,6 +3682,7 @@ Status DavinciModel::InitConstant(const OpDescPtr &op_desc) { elem_num = 1; } uint64_t *buff = reinterpret_cast(tensor->MutableData().data()); + GE_CHECK_NOTNULL(buff); if (ge::CheckInt64Uint32MulOverflow(elem_num, kBytes * kStringHeadElems) != SUCCESS) { GELOGE(FAILED, "[Call][CheckInt64Uint32MulOverflow] Shape size:%ld is invalid", elem_num); return FAILED; diff --git a/ge/hybrid/executor/worker/execution_engine.cc b/ge/hybrid/executor/worker/execution_engine.cc index ca864244..4bd02193 100755 --- a/ge/hybrid/executor/worker/execution_engine.cc +++ b/ge/hybrid/executor/worker/execution_engine.cc @@ -428,7 +428,7 @@ Status ExecutionEngine::ValidateInputTensors(const NodeState &node_state, const continue; } - int64_t expected_size; + int64_t expected_size = 0; (void)TensorUtils::GetSize(*tensor_desc, expected_size); GELOGD("[%s] Input[%d] expects [%ld] bytes.", task_context.GetNodeName(), i, expected_size); auto size_diff = expected_size - static_cast(input_tensor->GetSize()); diff --git a/ge/hybrid/model/hybrid_model_builder.cc b/ge/hybrid/model/hybrid_model_builder.cc index 554ddbbb..8f015420 100755 --- a/ge/hybrid/model/hybrid_model_builder.cc +++ b/ge/hybrid/model/hybrid_model_builder.cc @@ -900,6 +900,7 @@ Status HybridModelBuilder::LoadGraph() { GE_CHECK_NOTNULL(node_item); AscendString graph_name; GE_CHK_GRAPH_STATUS_RET(it.second->GetGraph().GetName(graph_name), "Failed to get subgraph name"); + GE_CHECK_NOTNULL(graph_name.GetString()); auto subgraph = hybrid_model_.GetRootGraph()->GetSubgraph(graph_name.GetString()); GE_CHECK_NOTNULL(subgraph); GE_CHK_STATUS_RET(IdentifyVariableOutputs(*node_item, subgraph), @@ -967,6 +968,7 @@ Status HybridModelBuilder::HandleDtString(const GeTensor &tensor, void *var_addr auto &mutable_tensor = const_cast(tensor); uint64_t *buff = reinterpret_cast(mutable_tensor.MutableData().data()); + GE_CHECK_NOTNULL(buff); GE_CHK_BOOL_RET_STATUS(ge::CheckInt64Uint32MulOverflow(elem_num, kBytes * kStringHeadElems) == SUCCESS, FAILED, "[Invoke][CheckInt64Uint32MulOverflow] failed because Shape size is invalid."); auto offset = static_cast(elem_num * kBytes * kStringHeadElems); diff --git a/ge/hybrid/node_executor/hccl/hccl_node_executor.cc b/ge/hybrid/node_executor/hccl/hccl_node_executor.cc index 3f887819..31f2c7a1 100644 --- a/ge/hybrid/node_executor/hccl/hccl_node_executor.cc +++ b/ge/hybrid/node_executor/hccl/hccl_node_executor.cc @@ -417,7 +417,7 @@ Status BuildGatherAllToAllParams(TaskContext &context, HcomGatherAllToAllVParams } params.recvtype = iter->second; - int64_t addr_len; + int64_t addr_len = 0; (void) ge::AttrUtils::GetInt(op_desc, "addr_length", addr_len); params.addrLength = static_cast(addr_len); @@ -460,6 +460,7 @@ Status AllToAllNodeTask::ExecuteAsync(TaskContext &context, std::function &inputs, const vector &outputs, Graph &graph) { ErrorManager::GetInstance().SetStage(error_message::kModelCompile, error_message::kOther); + GE_CHECK_NOTNULL(op_type.GetString()); auto op_type_str = std::string(op_type.GetString()); auto op_name = op_type_str + "_" + std::to_string(ge::GetCurrentTimestamp()); auto op_desc = ge::MakeShared(op_name, op_type_str); From f7c45d81140f1bcdceb011219454ce724cbae23e Mon Sep 17 00:00:00 2001 From: zhangxiaokun Date: Fri, 9 Jul 2021 19:28:05 +0800 Subject: [PATCH 10/11] mmSetCurrentThreadName --- ge/graph/execute/model_executor.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ge/graph/execute/model_executor.cc b/ge/graph/execute/model_executor.cc index bcbc08e6..2fc7b0af 100644 --- a/ge/graph/execute/model_executor.cc +++ b/ge/graph/execute/model_executor.cc @@ -193,7 +193,7 @@ Status ModelExecutor::PushGraph(const RunArgs &args) { void ModelExecutor::RunThread() { ErrorManager::GetInstance().SetStage(error_message::kModelExecute, error_message::kModelExecute); - if (prctl(PR_SET_NAME, ("GE_Run")) != 0) { + if (mmSetCurrentThreadName("GE_Run") != EN_OK) { GELOGW("Set thread name failed."); } From 8aa46479fa227ab9e4b4044a35e26bd6edd0d64f Mon Sep 17 00:00:00 2001 From: zhangxiaokun Date: Fri, 9 Jul 2021 19:44:18 +0800 Subject: [PATCH 11/11] mmSetCurrentThreadName stub --- tests/depends/mmpa/src/mmpa_stub.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/depends/mmpa/src/mmpa_stub.cc b/tests/depends/mmpa/src/mmpa_stub.cc index b0f1fb87..8801aacd 100644 --- a/tests/depends/mmpa/src/mmpa_stub.cc +++ b/tests/depends/mmpa/src/mmpa_stub.cc @@ -381,3 +381,8 @@ INT32 mmGetPid() { return (INT32)getpid(); } + +INT32 mmSetCurrentThreadName(const CHAR *name) +{ + return EN_OK; +} \ No newline at end of file