From a197177a3c1b10ec34a2e7b1fd1fde3dbc7bfd93 Mon Sep 17 00:00:00 2001 From: wxl Date: Fri, 22 Jan 2021 16:03:31 +0800 Subject: [PATCH] Optimize inferface performance needed when running --- ge/hybrid/model/hybrid_model_builder.cc | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/ge/hybrid/model/hybrid_model_builder.cc b/ge/hybrid/model/hybrid_model_builder.cc index 861cd30a..66f3d4c6 100755 --- a/ge/hybrid/model/hybrid_model_builder.cc +++ b/ge/hybrid/model/hybrid_model_builder.cc @@ -28,6 +28,8 @@ #include "graph/manager/graph_mem_allocator.h" #include "graph/manager/host_mem_allocator.h" #include "graph/utils/graph_utils.h" +#include "graph/utils/op_desc_utils.h" +#include "graph/utils/tensor_utils.h" #include "hybrid/common/npu_memory_allocator.h" #include "hybrid/node_executor/node_executor.h" @@ -1530,6 +1532,27 @@ Status HybridModelBuilder::RecoverGraphUnknownFlag() { break; } } + // for performance + for (auto &subgraph : root_graph->GetAllSubgraphs()) { + GE_CHECK_NOTNULL(sub_graph); + for (const auto &node : sub_graph->GetDirectNode()) { + auto op_desc = node->GetOpDesc(); + GE_CHECK_NOTNULL(op_desc); + OpDescUtils::TransformRunAttrToMember(*op_desc); + for (auto &tensor_desc : op_desc->GetAllInputsDescPtr()) { + if (tensor_desc == nullptr) { + continue; + } + TensorUtils::TransformRunAttrToMember(*tensor_desc); + } + for (auto &tensor_desc : op_desc->GetAllOutputsDescPtr()) { + if (tensor_desc == nullptr) { + continue; + } + TensorUtils::TransformRunAttrToMember(*tensor_desc); + } + } + } return SUCCESS; }