AutoPlugin: support performance Hint (#7621)
Signed-off-by: Hu, Yuan2 <yuan2.hu@intel.com>
This commit is contained in:
parent
4a49fb6e59
commit
b968c7b813
@ -221,9 +221,6 @@ int main(int argc, char* argv[]) {
|
|||||||
bool perf_counts = false;
|
bool perf_counts = false;
|
||||||
// Update config per device according to command line parameters
|
// Update config per device according to command line parameters
|
||||||
for (auto& device : devices) {
|
for (auto& device : devices) {
|
||||||
if (device == "AUTO") {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (!config.count(device))
|
if (!config.count(device))
|
||||||
config[device] = {};
|
config[device] = {};
|
||||||
std::map<std::string, std::string>& device_config = config.at(device);
|
std::map<std::string, std::string>& device_config = config.at(device);
|
||||||
|
@ -253,11 +253,9 @@ IExecutableNetworkInternal::Ptr MultiDeviceInferencePlugin::LoadNetworkImpl(cons
|
|||||||
}
|
}
|
||||||
// replace the configure with configure that auto want to pass to device
|
// replace the configure with configure that auto want to pass to device
|
||||||
// and reset the strDevices to support devices
|
// and reset the strDevices to support devices
|
||||||
std::vector<std::string> validConfigKey;
|
auto validConfigKey = PerfHintsConfig::SupportedKeys();
|
||||||
validConfigKey.push_back(PluginConfigParams::KEY_PERF_COUNT);
|
validConfigKey.push_back(PluginConfigParams::KEY_PERF_COUNT);
|
||||||
validConfigKey.push_back(PluginConfigParams::KEY_EXCLUSIVE_ASYNC_REQUESTS);
|
validConfigKey.push_back(PluginConfigParams::KEY_EXCLUSIVE_ASYNC_REQUESTS);
|
||||||
validConfigKey.push_back(PluginConfigParams::KEY_PERFORMANCE_HINT);
|
|
||||||
validConfigKey.push_back(PluginConfigParams::KEY_PERFORMANCE_HINT_NUM_REQUESTS);
|
|
||||||
strDevices = "";
|
strDevices = "";
|
||||||
for (auto iter = supportDevices.begin(); iter != supportDevices.end(); iter++) {
|
for (auto iter = supportDevices.begin(); iter != supportDevices.end(); iter++) {
|
||||||
std::map<std::string, std::string> deviceConfig;
|
std::map<std::string, std::string> deviceConfig;
|
||||||
@ -268,7 +266,7 @@ IExecutableNetworkInternal::Ptr MultiDeviceInferencePlugin::LoadNetworkImpl(cons
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
iter->config = deviceConfig;
|
iter->config = deviceConfig;
|
||||||
strDevices = iter->deviceName;
|
strDevices += iter->deviceName;
|
||||||
strDevices += ((iter + 1) == supportDevices.end()) ? "" : ",";
|
strDevices += ((iter + 1) == supportDevices.end()) ? "" : ",";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -45,6 +45,47 @@ namespace {
|
|||||||
{{InferenceEngine::MultiDeviceConfigParams::KEY_MULTI_DEVICE_PRIORITIES , CommonTestUtils::DEVICE_GPU},
|
{{InferenceEngine::MultiDeviceConfigParams::KEY_MULTI_DEVICE_PRIORITIES , CommonTestUtils::DEVICE_GPU},
|
||||||
{InferenceEngine::PluginConfigParams::KEY_DEVICE_ID, "DEVICE_UNKNOWN"}}
|
{InferenceEngine::PluginConfigParams::KEY_DEVICE_ID, "DEVICE_UNKNOWN"}}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
const std::vector<std::map<std::string, std::string>> autoinconfigs = {
|
||||||
|
{{InferenceEngine::MultiDeviceConfigParams::KEY_MULTI_DEVICE_PRIORITIES , CommonTestUtils::DEVICE_GPU},
|
||||||
|
{InferenceEngine::PluginConfigParams::KEY_PERFORMANCE_HINT, "DOESN'T EXIST"}},
|
||||||
|
{{InferenceEngine::MultiDeviceConfigParams::KEY_MULTI_DEVICE_PRIORITIES , CommonTestUtils::DEVICE_GPU},
|
||||||
|
{InferenceEngine::PluginConfigParams::KEY_PERFORMANCE_HINT, InferenceEngine::PluginConfigParams::LATENCY},
|
||||||
|
{InferenceEngine::PluginConfigParams::KEY_PERFORMANCE_HINT_NUM_REQUESTS, "-1"}},
|
||||||
|
{{InferenceEngine::MultiDeviceConfigParams::KEY_MULTI_DEVICE_PRIORITIES , CommonTestUtils::DEVICE_GPU},
|
||||||
|
{InferenceEngine::PluginConfigParams::KEY_PERF_COUNT, "ON"}},
|
||||||
|
{{InferenceEngine::MultiDeviceConfigParams::KEY_MULTI_DEVICE_PRIORITIES , CommonTestUtils::DEVICE_GPU},
|
||||||
|
{InferenceEngine::PluginConfigParams::KEY_CONFIG_FILE, "unknown_file"}},
|
||||||
|
{{InferenceEngine::MultiDeviceConfigParams::KEY_MULTI_DEVICE_PRIORITIES , CommonTestUtils::DEVICE_GPU},
|
||||||
|
{InferenceEngine::PluginConfigParams::KEY_DUMP_KERNELS, "ON"}},
|
||||||
|
{{InferenceEngine::MultiDeviceConfigParams::KEY_MULTI_DEVICE_PRIORITIES , CommonTestUtils::DEVICE_GPU},
|
||||||
|
{InferenceEngine::PluginConfigParams::KEY_TUNING_MODE, "TUNING_UNKNOWN_MODE"}},
|
||||||
|
{{InferenceEngine::MultiDeviceConfigParams::KEY_MULTI_DEVICE_PRIORITIES , CommonTestUtils::DEVICE_GPU},
|
||||||
|
{InferenceEngine::PluginConfigParams::KEY_DEVICE_ID, "DEVICE_UNKNOWN"}},
|
||||||
|
{{InferenceEngine::MultiDeviceConfigParams::KEY_MULTI_DEVICE_PRIORITIES ,
|
||||||
|
CommonTestUtils::DEVICE_GPU + std::string(",") + CommonTestUtils::DEVICE_CPU},
|
||||||
|
{InferenceEngine::PluginConfigParams::KEY_PERFORMANCE_HINT, "DOESN'T EXIST"}},
|
||||||
|
{{InferenceEngine::MultiDeviceConfigParams::KEY_MULTI_DEVICE_PRIORITIES ,
|
||||||
|
CommonTestUtils::DEVICE_GPU + std::string(",") + CommonTestUtils::DEVICE_CPU},
|
||||||
|
{InferenceEngine::PluginConfigParams::KEY_PERFORMANCE_HINT, InferenceEngine::PluginConfigParams::LATENCY},
|
||||||
|
{InferenceEngine::PluginConfigParams::KEY_PERFORMANCE_HINT_NUM_REQUESTS, "-1"}},
|
||||||
|
{{InferenceEngine::MultiDeviceConfigParams::KEY_MULTI_DEVICE_PRIORITIES ,
|
||||||
|
CommonTestUtils::DEVICE_GPU + std::string(",") + CommonTestUtils::DEVICE_CPU},
|
||||||
|
{InferenceEngine::PluginConfigParams::KEY_PERF_COUNT, "ON"}},
|
||||||
|
{{InferenceEngine::MultiDeviceConfigParams::KEY_MULTI_DEVICE_PRIORITIES ,
|
||||||
|
CommonTestUtils::DEVICE_GPU + std::string(",") + CommonTestUtils::DEVICE_CPU},
|
||||||
|
{InferenceEngine::PluginConfigParams::KEY_CONFIG_FILE, "unknown_file"}},
|
||||||
|
{{InferenceEngine::MultiDeviceConfigParams::KEY_MULTI_DEVICE_PRIORITIES ,
|
||||||
|
CommonTestUtils::DEVICE_GPU + std::string(",") + CommonTestUtils::DEVICE_CPU},
|
||||||
|
{InferenceEngine::PluginConfigParams::KEY_DUMP_KERNELS, "ON"}},
|
||||||
|
{{InferenceEngine::MultiDeviceConfigParams::KEY_MULTI_DEVICE_PRIORITIES ,
|
||||||
|
CommonTestUtils::DEVICE_GPU + std::string(",") + CommonTestUtils::DEVICE_CPU},
|
||||||
|
{InferenceEngine::PluginConfigParams::KEY_TUNING_MODE, "TUNING_UNKNOWN_MODE"}},
|
||||||
|
{{InferenceEngine::MultiDeviceConfigParams::KEY_MULTI_DEVICE_PRIORITIES ,
|
||||||
|
CommonTestUtils::DEVICE_GPU + std::string(",") + CommonTestUtils::DEVICE_CPU},
|
||||||
|
{InferenceEngine::PluginConfigParams::KEY_DEVICE_ID, "DEVICE_UNKNOWN"}}
|
||||||
|
};
|
||||||
IE_SUPPRESS_DEPRECATED_END
|
IE_SUPPRESS_DEPRECATED_END
|
||||||
|
|
||||||
INSTANTIATE_TEST_SUITE_P(smoke_BehaviorTests, IncorrectConfigTests,
|
INSTANTIATE_TEST_SUITE_P(smoke_BehaviorTests, IncorrectConfigTests,
|
||||||
@ -65,7 +106,7 @@ namespace {
|
|||||||
::testing::Combine(
|
::testing::Combine(
|
||||||
::testing::ValuesIn(netPrecisions),
|
::testing::ValuesIn(netPrecisions),
|
||||||
::testing::Values(CommonTestUtils::DEVICE_AUTO),
|
::testing::Values(CommonTestUtils::DEVICE_AUTO),
|
||||||
::testing::ValuesIn(multiinconfigs)),
|
::testing::ValuesIn(autoinconfigs)),
|
||||||
IncorrectConfigTests::getTestCaseName);
|
IncorrectConfigTests::getTestCaseName);
|
||||||
|
|
||||||
|
|
||||||
@ -119,9 +160,24 @@ namespace {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const std::vector<std::map<std::string, std::string>> autoConfigs = {
|
const std::vector<std::map<std::string, std::string>> autoConfigs = {
|
||||||
|
{{InferenceEngine::MultiDeviceConfigParams::KEY_MULTI_DEVICE_PRIORITIES , CommonTestUtils::DEVICE_GPU}},
|
||||||
{{InferenceEngine::MultiDeviceConfigParams::KEY_MULTI_DEVICE_PRIORITIES , CommonTestUtils::DEVICE_GPU},
|
{{InferenceEngine::MultiDeviceConfigParams::KEY_MULTI_DEVICE_PRIORITIES , CommonTestUtils::DEVICE_GPU},
|
||||||
{InferenceEngine::MultiDeviceConfigParams::KEY_MULTI_DEVICE_PRIORITIES,
|
{InferenceEngine::PluginConfigParams::KEY_PERFORMANCE_HINT, InferenceEngine::PluginConfigParams::THROUGHPUT}},
|
||||||
CommonTestUtils::DEVICE_GPU + std::string(",") + CommonTestUtils::DEVICE_CPU}}
|
{{InferenceEngine::MultiDeviceConfigParams::KEY_MULTI_DEVICE_PRIORITIES , CommonTestUtils::DEVICE_GPU},
|
||||||
|
{InferenceEngine::PluginConfigParams::KEY_PERFORMANCE_HINT, InferenceEngine::PluginConfigParams::LATENCY}},
|
||||||
|
{{InferenceEngine::MultiDeviceConfigParams::KEY_MULTI_DEVICE_PRIORITIES , CommonTestUtils::DEVICE_GPU},
|
||||||
|
{InferenceEngine::PluginConfigParams::KEY_PERFORMANCE_HINT, InferenceEngine::PluginConfigParams::LATENCY},
|
||||||
|
{InferenceEngine::PluginConfigParams::KEY_PERFORMANCE_HINT_NUM_REQUESTS, "1"}},
|
||||||
|
{{InferenceEngine::MultiDeviceConfigParams::KEY_MULTI_DEVICE_PRIORITIES ,
|
||||||
|
CommonTestUtils::DEVICE_GPU + std::string(",") + CommonTestUtils::DEVICE_CPU},
|
||||||
|
{InferenceEngine::PluginConfigParams::KEY_PERFORMANCE_HINT, InferenceEngine::PluginConfigParams::THROUGHPUT}},
|
||||||
|
{{InferenceEngine::MultiDeviceConfigParams::KEY_MULTI_DEVICE_PRIORITIES ,
|
||||||
|
CommonTestUtils::DEVICE_GPU + std::string(",") + CommonTestUtils::DEVICE_CPU},
|
||||||
|
{InferenceEngine::PluginConfigParams::KEY_PERFORMANCE_HINT, InferenceEngine::PluginConfigParams::LATENCY}},
|
||||||
|
{{InferenceEngine::MultiDeviceConfigParams::KEY_MULTI_DEVICE_PRIORITIES ,
|
||||||
|
CommonTestUtils::DEVICE_GPU + std::string(",") + CommonTestUtils::DEVICE_CPU},
|
||||||
|
{InferenceEngine::PluginConfigParams::KEY_PERFORMANCE_HINT, InferenceEngine::PluginConfigParams::LATENCY},
|
||||||
|
{InferenceEngine::PluginConfigParams::KEY_PERFORMANCE_HINT_NUM_REQUESTS, "1"}}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -153,7 +209,7 @@ namespace {
|
|||||||
::testing::ValuesIn(multiconf)),
|
::testing::ValuesIn(multiconf)),
|
||||||
CorrectConfigAPITests::getTestCaseName);
|
CorrectConfigAPITests::getTestCaseName);
|
||||||
|
|
||||||
INSTANTIATE_TEST_SUITE_P(smoke_Auto_BehaviorTests, CorrectConfigTests,
|
INSTANTIATE_TEST_SUITE_P(smoke_Auto_BehaviorTests, CorrectConfigAPITests,
|
||||||
::testing::Combine(
|
::testing::Combine(
|
||||||
::testing::ValuesIn(netPrecisions),
|
::testing::ValuesIn(netPrecisions),
|
||||||
::testing::Values(CommonTestUtils::DEVICE_AUTO),
|
::testing::Values(CommonTestUtils::DEVICE_AUTO),
|
||||||
@ -178,7 +234,7 @@ namespace {
|
|||||||
::testing::Combine(
|
::testing::Combine(
|
||||||
::testing::ValuesIn(netPrecisions),
|
::testing::ValuesIn(netPrecisions),
|
||||||
::testing::Values(CommonTestUtils::DEVICE_AUTO),
|
::testing::Values(CommonTestUtils::DEVICE_AUTO),
|
||||||
::testing::ValuesIn(multiinconfigs)),
|
::testing::ValuesIn(autoinconfigs)),
|
||||||
IncorrectConfigAPITests::getTestCaseName);
|
IncorrectConfigAPITests::getTestCaseName);
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user