Added Import export device capability into hetero plugin (#10455)
This commit is contained in:
parent
8148921fa7
commit
a7b28953e2
@ -908,10 +908,10 @@ void collectPluginMetrics(std::vector<std::string>& baseMetrics, const std::vect
|
||||
|
||||
InferenceEngine::Parameter HeteroExecutableNetwork::GetMetric(const std::string& name) const {
|
||||
if (EXEC_NETWORK_METRIC_KEY(SUPPORTED_METRICS) == name) {
|
||||
std::vector<std::string> heteroMetrics = {METRIC_KEY(NETWORK_NAME),
|
||||
std::vector<std::string> heteroMetrics = {ov::model_name.name(),
|
||||
METRIC_KEY(SUPPORTED_METRICS),
|
||||
METRIC_KEY(SUPPORTED_CONFIG_KEYS),
|
||||
METRIC_KEY(OPTIMAL_NUMBER_OF_INFER_REQUESTS)};
|
||||
ov::optimal_number_of_infer_requests.name()};
|
||||
|
||||
{
|
||||
std::vector<::Metrics> pluginMetrics;
|
||||
@ -951,15 +951,15 @@ InferenceEngine::Parameter HeteroExecutableNetwork::GetMetric(const std::string&
|
||||
}
|
||||
|
||||
IE_SET_METRIC_RETURN(SUPPORTED_CONFIG_KEYS, heteroConfigKeys);
|
||||
} else if (EXEC_NETWORK_METRIC_KEY(NETWORK_NAME) == name) {
|
||||
IE_SET_METRIC_RETURN(NETWORK_NAME, _name);
|
||||
} else if (EXEC_NETWORK_METRIC_KEY(OPTIMAL_NUMBER_OF_INFER_REQUESTS) == name) {
|
||||
} else if (ov::model_name == name) {
|
||||
return decltype(ov::model_name)::value_type{_name};
|
||||
} else if (ov::optimal_number_of_infer_requests == name) {
|
||||
unsigned int value = 0u;
|
||||
for (auto&& desc : _networks) {
|
||||
value = std::max(value,
|
||||
desc._network->GetMetric(METRIC_KEY(OPTIMAL_NUMBER_OF_INFER_REQUESTS)).as<unsigned int>());
|
||||
}
|
||||
IE_SET_METRIC_RETURN(OPTIMAL_NUMBER_OF_INFER_REQUESTS, value);
|
||||
return decltype(ov::optimal_number_of_infer_requests)::value_type{value};
|
||||
} else {
|
||||
// find metric key among plugin metrics
|
||||
for (auto&& desc : _networks) {
|
||||
|
@ -165,17 +165,20 @@ Parameter Engine::GetMetric(const std::string& name, const std::map<std::string,
|
||||
if (METRIC_KEY(SUPPORTED_METRICS) == name) {
|
||||
IE_SET_METRIC_RETURN(SUPPORTED_METRICS,
|
||||
std::vector<std::string>{METRIC_KEY(SUPPORTED_METRICS),
|
||||
METRIC_KEY(FULL_DEVICE_NAME),
|
||||
ov::device::full_name.name(),
|
||||
METRIC_KEY(SUPPORTED_CONFIG_KEYS),
|
||||
METRIC_KEY(DEVICE_ARCHITECTURE),
|
||||
METRIC_KEY(IMPORT_EXPORT_SUPPORT)});
|
||||
ov::device::architecture.name(),
|
||||
METRIC_KEY(IMPORT_EXPORT_SUPPORT),
|
||||
ov::device::capabilities.name()});
|
||||
} else if (METRIC_KEY(SUPPORTED_CONFIG_KEYS) == name) {
|
||||
IE_SET_METRIC_RETURN(SUPPORTED_CONFIG_KEYS, getSupportedConfigKeys());
|
||||
} else if (METRIC_KEY(FULL_DEVICE_NAME) == name) {
|
||||
IE_SET_METRIC_RETURN(FULL_DEVICE_NAME, std::string{"HETERO"});
|
||||
} else if (ov::device::full_name == name) {
|
||||
return decltype(ov::device::full_name)::value_type{"HETERO"};
|
||||
} else if (METRIC_KEY(IMPORT_EXPORT_SUPPORT) == name) {
|
||||
IE_SET_METRIC_RETURN(IMPORT_EXPORT_SUPPORT, true);
|
||||
} else if (METRIC_KEY(DEVICE_ARCHITECTURE) == name) {
|
||||
} else if (ov::device::capabilities == name) {
|
||||
return decltype(ov::device::capabilities)::value_type{{ov::device::capability::EXPORT_IMPORT}};
|
||||
} else if (ov::device::architecture == name) {
|
||||
auto deviceIt = options.find("TARGET_FALLBACK");
|
||||
std::string targetFallback;
|
||||
if (deviceIt != options.end()) {
|
||||
@ -188,7 +191,7 @@ Parameter Engine::GetMetric(const std::string& name, const std::map<std::string,
|
||||
targetFallback = GetConfig(ov::device::priorities.name(), {}).as<std::string>();
|
||||
}
|
||||
}
|
||||
IE_SET_METRIC_RETURN(DEVICE_ARCHITECTURE, DeviceArchitecture(targetFallback));
|
||||
return decltype(ov::device::architecture)::value_type{DeviceArchitecture(targetFallback)};
|
||||
} else {
|
||||
IE_THROW() << "Unsupported metric key: " << name;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user