99#include < string_view>
1010
1111#include " graph.hpp"
12- #include " intel_npu/common/filtered_config.hpp"
1312#include " intel_npu/common/itt.hpp"
1413#include " intel_npu/config/options.hpp"
1514#include " intel_npu/prefix.hpp"
@@ -187,23 +186,19 @@ DriverCompilerAdapter::DriverCompilerAdapter(const std::shared_ptr<ZeroInitStruc
187186}
188187
189188std::shared_ptr<IGraph> DriverCompilerAdapter::compile (const std::shared_ptr<const ov::Model>& model,
190- const Config & config) const {
189+ const FilteredConfig & config) const {
191190 OV_ITT_TASK_CHAIN (COMPILE_BLOB, itt::domains::NPUPlugin, " DriverCompilerAdapter" , " compile" );
192191
193192 const ze_graph_compiler_version_info_t & compilerVersion = _compilerProperties.compilerVersion ;
194193 const auto maxOpsetVersion = _compilerProperties.maxOVOpsetVersionSupported ;
195194 _logger.info (" getSupportedOpsetVersion Max supported version of opset in CiD: %d" , maxOpsetVersion);
196195
197196 _logger.debug (" serialize IR" );
198- const FilteredConfig* filteredConfig = dynamic_cast <const FilteredConfig*>(&config);
199- if (filteredConfig == nullptr ) {
200- OPENVINO_THROW (" config is not FilteredConfig" );
201- }
202197 auto serializedIR = serializeIR (model,
203198 compilerVersion,
204199 maxOpsetVersion,
205- filteredConfig-> isAvailable (ov::intel_npu::better_model_serialization.name ())
206- ? filteredConfig-> get <BETTER_MODEL_SERIALIZATION>()
200+ config. isAvailable (ov::intel_npu::better_model_serialization.name ())
201+ ? config. get <BETTER_MODEL_SERIALIZATION>()
207202 : false );
208203
209204 std::string buildFlags;
@@ -240,7 +235,7 @@ std::shared_ptr<IGraph> DriverCompilerAdapter::compile(const std::shared_ptr<con
240235}
241236
242237std::shared_ptr<IGraph> DriverCompilerAdapter::compileWS (const std::shared_ptr<ov::Model>& model,
243- const Config & config) const {
238+ const FilteredConfig & config) const {
244239 OV_ITT_TASK_CHAIN (COMPILE_BLOB, itt::domains::NPUPlugin, " DriverCompilerAdapter" , " compileWS" );
245240
246241 storeWeightlessCacheAttribute (model);
@@ -263,7 +258,12 @@ std::shared_ptr<IGraph> DriverCompilerAdapter::compileWS(const std::shared_ptr<o
263258 }
264259
265260 _logger.debug (" serialize IR" );
266- auto serializedIR = serializeIR (model, compilerVersion, maxOpsetVersion);
261+ auto serializedIR = serializeIR (model,
262+ compilerVersion,
263+ maxOpsetVersion,
264+ config.isAvailable (ov::intel_npu::better_model_serialization.name ())
265+ ? config.get <BETTER_MODEL_SERIALIZATION>()
266+ : false );
267267
268268 std::string buildFlags;
269269 const bool useIndices = !((compilerVersion.major < 5 ) || (compilerVersion.major == 5 && compilerVersion.minor < 9 ));
@@ -347,7 +347,7 @@ std::shared_ptr<IGraph> DriverCompilerAdapter::compileWS(const std::shared_ptr<o
347347
348348std::shared_ptr<IGraph> DriverCompilerAdapter::parse (
349349 ov::Tensor mainBlob,
350- const Config & config,
350+ const FilteredConfig & config,
351351 std::optional<std::vector<ov::Tensor>> initBlobs,
352352 const std::optional<std::shared_ptr<const ov::Model>>& model) const {
353353 OV_ITT_TASK_CHAIN (PARSE_BLOB, itt::domains::NPUPlugin, " DriverCompilerAdapter" , " parse" );
@@ -401,15 +401,20 @@ std::shared_ptr<IGraph> DriverCompilerAdapter::parse(
401401}
402402
403403ov::SupportedOpsMap DriverCompilerAdapter::query (const std::shared_ptr<const ov::Model>& model,
404- const Config & config) const {
404+ const FilteredConfig & config) const {
405405 OV_ITT_TASK_CHAIN (query_BLOB, itt::domains::NPUPlugin, " DriverCompilerAdapter" , " query" );
406406
407407 const ze_graph_compiler_version_info_t & compilerVersion = _compilerProperties.compilerVersion ;
408408 const auto maxOpsetVersion = _compilerProperties.maxOVOpsetVersionSupported ;
409409 _logger.info (" getSupportedOpsetVersion Max supported version of opset in CiD: %d" , maxOpsetVersion);
410410
411411 _logger.debug (" serialize IR" );
412- auto serializedIR = serializeIR (model, compilerVersion, maxOpsetVersion);
412+ auto serializedIR = serializeIR (model,
413+ compilerVersion,
414+ maxOpsetVersion,
415+ config.isAvailable (ov::intel_npu::better_model_serialization.name ())
416+ ? config.get <BETTER_MODEL_SERIALIZATION>()
417+ : false );
413418
414419 std::string buildFlags;
415420 buildFlags += serializeConfig (config, compilerVersion);
@@ -441,18 +446,16 @@ uint32_t DriverCompilerAdapter::get_version() const {
441446 * @details Format of the memory:
442447 */
443448SerializedIR DriverCompilerAdapter::serializeIR (const std::shared_ptr<const ov::Model>& model,
444- ze_graph_compiler_version_info_t compilerVersion,
449+ const ze_graph_compiler_version_info_t compilerVersion,
445450 const uint32_t supportedOpsetVersion,
446451 const bool useBetterModelSerialization) const {
447452 std::shared_ptr<driver_compiler_utils::IRSerializerBase> irSerializer =
448453 useBetterModelSerialization
449454 ? std::make_shared<driver_compiler_utils::IRSerializerWithoutWeightsCopy>(model,
450- compilerVersion.major ,
451- compilerVersion.minor ,
455+ compilerVersion,
452456 supportedOpsetVersion)
453457 : std::make_shared<driver_compiler_utils::IRSerializerWithWeightsCopy>(model,
454- compilerVersion.major ,
455- compilerVersion.minor ,
458+ compilerVersion,
456459 supportedOpsetVersion);
457460 return irSerializer->serialize ();
458461}
@@ -546,20 +549,13 @@ std::string DriverCompilerAdapter::serializeIOInfo(const std::shared_ptr<const o
546549 outputsPrecisionSS.str () + VALUES_SEPARATOR.data () + outputsLayoutSS.str ();
547550}
548551
549- std::string DriverCompilerAdapter::serializeConfig (const Config & config,
552+ std::string DriverCompilerAdapter::serializeConfig (const FilteredConfig & config,
550553 ze_graph_compiler_version_info_t compilerVersion) const {
551554 Logger logger (" serializeConfig" , Logger::global ().level ());
552555
553556 std::string content = {};
554-
555- const FilteredConfig* plgConfig = dynamic_cast <const FilteredConfig*>(&config);
556- if (plgConfig != nullptr ) {
557- content += plgConfig->toStringForCompiler ();
558- content += plgConfig->toStringForCompilerInternal ();
559- } else {
560- logger.warning (" Failed to cast Config to FilteredConfig. Exporting all configs" );
561- content += config.toString ();
562- }
557+ content += config.toStringForCompiler ();
558+ content += config.toStringForCompilerInternal ();
563559
564560 logger.debug (" Original content of config: %s" , content.c_str ());
565561
0 commit comments