diff --git a/src/plugins/intel_gpu/src/plugin/plugin.cpp b/src/plugins/intel_gpu/src/plugin/plugin.cpp index c66c914a660..54630c5384a 100644 --- a/src/plugins/intel_gpu/src/plugin/plugin.cpp +++ b/src/plugins/intel_gpu/src/plugin/plugin.cpp @@ -524,10 +524,11 @@ Parameter Plugin::GetMetric(const std::string& name, const std::map cachingProperties; - cachingProperties.push_back(ov::PropertyName(ov::intel_gpu::uarch_version.name(), PropertyMutability::RO)); + cachingProperties.push_back(ov::PropertyName(ov::device::architecture.name(), PropertyMutability::RO)); cachingProperties.push_back(ov::PropertyName(ov::intel_gpu::execution_units_count.name(), PropertyMutability::RO)); cachingProperties.push_back(ov::PropertyName(ov::intel_gpu::driver_version.name(), PropertyMutability::RO)); - cachingProperties.push_back(ov::PropertyName(ov::intel_gpu::device_id.name(), PropertyMutability::RO)); + cachingProperties.push_back(ov::PropertyName(ov::inference_precision.name(), PropertyMutability::RW)); + cachingProperties.push_back(ov::PropertyName(ov::hint::execution_mode.name(), PropertyMutability::RW)); return decltype(ov::caching_properties)::value_type(cachingProperties); } else if (name == ov::intel_gpu::driver_version) { return decltype(ov::intel_gpu::driver_version)::value_type {device_info.driver_version}; diff --git a/src/tests/functional/plugin/gpu/CMakeLists.txt b/src/tests/functional/plugin/gpu/CMakeLists.txt index d663b20b86c..12df7f5b1ae 100644 --- a/src/tests/functional/plugin/gpu/CMakeLists.txt +++ b/src/tests/functional/plugin/gpu/CMakeLists.txt @@ -11,6 +11,7 @@ addIeTargetTest( ${CMAKE_CURRENT_SOURCE_DIR} INCLUDES ${CMAKE_CURRENT_SOURCE_DIR} + $/include/ DEPENDENCIES openvino_intel_gpu_plugin LINK_LIBRARIES diff --git a/src/tests/functional/plugin/gpu/shared_tests_instances/behavior/ov_plugin/core_integration.cpp b/src/tests/functional/plugin/gpu/shared_tests_instances/behavior/ov_plugin/core_integration.cpp index efe64919db2..cf85279d49e 100644 --- a/src/tests/functional/plugin/gpu/shared_tests_instances/behavior/ov_plugin/core_integration.cpp +++ b/src/tests/functional/plugin/gpu/shared_tests_instances/behavior/ov_plugin/core_integration.cpp @@ -6,6 +6,8 @@ #include "behavior/ov_plugin/core_integration.hpp" #include "openvino/runtime/intel_gpu/properties.hpp" +#include "cpp_interfaces/interface/ie_internal_plugin_config.hpp" +#include "intel_gpu/runtime/internal_properties.hpp" #ifdef _WIN32 # include "gpu/gpu_context_api_dx.hpp" @@ -811,6 +813,40 @@ INSTANTIATE_TEST_SUITE_P(smoke_OVClassHeteroExecutableNetworkGetMetricTest, OVClassLoadNetworkAfterCoreRecreateTest, ::testing::Values("GPU")); +using OVClassGetMetricTest_CACHING_PROPERTIES = OVClassBaseTestP; +TEST_P(OVClassGetMetricTest_CACHING_PROPERTIES, GetMetricAndPrintNoThrow) { + ov::Core ie = createCoreWithTemplate(); + std::vector caching_properties = {}; + const std::vector expected_properties = { + ov::device::architecture.name(), + ov::intel_gpu::execution_units_count.name(), + ov::intel_gpu::driver_version.name(), + ov::inference_precision.name(), + ov::hint::execution_mode.name(), + }; + + ASSERT_NO_THROW(caching_properties = ie.get_property(target_device, ov::caching_properties)); + + std::cout << "GPU Caching properties: " << std::endl; + for (auto& prop : caching_properties) { + std::cout << prop << std::endl; + } + + ASSERT_EQ(caching_properties.size(), expected_properties.size()); + + for (const auto& property_name : expected_properties) { + ASSERT_TRUE(std::find(caching_properties.begin(), + caching_properties.end(), + property_name) != caching_properties.end()); + } + + OV_ASSERT_PROPERTY_SUPPORTED(ov::caching_properties); +} + +INSTANTIATE_TEST_SUITE_P(nightly_OVClassGetMetricTest, + OVClassGetMetricTest_CACHING_PROPERTIES, + ::testing::Values("GPU")); + // GetConfig / SetConfig for specific device INSTANTIATE_TEST_SUITE_P(