From 6068d16f54d98e923ae1287e66acdf1d007a4ced Mon Sep 17 00:00:00 2001 From: l00444296 Date: Wed, 18 Nov 2020 16:39:19 +0800 Subject: [PATCH 1/2] Feature: Cancel default set aicpu engine --- ge/graph/passes/compile_nodes_pass.cc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/ge/graph/passes/compile_nodes_pass.cc b/ge/graph/passes/compile_nodes_pass.cc index 9faa35ae..3d7ed73f 100755 --- a/ge/graph/passes/compile_nodes_pass.cc +++ b/ge/graph/passes/compile_nodes_pass.cc @@ -69,6 +69,10 @@ graphStatus CompileNodesPass::Run(ComputeGraphPtr graph) { std::vector node_vec{node}; kernel_to_compile_nodes.insert(std::make_pair(kernel_lib_name, node_vec)); } + } else { + GELOGE(GRAPH_FAILED, "Get node:%s, type:%s supported kernel failed.", node->GetName().c_str(), + node->GetType().c_str()); + return GRAPH_FAILED; } } // compile node follow different kernel, currently only TBE kernel @@ -108,6 +112,14 @@ graphStatus CompileNodesPass::GetSupportedKernel(const NodePtr &node, const std: // begin accuracy supported check if (!CheckAccuracySupport(kernel_info, instance, op_desc)) { // if check accuracy support failed , try to go to aicpu engine + string aicpu_kernel_lib_name = kAICPUKernelLibName; + OpsKernelInfoStorePtr aicpu_kernel_info = + instance->OpsKernelManagerObj().GetOpsKernelInfoStore(aicpu_kernel_lib_name); + if (!CheckAccuracySupport(aicpu_kernel_info, instance, op_desc)) { + GELOGE(GRAPH_FAILED, "AICPU engine does not support node:%s, type:%s , get kernel lib failed.", + node->GetName().c_str(), op_desc->GetType().c_str()); + return GRAPH_FAILED; + } kernel_lib_name = kAICPUKernelLibName; } return GRAPH_SUCCESS; From c9eb4f3ab79e4eb8e91b9d5bf4dfc010c44b9d9a Mon Sep 17 00:00:00 2001 From: l00444296 Date: Thu, 19 Nov 2020 19:42:32 +0800 Subject: [PATCH 2/2] Feature: Cancel default set aicpu engine --- ge/graph/passes/compile_nodes_pass.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ge/graph/passes/compile_nodes_pass.cc b/ge/graph/passes/compile_nodes_pass.cc index 3d7ed73f..eff5ed78 100755 --- a/ge/graph/passes/compile_nodes_pass.cc +++ b/ge/graph/passes/compile_nodes_pass.cc @@ -115,6 +115,10 @@ graphStatus CompileNodesPass::GetSupportedKernel(const NodePtr &node, const std: string aicpu_kernel_lib_name = kAICPUKernelLibName; OpsKernelInfoStorePtr aicpu_kernel_info = instance->OpsKernelManagerObj().GetOpsKernelInfoStore(aicpu_kernel_lib_name); + if (aicpu_kernel_info == nullptr) { + GELOGE(ge::GE_GRAPH_PARAM_NULLPTR, "Get aicpu kernel info store failed."); + return ge::GE_GRAPH_PARAM_NULLPTR; + } if (!CheckAccuracySupport(aicpu_kernel_info, instance, op_desc)) { GELOGE(GRAPH_FAILED, "AICPU engine does not support node:%s, type:%s , get kernel lib failed.", node->GetName().c_str(), op_desc->GetType().c_str());