From 1ceff7ba72196b2de29266a29848d6eeab62f70e Mon Sep 17 00:00:00 2001 From: andersendsa <199610634+andersendsa@users.noreply.github.com> Date: Thu, 25 Jun 2026 15:28:00 +0000 Subject: [PATCH] Allow CPU_RUNTIME_CACHE_CAPACITY in plugin_config OpenVINO's `CPU_RUNTIME_CACHE_CAPACITY` is an internal parameter that isn't returned by `get_property(pluginName, ov::supported_properties)`. This caused OVMS validation to fail when users attempted to configure it via `plugin_config`. This commit whitelists `CPU_RUNTIME_CACHE_CAPACITY` during validation (similar to `ENABLE_MMAP`) so that the configuration is passed down to OpenVINO Runtime, where it is supported. --- src/ov_utils.cpp | 3 ++- src/test/ov_utils_test.cpp | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/ov_utils.cpp b/src/ov_utils.cpp index 92ac74a168..282e895aee 100644 --- a/src/ov_utils.cpp +++ b/src/ov_utils.cpp @@ -134,7 +134,8 @@ Status validatePluginConfiguration(const plugin_config_t& pluginConfig, const st insertSupportedKeys(pluginSupportedConfigKeys, targetDevice, ieCore); } - pluginSupportedConfigKeys.insert("ENABLE_MMAP"); // WA: always supported + pluginSupportedConfigKeys.insert("ENABLE_MMAP"); // WA: always supported + pluginSupportedConfigKeys.insert("CPU_RUNTIME_CACHE_CAPACITY"); // WA: always supported for (auto& config : pluginConfig) { if (std::find(pluginSupportedConfigKeys.begin(), pluginSupportedConfigKeys.end(), config.first) == pluginSupportedConfigKeys.end()) { diff --git a/src/test/ov_utils_test.cpp b/src/test/ov_utils_test.cpp index 579426b99d..d683a2f5ea 100644 --- a/src/test/ov_utils_test.cpp +++ b/src/test/ov_utils_test.cpp @@ -240,3 +240,13 @@ TEST(OVUtils, ValidatePluginConfigurationAllowEnableMmap) { auto model = ieCore.read_model(std::filesystem::current_path().u8string() + "/src/test/dummy/1/dummy.xml", {}, pluginConfig); auto compiledModel = ieCore.compile_model(model, "CPU", pluginConfig); } + +TEST(OVUtils, ValidatePluginConfigurationAllowCPURuntimeCacheCapacity) { + ov::Core ieCore; + ovms::ModelConfig config; + config.setTargetDevice("CPU"); + config.setPluginConfig({{"CPU_RUNTIME_CACHE_CAPACITY", "0"}}); + ovms::plugin_config_t pluginConfig = ovms::ModelInstance::prepareDefaultPluginConfig(config); + auto status = ovms::validatePluginConfiguration(pluginConfig, "CPU", ieCore); + EXPECT_TRUE(status.ok()); +}