From 4d272e2d3b9f90c3a7070ae3cfa4738c54eb6a0c Mon Sep 17 00:00:00 2001 From: karanjakhar Date: Fri, 5 Apr 2024 11:41:05 +0530 Subject: [PATCH 1/2] added support for optimal_batch_size --- src/plugins/intel_cpu/src/compiled_model.cpp | 3 +++ src/plugins/intel_cpu/src/plugin.cpp | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/plugins/intel_cpu/src/compiled_model.cpp b/src/plugins/intel_cpu/src/compiled_model.cpp index 96bfe2f4672..85a8652109f 100644 --- a/src/plugins/intel_cpu/src/compiled_model.cpp +++ b/src/plugins/intel_cpu/src/compiled_model.cpp @@ -224,6 +224,7 @@ ov::Any CompiledModel::get_property(const std::string& name) const { RO_property(ov::intel_cpu::sparse_weights_decompression_rate.name()), RO_property(ov::hint::dynamic_quantization_group_size.name()), RO_property(ov::hint::kv_cache_precision.name()), + RO_property(ov::optimal_batch_size.name()), }; } @@ -295,6 +296,8 @@ ov::Any CompiledModel::get_property(const std::string& name) const { config.fcDynamicQuantizationGroupSize); } else if (name == ov::hint::kv_cache_precision) { return decltype(ov::hint::kv_cache_precision)::value_type(config.kvCachePrecision); + } else if (name == ov::optimal_batch_size.name()) { + return decltype(ov::optimal_batch_size)::value_type(1); } OPENVINO_THROW("Unsupported property: ", name); } diff --git a/src/plugins/intel_cpu/src/plugin.cpp b/src/plugins/intel_cpu/src/plugin.cpp index 2c083b8cc3a..5086ad5ecf9 100644 --- a/src/plugins/intel_cpu/src/plugin.cpp +++ b/src/plugins/intel_cpu/src/plugin.cpp @@ -437,6 +437,7 @@ ov::Any Plugin::get_ro_property(const std::string& name, const ov::AnyMap& optio RO_property(ov::device::capabilities.name()), RO_property(ov::device::type.name()), RO_property(ov::device::architecture.name()), + RO_property(ov::optimal_batch_size.name()), }; // the whole config is RW before model is loaded. std::vector rwProperties{ @@ -523,6 +524,8 @@ ov::Any Plugin::get_ro_property(const std::string& name, const ov::AnyMap& optio #else # error "Undefined system processor" #endif + } else if (name == ov::optimal_batch_size){ + return decltype(ov::optimal_batch_size)::value_type(1); } OPENVINO_THROW("Cannot get unsupported property: ", name); From 6e43df23125626e09ab0841d651705c3e96cb010 Mon Sep 17 00:00:00 2001 From: karanjakhar Date: Fri, 5 Apr 2024 11:57:27 +0530 Subject: [PATCH 2/2] Add properties --- .../custom/behavior/ov_plugin/properties.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/plugins/intel_cpu/tests/functional/custom/behavior/ov_plugin/properties.cpp b/src/plugins/intel_cpu/tests/functional/custom/behavior/ov_plugin/properties.cpp index 27c80bce3fc..e828efc55cd 100644 --- a/src/plugins/intel_cpu/tests/functional/custom/behavior/ov_plugin/properties.cpp +++ b/src/plugins/intel_cpu/tests/functional/custom/behavior/ov_plugin/properties.cpp @@ -37,6 +37,7 @@ TEST_F(OVClassConfigTestCPU, smoke_PluginAllSupportedPropertiesAreAvailable) { RO_property(ov::device::capabilities.name()), RO_property(ov::device::type.name()), RO_property(ov::device::architecture.name()), + RO_property(ov::optimal_batch_size.name()), // read write RW_property(ov::num_streams.name()), RW_property(ov::affinity.name()), @@ -384,4 +385,14 @@ TEST_F(OVClassConfigTestCPU, smoke_PluginCheckCPUDeviceArchitecture) { #endif } +TEST_F(OVClassConfigTestCPU, smoke_CpuExceNetworkCheckCPUOptimalBatchSize) { + ov::Core ie; + ov::Any value; + ov::CompiledModel compiledModel; + + ASSERT_NO_THROW(compiledModel = ie.compile_model(model, deviceName)); + ASSERT_NO_THROW(value = compiledModel.get_property(ov::optimal_batch_size)); + ASSERT_EQ(value.as(), 1); +} + } // namespace