From c913f4b487bddff70fa9923ace0697bac5aff0f8 Mon Sep 17 00:00:00 2001 From: huanruizhi Date: Mon, 5 Jul 2021 16:35:05 +0800 Subject: [PATCH] change default pass options --- tf_adapter/optimizers/add_input_pass.cc | 5 +++-- .../optimizers/control_flow_conversion_pass.cc | 5 +++-- tf_adapter/optimizers/dp_tf_ge_conversion_pass.cc | 5 +++-- tf_adapter/optimizers/get_attr_optimize_pass.cc | 5 +++-- tf_adapter/optimizers/mark_noneed_optimize_pass.cc | 5 +++-- tf_adapter/optimizers/mark_start_node_pass.cc | 5 +++-- .../optimizers/om_partition_subgraphs_pass.cc | 5 +++-- tf_adapter/optimizers/om_set_var_format_pass.cc | 5 +++-- .../optimizers/weight_update_sharding_pass.cc | 5 +++-- tf_adapter/util/npu_attrs.cc | 13 +++---------- 10 files changed, 30 insertions(+), 28 deletions(-) diff --git a/tf_adapter/optimizers/add_input_pass.cc b/tf_adapter/optimizers/add_input_pass.cc index 85daf9210..e92bbb2f5 100644 --- a/tf_adapter/optimizers/add_input_pass.cc +++ b/tf_adapter/optimizers/add_input_pass.cc @@ -93,8 +93,9 @@ Status AddInputPass::Run(const GraphOptimizationPassOptions &options) { } std::string job = pass_options["job"]; - if (job == "ps" || job == "default" || job == "localhost") { - ADP_LOG(INFO) << "job is " << job << " Skip the optimizer : AddInputPass."; + if (job == "ps" || pass_options["use_off_line"] == "0" || job == "localhost") { + ADP_LOG(INFO) << "job is " << job << ", use_off_line " << pass_options["use_off_line"] + << " Skip the optimizer : AddInputPass."; continue; } diff --git a/tf_adapter/optimizers/control_flow_conversion_pass.cc b/tf_adapter/optimizers/control_flow_conversion_pass.cc index c6d7c9afe..a93e192ff 100644 --- a/tf_adapter/optimizers/control_flow_conversion_pass.cc +++ b/tf_adapter/optimizers/control_flow_conversion_pass.cc @@ -49,8 +49,9 @@ Status ControlFlowConversionPass::Run(const GraphOptimizationPassOptions &option std::map pass_options = NpuAttrs::GetPassOptions(options); std::string job = pass_options["job"]; - if (job == "ps" || job == "default") { - ADP_LOG(INFO) << "job is " << job << " Skip the optimizer : ControlFlowConversionPass."; + if (job == "ps" || pass_options["use_off_line"] == "0") { + ADP_LOG(INFO) << "job is " << job << ", use_off_line " << pass_options["use_off_line"] + << " Skip the optimizer : ControlFlowConversionPass."; return Status::OK(); } diff --git a/tf_adapter/optimizers/dp_tf_ge_conversion_pass.cc b/tf_adapter/optimizers/dp_tf_ge_conversion_pass.cc index 8c7e09226..7109af408 100644 --- a/tf_adapter/optimizers/dp_tf_ge_conversion_pass.cc +++ b/tf_adapter/optimizers/dp_tf_ge_conversion_pass.cc @@ -938,8 +938,9 @@ Status DpTfToGEConversionPassImpl::ProcessGraph(std::unique_ptr *graph, F } } std::string job = pass_options["job"]; - if (job == "ps" || job == "default") { - ADP_LOG(INFO) << "job is " << job << " Skip the optimizer : DpTfToGEConversionPass."; + if (job == "ps" || pass_options["use_off_line"] == "0") { + ADP_LOG(INFO) << "job is " << job << ", use_off_line " << pass_options["use_off_line"] + << " Skip the optimizer : DpTfToGEConversionPass."; return Status::OK(); } if (job == "localhost" && pass_group_value != OptimizationPassRegistry::POST_REWRITE_FOR_EXEC) { diff --git a/tf_adapter/optimizers/get_attr_optimize_pass.cc b/tf_adapter/optimizers/get_attr_optimize_pass.cc index 8a639f01e..f44593c39 100644 --- a/tf_adapter/optimizers/get_attr_optimize_pass.cc +++ b/tf_adapter/optimizers/get_attr_optimize_pass.cc @@ -63,8 +63,9 @@ Status GetAttrOptimizePass::Run(const GraphOptimizationPassOptions &options) { std::map pass_options = NpuAttrs::GetPassOptions(options); std::string job = pass_options["job"]; ADP_LOG(INFO) << "NpuAttrs job is " << job; - if (job == "ps" || job == "default") { - ADP_LOG(INFO) << "job is " << job << " Skip the optimizer : GetAttrOptimizePass."; + if (job == "ps" || pass_options["use_off_line"] == "0") { + ADP_LOG(INFO) << "job is " << job << ", use_off_line " << pass_options["use_off_line"] + << " Skip the optimizer : GetAttrOptimizePass."; return Status::OK(); } diff --git a/tf_adapter/optimizers/mark_noneed_optimize_pass.cc b/tf_adapter/optimizers/mark_noneed_optimize_pass.cc index a35221482..adc437418 100644 --- a/tf_adapter/optimizers/mark_noneed_optimize_pass.cc +++ b/tf_adapter/optimizers/mark_noneed_optimize_pass.cc @@ -89,8 +89,9 @@ Status MarkNoNeedOptimizePass::ProcessGraph(std::unique_ptr *graph, Funct } job = pass_options["job"]; - if (job == "ps" || job == "default") { - ADP_LOG(INFO) << "job is " << job << " Skip the optimizer : MarkNoNeedOptimizePass."; + if (job == "ps" || pass_options["use_off_line"] == "0") { + ADP_LOG(INFO) << "job is " << job << ", use_off_line " << pass_options["use_off_line"] + << " Skip the optimizer : MarkNoNeedOptimizePass."; return Status::OK(); } if (job == "localhost" && pass_group_value != OptimizationPassRegistry::POST_REWRITE_FOR_EXEC) { diff --git a/tf_adapter/optimizers/mark_start_node_pass.cc b/tf_adapter/optimizers/mark_start_node_pass.cc index 85e7820f9..913f389c7 100644 --- a/tf_adapter/optimizers/mark_start_node_pass.cc +++ b/tf_adapter/optimizers/mark_start_node_pass.cc @@ -79,8 +79,9 @@ Status MarkStartNodePass::Run(const GraphOptimizationPassOptions &options) { std::map pass_options = NpuAttrs::GetPassOptions(options); std::string job = pass_options["job"]; - if (job == "ps" || job == "default" || job == "localhost") { - ADP_LOG(INFO) << "job is " << job << " Skip the optimizer : MarkStartNodePass."; + if (job == "ps" || pass_options["use_off_line"] == "0" || job == "localhost") { + ADP_LOG(INFO) << "job is " << job << ", use_off_line " << pass_options["use_off_line"] + << " Skip the optimizer : MarkStartNodePass."; return Status::OK(); } diff --git a/tf_adapter/optimizers/om_partition_subgraphs_pass.cc b/tf_adapter/optimizers/om_partition_subgraphs_pass.cc index 138bed88d..b0f0789bc 100644 --- a/tf_adapter/optimizers/om_partition_subgraphs_pass.cc +++ b/tf_adapter/optimizers/om_partition_subgraphs_pass.cc @@ -2089,8 +2089,9 @@ Status OMPartitionSubgraphsPass::ProcessGraph(std::unique_ptr *graph, Fun NpuAttrs::LogOptions(all_options); std::string job = pass_options["job"]; - if (job == "ps" || job == "default") { - ADP_LOG(INFO) << "job is " << job << " Skip the optimizer : OMPartitionSubgraphsPass."; + if (job == "ps" || pass_options["use_off_line"] == "0") { + ADP_LOG(INFO) << "job is " << job << ", use_off_line " << pass_options["use_off_line"] + << " Skip the optimizer : OMPartitionSubgraphsPass."; return Status::OK(); } if (job == "localhost" && pass_group_value != OptimizationPassRegistry::POST_REWRITE_FOR_EXEC) { diff --git a/tf_adapter/optimizers/om_set_var_format_pass.cc b/tf_adapter/optimizers/om_set_var_format_pass.cc index a257a201e..20759c4bd 100644 --- a/tf_adapter/optimizers/om_set_var_format_pass.cc +++ b/tf_adapter/optimizers/om_set_var_format_pass.cc @@ -141,8 +141,9 @@ Status SetVarFormatPass::Run(const GraphOptimizationPassOptions &options) { std::map pass_options = NpuAttrs::GetPassOptions(options); std::string job = pass_options["job"]; - if (job == "ps" || job == "default") { - ADP_LOG(INFO) << "job is " << job << " Skip the optimizer : SetVarFormatPass."; + if (job == "ps" || pass_options["use_off_line"] == "0") { + ADP_LOG(INFO) << "job is " << job << ", use_off_line " << pass_options["use_off_line"] + << " Skip the optimizer : SetVarFormatPass."; return Status::OK(); } diff --git a/tf_adapter/optimizers/weight_update_sharding_pass.cc b/tf_adapter/optimizers/weight_update_sharding_pass.cc index 21fa48ca1..53eb29182 100644 --- a/tf_adapter/optimizers/weight_update_sharding_pass.cc +++ b/tf_adapter/optimizers/weight_update_sharding_pass.cc @@ -53,8 +53,9 @@ Status WeightUpdateShardingPass::Run(const GraphOptimizationPassOptions &options Graph *graphIn = (options.graph)->get(); std::map pass_options = NpuAttrs::GetPassOptions(options); std::string job = pass_options["job"]; - if (job == "ps" || job == "default") { - ADP_LOG(INFO) << "job is " << job << " Skip the optimizer : WeightUpdateShardingPass. "; + if (job == "ps" || pass_options["use_off_line"] == "0") { + ADP_LOG(INFO) << "job is " << job << ", use_off_line " << pass_options["use_off_line"] + << " Skip the optimizer : WeightUpdateShardingPass. "; return Status::OK(); } diff --git a/tf_adapter/util/npu_attrs.cc b/tf_adapter/util/npu_attrs.cc index 361dedd61..3e6218dec 100644 --- a/tf_adapter/util/npu_attrs.cc +++ b/tf_adapter/util/npu_attrs.cc @@ -494,13 +494,13 @@ std::map NpuAttrs::GetInitOptions(OpKernelConstruction std::map NpuAttrs::GetPassOptions(const GraphOptimizationPassOptions &options) { std::map pass_options; const RewriterConfig &rewrite_options = options.session_options->config.graph_options().rewrite_options(); - bool do_npu_optimizer = false; + bool do_npu_optimizer = true; bool enable_dp = false; bool use_off_line = true; bool mix_compile_mode = false; int iterations_per_loop = 1; bool lower_functional_ops = false; - string job = "default"; + string job = "localhost"; int task_index = 0; bool dynamic_input = false; std::string dynamic_graph_execute_mode = "dynamic_execute"; @@ -512,7 +512,6 @@ std::map NpuAttrs::GetPassOptions(const GraphOptimizat for (const auto &custom_optimizer : rewrite_options.custom_optimizers()) { if (custom_optimizer.name() == "NpuOptimizer") { - do_npu_optimizer = true; const auto ¶ms = custom_optimizer.parameter_map(); if (params.count("enable_data_pre_proc")) { enable_dp = params.at("enable_data_pre_proc").b(); @@ -565,13 +564,7 @@ std::map NpuAttrs::GetPassOptions(const GraphOptimizat if (params.count("in_out_pair")) { in_out_pair = params.at("in_out_pair").s(); } } } - if (!do_npu_optimizer) { - if ((const_cast(options.session_options))->config.mutable_graph_options() != nullptr && - (const_cast(options.session_options))->config.mutable_graph_options()->mutable_rewrite_options() != nullptr) { - (const_cast(options.session_options))->config.mutable_graph_options()-> - mutable_rewrite_options()->set_remapping(RewriterConfig::OFF); - } - } + // pass options pass_options["do_npu_optimizer"] = std::to_string(do_npu_optimizer); pass_options["enable_dp"] = std::to_string(enable_dp); -- Gitee