[CPU] Fixed KEY_LP_TRANSFORMS_MODE internal propery behavior (#17945)
This commit is contained in:
1 parent
55ddbcaf23
commit
e564c50d35
1 file changed
+15
-3
@@ -387,6 +387,20 @@ StreamCfg Engine::GetNumStreams(InferenceEngine::IStreamsExecutor::ThreadBinding
|
||||
return stream_cfg;
|
||||
}
|
||||
|
||||
static bool shouldEnableLPT(const std::map<std::string, std::string>& modelConfig, const Config& engineConfig) {
|
||||
const auto& enableLPT = modelConfig.find(InferenceEngine::PluginConfigInternalParams::KEY_LP_TRANSFORMS_MODE);
|
||||
if (enableLPT == modelConfig.end()) // model config has higher priority
|
||||
return engineConfig.lpTransformsMode == Config::LPTransformsMode::On;
|
||||
|
||||
const auto& val = enableLPT->second;
|
||||
if (val == PluginConfigParams::YES)
|
||||
return true;
|
||||
else if (val == PluginConfigParams::NO)
|
||||
return false;
|
||||
else
|
||||
IE_THROW() << "Wrong value for property key LP_TRANSFORMS_MODE. Expected values: YES/NO";
|
||||
}
|
||||
|
||||
static bool shouldEnforceBF16(const std::map<std::string, std::string>& modelConfig, const Config& engineConfig) {
|
||||
// For BF16 execution, the machine should have AVX512 at least
|
||||
if (!dnnl::impl::cpu::x64::mayiuse(dnnl::impl::cpu::x64::avx512_core))
|
||||
@@ -454,9 +468,7 @@ Engine::LoadExeNetworkImpl(const InferenceEngine::CNNNetwork &network, const std
|
||||
auto config = orig_config;
|
||||
|
||||
CNNNetwork clonedNetwork = InferenceEngine::details::cloneNetwork(network);
|
||||
const auto& lptProp = config.find(InferenceEngine::PluginConfigInternalParams::KEY_LP_TRANSFORMS_MODE);
|
||||
const bool enableLPT = (lptProp != config.end() && lptProp->second == PluginConfigParams::YES) /* enabled in the orig_config*/
|
||||
|| Config::LPTransformsMode::On == engConfig.lpTransformsMode /* or already enabled for the plugin */;
|
||||
const bool enableLPT = shouldEnableLPT(config, engConfig);
|
||||
const bool enableBF16 = shouldEnforceBF16(config, engConfig);
|
||||
const Config::SnippetsMode snippetsMode = getSnippetsMode(config, engConfig);
|
||||
|
||||
|
||||
Reference in new issue
Block a user