From aadd461c1130a6cce46a9d6423b5f93e162a23ae Mon Sep 17 00:00:00 2001 From: Vladimir Paramuzov Date: Tue, 1 Sep 2020 15:00:52 +0300 Subject: [PATCH] [IE CLDNN] Disabled choose_impl call for generic nodes in some cases to avoid double compilation (#1989) --- .../clDNN/src/graph_optimizer/post_optimize_weights.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/inference-engine/thirdparty/clDNN/src/graph_optimizer/post_optimize_weights.cpp b/inference-engine/thirdparty/clDNN/src/graph_optimizer/post_optimize_weights.cpp index d9c90f85280..bee0c197dae 100644 --- a/inference-engine/thirdparty/clDNN/src/graph_optimizer/post_optimize_weights.cpp +++ b/inference-engine/thirdparty/clDNN/src/graph_optimizer/post_optimize_weights.cpp @@ -64,7 +64,11 @@ void post_optimize_weights::optimize_weights(T& node, program_impl& p) { // set generic_layer's node output layout and implementation auto& g_node = node.get_dependency(i); g_node.get_output_layout(false); - g_node.selected_impl = g_node.type()->choose_impl(p.get_engine(), g_node); + + // Don't run impl selection to avoid double compilation of reorder kernels + // in main program and internal program for constant propagation + if (!g_node.is_constant()) + g_node.selected_impl = g_node.type()->choose_impl(p.get_engine(), g_node); } }