Skip to content

Commit 6b71aab

Browse files
Fixing the thing
1 parent ba27d5f commit 6b71aab

File tree

1 file changed

+20
-8
lines changed

1 file changed

+20
-8
lines changed

src/plugins/intel_npu/src/plugin/src/plugin.cpp

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -641,6 +641,23 @@ std::shared_ptr<ov::ICompiledModel> Plugin::compile_model(const std::shared_ptr<
641641
_logger.warning("Model received in config will be ignored as it was already provided by parameter.");
642642
}
643643

644+
// There is an on-going migration from "USE_BASE_MODEL_SERIALIZER" to "MODEL_SERIALIZER_VERSION". Until done, make
645+
// sure only the option supported by the compiler is registered in the config.
646+
bool useBaseModelSerializer = true;
647+
const std::string useBaseModelSerializerKey = ov::intel_npu::use_base_model_serializer.name();
648+
const std::string modelSerializerVersionKey = ov::intel_npu::model_serializer_version.name();
649+
if (localProperties.count(useBaseModelSerializerKey)) {
650+
useBaseModelSerializer = localProperties.at(useBaseModelSerializerKey).as<bool>();
651+
localProperties.erase(useBaseModelSerializerKey);
652+
localProperties.erase(modelSerializerVersionKey);
653+
} else if (localProperties.count(modelSerializerVersionKey)) {
654+
const auto modelSerializerVersion =
655+
localProperties.at(modelSerializerVersionKey).as<ov::intel_npu::ModelSerializerVersion>();
656+
useBaseModelSerializer = (modelSerializerVersion == ov::intel_npu::ModelSerializerVersion::AUTO ||
657+
modelSerializerVersion == ov::intel_npu::ModelSerializerVersion::ALL_WEIGHTS_COPY);
658+
localProperties.erase(modelSerializerVersionKey);
659+
}
660+
644661
const std::map<std::string, std::string> localPropertiesMap = any_copy(localProperties);
645662
update_log_level(localPropertiesMap);
646663

@@ -748,16 +765,11 @@ std::shared_ptr<ov::ICompiledModel> Plugin::compile_model(const std::shared_ptr<
748765
localConfig.update({{ov::intel_npu::weightless_blob.name(), cacheModeOptimizeSize ? "YES" : "NO"}});
749766
}
750767

751-
// There is an on-going migration from "USE_BASE_MODEL_SERIALIZER" to "MODEL_SERIALIZER_VERSION". Until done, make
752-
// sure both options have the same value if only one is defined.
753-
if (localConfig.has<MODEL_SERIALIZER_VERSION>() && !localConfig.has<USE_BASE_MODEL_SERIALIZER>()) {
754-
const bool useBaseModelSerializer =
755-
(localConfig.get<MODEL_SERIALIZER_VERSION>() == ov::intel_npu::ModelSerializerVersion::AUTO ||
756-
localConfig.get<MODEL_SERIALIZER_VERSION>() == ov::intel_npu::ModelSerializerVersion::ALL_WEIGHTS_COPY);
768+
if (localConfig.isAvailable(ov::intel_npu::use_base_model_serializer.name())) {
757769
localConfig.update({{ov::intel_npu::use_base_model_serializer.name(), useBaseModelSerializer ? "YES" : "NO"}});
758-
} else if (!localConfig.has<MODEL_SERIALIZER_VERSION>() && localConfig.has<USE_BASE_MODEL_SERIALIZER>()) {
770+
} else if (localConfig.isAvailable(ov::intel_npu::model_serializer_version.name())) {
759771
localConfig.update({{ov::intel_npu::model_serializer_version.name(),
760-
localConfig.get<USE_BASE_MODEL_SERIALIZER>() ? "ALL_WEIGHTS_COPY" : "NO_WEIGHTS_COPY"}});
772+
useBaseModelSerializer ? "ALL_WEIGHTS_COPY" : "NO_WEIGHTS_COPY"}});
761773
}
762774

763775
std::shared_ptr<intel_npu::IGraph> graph;

0 commit comments

Comments
 (0)