diff --git a/src/plugins/hetero/executable_network.cpp b/src/plugins/hetero/executable_network.cpp index c863cef8421..4c988207c7d 100644 --- a/src/plugins/hetero/executable_network.cpp +++ b/src/plugins/hetero/executable_network.cpp @@ -112,23 +112,6 @@ HeteroExecutableNetwork::HeteroExecutableNetwork(const InferenceEngine::CNNNetwo return input.get_source_output().get_node(); }; - // Set results, constants and parameters affinity - for (auto&& node : clonedFunction->get_ops()) { - if (ngraph::op::is_constant(node) || ngraph::op::is_output(node) || ngraph::op::is_parameter(node)) { - if (!contains(queryNetworkResult.supportedLayersMap, node->get_friendly_name())) { - auto& nodeWithAffinityName = - ngraph::op::is_output(node) - ? node->input_value(0).get_node()->get_friendly_name() - : node->output(0).get_target_inputs().begin()->get_node()->get_friendly_name(); - auto itAffinity = queryNetworkResult.supportedLayersMap.find(nodeWithAffinityName); - if (itAffinity == queryNetworkResult.supportedLayersMap.end()) { - IE_THROW() << "Node " << nodeWithAffinityName << " was not assigned on any pointed device."; - } - queryNetworkResult.supportedLayersMap.emplace(node->get_friendly_name(), itAffinity->second); - } - } - } - std::unordered_set devices; NodeMap affinities; // Check that all nodes has user or plugin defined affinities diff --git a/src/tests/functional/plugin/shared/src/behavior/plugin/hetero_synthetic.cpp b/src/tests/functional/plugin/shared/src/behavior/plugin/hetero_synthetic.cpp index b4bf13b57e0..42333bde334 100644 --- a/src/tests/functional/plugin/shared/src/behavior/plugin/hetero_synthetic.cpp +++ b/src/tests/functional/plugin/shared/src/behavior/plugin/hetero_synthetic.cpp @@ -165,19 +165,26 @@ std::string HeteroSyntheticTest::SetUpAffinity() { auto& pluginParameters = std::get(param); affinities += "\n{\n"; for (auto&& node : std::get(param)._function->get_ordered_ops()) { - if (!ngraph::op::is_constant(node) && - !(ngraph::op::is_parameter(node)) && - !(ngraph::op::is_output(node))) { - std::string affinity; + std::string affinity; + auto get_affinity = [&](const std::string& name) { if (std::get(param)._majorPluginNodeIds.end() != - std::get(param)._majorPluginNodeIds.find(node->get_friendly_name())) { - affinity = pluginParameters.at(0)._name; + std::get(param)._majorPluginNodeIds.find(name)) { + return pluginParameters.at(0)._name; } else { - affinity = pluginParameters.at(1)._name; + return pluginParameters.at(1)._name; } - node->get_rt_info()["affinity"] = affinity; - affinities += "\t{\"" + node->get_friendly_name() + "\",\t\t\"" + affinity + "\"}\n"; + }; + if (ngraph::op::is_constant(node) || ngraph::op::is_output(node) || ngraph::op::is_parameter(node)) { + auto& node_with_affinity_name = + ngraph::op::is_output(node) + ? node->input_value(0).get_node()->get_friendly_name() + : node->output(0).get_target_inputs().begin()->get_node()->get_friendly_name(); + affinity = get_affinity(node_with_affinity_name); + } else { + affinity = get_affinity(node->get_friendly_name()); } + node->get_rt_info()["affinity"] = affinity; + affinities += "\t{\"" + node->get_friendly_name() + "\",\t\t\"" + affinity + "\"}\n"; } affinities += "}"; affinities += "\nseed = " + std::to_string(std::get(param)._seed);