diff --git a/ge/generator/ge_generator.cc b/ge/generator/ge_generator.cc index 61000519..4dff94c9 100644 --- a/ge/generator/ge_generator.cc +++ b/ge/generator/ge_generator.cc @@ -692,6 +692,22 @@ namespace { } return SUCCESS; } + + bool CheckNoAicore(const ComputeGraphPtr &graph) { + for (const auto &node : graph->GetDirectNode()) { + if (node == nullptr) { + continue; + } + auto op_desc = node->GetOpDesc(); + if (op_desc == nullptr) { + continue; + } + if (op_desc->GetOpEngineName() == kAIcoreEngine) { + return false; + } + } + return true; + } } void GeGenerator::RemoveConst(const vector &inputs, vector &outputs) { @@ -787,7 +803,7 @@ Status GeGenerator::BuildSingleOp(OpDescPtr &op_desc, const vector &in bool all_shape = false; (void)AttrUtils::GetBool(op_desc, kAicpuAllshape, all_shape); - if (all_shape) { + if (all_shape && CheckNoAicore(root_graph)) { GELOGD("Get aicpu all_shape kernel!"); vector inputs_dynamic; vector outputs_dynamic;