From ca47ee76ef122a94b666e3ccc3c7979bbd9cd5a3 Mon Sep 17 00:00:00 2001 From: Stefania Hergane Date: Mon, 29 Sep 2025 13:34:38 +0000 Subject: [PATCH 1/3] [NPU] Extend ZeroTensorTests Signed-off-by: Stefania Hergane --- .../internal/backend/zero_tensor_tests.cpp | 18 ++- .../internal/backend/zero_tensor_tests.hpp | 122 ++++++++++-------- 2 files changed, 85 insertions(+), 55 deletions(-) diff --git a/src/plugins/intel_npu/tests/functional/internal/backend/zero_tensor_tests.cpp b/src/plugins/intel_npu/tests/functional/internal/backend/zero_tensor_tests.cpp index 5613d6aea4fa36..1e640155c0a9b0 100644 --- a/src/plugins/intel_npu/tests/functional/internal/backend/zero_tensor_tests.cpp +++ b/src/plugins/intel_npu/tests/functional/internal/backend/zero_tensor_tests.cpp @@ -12,9 +12,25 @@ using namespace ov::test::behavior; const std::vector configsInferRequestRunTests = {{}}; +const std::vector defaultTensorDataType = {ov::element::f32}; INSTANTIATE_TEST_SUITE_P(compatibility_smoke_BehaviorTest, ZeroTensorTests, ::testing::Combine(::testing::Values(ov::test::utils::DEVICE_NPU), - ::testing::ValuesIn(configsInferRequestRunTests)), + ::testing::ValuesIn(configsInferRequestRunTests), + ::testing::ValuesIn(defaultTensorDataType)), ZeroTensorTests::getTestCaseName); + +const std::vector supportedTensorDataTypes = { + ov::element::f32, ov::element::f16, ov::element::bf16, ov::element::f8e4m3, ov::element::f8e5m2, + ov::element::f8e8m0, ov::element::nf4, ov::element::u2, ov::element::u4, ov::element::i4, + ov::element::u8, ov::element::i8, ov::element::u16, ov::element::i16, ov::element::u32, + ov::element::i32, ov::element::u64, ov::element::i64, ov::element::f64, ov::element::boolean, +}; + +INSTANTIATE_TEST_SUITE_P(compatibility_smoke_BehaviorTest, + ZeroTensorTestsCheckDataType, + ::testing::Combine(::testing::Values(ov::test::utils::DEVICE_NPU), + ::testing::ValuesIn(configsInferRequestRunTests), + ::testing::ValuesIn(supportedTensorDataTypes)), + ZeroTensorTestsCheckDataType::getTestCaseName); diff --git a/src/plugins/intel_npu/tests/functional/internal/backend/zero_tensor_tests.hpp b/src/plugins/intel_npu/tests/functional/internal/backend/zero_tensor_tests.hpp index 79e1f0b349c382..4254185f77ce99 100644 --- a/src/plugins/intel_npu/tests/functional/internal/backend/zero_tensor_tests.hpp +++ b/src/plugins/intel_npu/tests/functional/internal/backend/zero_tensor_tests.hpp @@ -33,9 +33,10 @@ #include "zero_backend.hpp" #include "zero_tensor.hpp" -using CompilationParams = std::tuple; +using CompilationParamsAndTensorDataType = std::tuple; using ::testing::AllOf; using ::testing::HasSubstr; @@ -44,19 +45,21 @@ namespace ov { namespace test { namespace behavior { class ZeroTensorTests : public ov::test::behavior::OVPluginTestBase, - public testing::WithParamInterface { + public testing::WithParamInterface { protected: std::shared_ptr core = utils::PluginCache::get().core(); ov::AnyMap configuration; + ov::element::Type element_type; std::shared_ptr<::intel_npu::ZeroInitStructsHolder> init_struct; std::shared_ptr<::intel_npu::OptionsDesc> options = std::make_shared<::intel_npu::OptionsDesc>(); ::intel_npu::Config npu_config = ::intel_npu::Config(options); public: - static std::string getTestCaseName(testing::TestParamInfo obj) { + static std::string getTestCaseName(const testing::TestParamInfo& obj) { std::string targetDevice; ov::AnyMap configuration; - std::tie(targetDevice, configuration) = obj.param; + ov::element::Type type; + std::tie(targetDevice, configuration, type) = obj.param; std::replace(targetDevice.begin(), targetDevice.end(), ':', '_'); targetDevice = ov::test::utils::getTestsPlatformFromEnvironmentOr(ov::test::utils::DEVICE_NPU); @@ -69,12 +72,15 @@ class ZeroTensorTests : public ov::test::behavior::OVPluginTestBase, configItem.second.print(result); } } + if (!type.get_type_name().empty()) { + result << "tensorDataType=" << type.get_type_name() << "_"; + } return result.str(); } void SetUp() override { - std::tie(target_device, configuration) = this->GetParam(); + std::tie(target_device, configuration, element_type) = this->GetParam(); SKIP_IF_CURRENT_TEST_IS_DISABLED() OVPluginTestBase::SetUp(); @@ -95,12 +101,12 @@ TEST_P(ZeroTensorTests, AllocateDeleteAllocateZeroTensor) { SKIP_IF_CURRENT_TEST_IS_DISABLED() auto shape = Shape{1, 2, 2, 2}; - auto zero_tensor = std::make_shared<::intel_npu::ZeroTensor>(init_struct, npu_config, element::f32, shape, true); + auto zero_tensor = std::make_shared<::intel_npu::ZeroTensor>(init_struct, npu_config, element_type, shape, true); ASSERT_TRUE(::intel_npu::zeroUtils::memory_was_allocated_in_the_same_l0_context(init_struct->getContext(), zero_tensor->data())); zero_tensor = {}; - zero_tensor = std::make_shared<::intel_npu::ZeroTensor>(init_struct, npu_config, element::f32, shape, false); + zero_tensor = std::make_shared<::intel_npu::ZeroTensor>(init_struct, npu_config, element_type, shape, false); ASSERT_TRUE(::intel_npu::zeroUtils::memory_was_allocated_in_the_same_l0_context(init_struct->getContext(), zero_tensor->data())); @@ -115,10 +121,10 @@ TEST_P(ZeroTensorTests, CheckSetSmallerShape) { auto shape = Shape{1, 20, 20, 20}; auto shape_size = ov::shape_size(shape); - auto zero_tensor = std::make_shared<::intel_npu::ZeroTensor>(init_struct, npu_config, element::f32, shape, true); + auto zero_tensor = std::make_shared<::intel_npu::ZeroTensor>(init_struct, npu_config, element_type, shape, true); EXPECT_EQ(shape, zero_tensor->get_shape()); EXPECT_EQ(shape_size, zero_tensor->get_size()); - EXPECT_EQ(shape_size * sizeof(ov::element::f32), zero_tensor->get_byte_size()); + EXPECT_EQ(shape_size * element_type.size(), zero_tensor->get_byte_size()); auto data = zero_tensor->data(); @@ -128,7 +134,7 @@ TEST_P(ZeroTensorTests, CheckSetSmallerShape) { zero_tensor->set_shape(new_shape); EXPECT_EQ(new_shape, zero_tensor->get_shape()); EXPECT_EQ(new_shape_size, zero_tensor->get_size()); - EXPECT_EQ(new_shape_size * sizeof(ov::element::f32), zero_tensor->get_byte_size()); + EXPECT_EQ(new_shape_size * element_type.size(), zero_tensor->get_byte_size()); EXPECT_EQ(data, zero_tensor->data()); ASSERT_TRUE(::intel_npu::zeroUtils::memory_was_allocated_in_the_same_l0_context(init_struct->getContext(), zero_tensor->data())); @@ -139,10 +145,10 @@ TEST_P(ZeroTensorTests, CheckSetBiggerShape) { auto shape = Shape{1, 20, 20, 20}; auto shape_size = ov::shape_size(shape); - auto zero_tensor = std::make_shared<::intel_npu::ZeroTensor>(init_struct, npu_config, element::f32, shape, false); + auto zero_tensor = std::make_shared<::intel_npu::ZeroTensor>(init_struct, npu_config, element_type, shape, false); EXPECT_EQ(shape, zero_tensor->get_shape()); EXPECT_EQ(shape_size, zero_tensor->get_size()); - EXPECT_EQ(shape_size * sizeof(ov::element::f32), zero_tensor->get_byte_size()); + EXPECT_EQ(shape_size * element_type.size(), zero_tensor->get_byte_size()); auto new_shape = Shape{1, 50, 50, 50}; auto new_shape_size = ov::shape_size(new_shape); @@ -152,7 +158,7 @@ TEST_P(ZeroTensorTests, CheckSetBiggerShape) { zero_tensor->set_shape(new_shape); EXPECT_EQ(new_shape, zero_tensor->get_shape()); EXPECT_EQ(new_shape_size, zero_tensor->get_size()); - EXPECT_EQ(new_shape_size * sizeof(ov::element::f32), zero_tensor->get_byte_size()); + EXPECT_EQ(new_shape_size * element_type.size(), zero_tensor->get_byte_size()); ASSERT_TRUE(zero_tensor->memory_address_changed()); ASSERT_TRUE(::intel_npu::zeroUtils::memory_was_allocated_in_the_same_l0_context(init_struct->getContext(), zero_tensor->data())); @@ -164,14 +170,13 @@ TEST_P(ZeroTensorTests, CheckSetBiggerShape) { TEST_P(ZeroTensorTests, CheckIsContinuousZeroTensorScalar) { SKIP_IF_CURRENT_TEST_IS_DISABLED() - auto zero_tensor = - std::make_shared<::intel_npu::ZeroTensor>(init_struct, npu_config, ov::element::f32, Shape{}, true); + auto zero_tensor = std::make_shared<::intel_npu::ZeroTensor>(init_struct, npu_config, element_type, Shape{}, true); auto data = zero_tensor->data(); auto strides = zero_tensor->get_strides(); ov::Tensor view_tensor; - view_tensor = ov::Tensor(ov::element::f32, ov::Shape{}, data, strides); + view_tensor = ov::Tensor(element_type, ov::Shape{}, data, strides); EXPECT_EQ(view_tensor.is_continuous(), true); } @@ -179,17 +184,17 @@ TEST_P(ZeroTensorTests, CheckIsContinuousHostTensor1Dimension) { SKIP_IF_CURRENT_TEST_IS_DISABLED() auto zero_tensor = - std::make_shared<::intel_npu::ZeroTensor>(init_struct, npu_config, ov::element::f32, Shape{128}, true); + std::make_shared<::intel_npu::ZeroTensor>(init_struct, npu_config, element_type, Shape{128}, true); auto data = zero_tensor->data(); auto strides = zero_tensor->get_strides(); ov::Tensor view_tensor; - view_tensor = ov::Tensor(ov::element::f32, ov::Shape{128}, data, strides); + view_tensor = ov::Tensor(element_type, ov::Shape{128}, data, strides); EXPECT_EQ(view_tensor.is_continuous(), true); - view_tensor = ov::Tensor(ov::element::f32, ov::Shape{16}, data, strides); + view_tensor = ov::Tensor(element_type, ov::Shape{16}, data, strides); EXPECT_EQ(view_tensor.is_continuous(), true); } @@ -197,22 +202,22 @@ TEST_P(ZeroTensorTests, CheckIsContinuousZeroTensor2Dimensions) { SKIP_IF_CURRENT_TEST_IS_DISABLED() auto zero_tensor = - std::make_shared<::intel_npu::ZeroTensor>(init_struct, npu_config, ov::element::f32, Shape{32, 128}, true); + std::make_shared<::intel_npu::ZeroTensor>(init_struct, npu_config, element_type, Shape{32, 128}, true); auto data = zero_tensor->data(); auto strides = zero_tensor->get_strides(); ov::Tensor view_tensor; - view_tensor = ov::Tensor(ov::element::f32, Shape{16, 128}, data, strides); + view_tensor = ov::Tensor(element_type, Shape{16, 128}, data, strides); EXPECT_EQ(view_tensor.is_continuous(), true); - view_tensor = ov::Tensor(ov::element::f32, Shape{1, 128}, data, strides); + view_tensor = ov::Tensor(element_type, Shape{1, 128}, data, strides); EXPECT_EQ(view_tensor.is_continuous(), true); - view_tensor = ov::Tensor(ov::element::f32, Shape{1, 16}, data, strides); + view_tensor = ov::Tensor(element_type, Shape{1, 16}, data, strides); EXPECT_EQ(view_tensor.is_continuous(), true); - view_tensor = ov::Tensor(ov::element::f32, Shape{2, 16}, data, strides); + view_tensor = ov::Tensor(element_type, Shape{2, 16}, data, strides); EXPECT_EQ(view_tensor.is_continuous(), false); } @@ -220,66 +225,63 @@ TEST_P(ZeroTensorTests, CheckIsContinuousZeroTensor3Dimensions) { SKIP_IF_CURRENT_TEST_IS_DISABLED() auto zero_tensor = - std::make_shared<::intel_npu::ZeroTensor>(init_struct, npu_config, ov::element::f32, Shape{5, 32, 128}, true); + std::make_shared<::intel_npu::ZeroTensor>(init_struct, npu_config, element_type, Shape{5, 32, 128}, true); auto data = zero_tensor->data(); auto strides = zero_tensor->get_strides(); ov::Tensor view_tensor; - view_tensor = ov::Tensor(ov::element::f32, Shape{2, 32, 128}, data, strides); + view_tensor = ov::Tensor(element_type, Shape{2, 32, 128}, data, strides); EXPECT_EQ(view_tensor.is_continuous(), true); - view_tensor = ov::Tensor(ov::element::f32, Shape{2, 16, 128}, data, strides); + view_tensor = ov::Tensor(element_type, Shape{2, 16, 128}, data, strides); EXPECT_EQ(view_tensor.is_continuous(), false); - view_tensor = ov::Tensor(ov::element::f32, Shape{1, 1, 128}, data, strides); + view_tensor = ov::Tensor(element_type, Shape{1, 1, 128}, data, strides); EXPECT_EQ(view_tensor.is_continuous(), true); - view_tensor = ov::Tensor(ov::element::f32, Shape{1, 1, 64}, data, strides); + view_tensor = ov::Tensor(element_type, Shape{1, 1, 64}, data, strides); EXPECT_EQ(view_tensor.is_continuous(), true); - view_tensor = ov::Tensor(ov::element::f32, Shape{1, 16, 128}, data, strides); + view_tensor = ov::Tensor(element_type, Shape{1, 16, 128}, data, strides); EXPECT_EQ(view_tensor.is_continuous(), true); } TEST_P(ZeroTensorTests, CheckIsContinuousZeroTensor4Dimensions) { SKIP_IF_CURRENT_TEST_IS_DISABLED() - auto zero_tensor = std::make_shared<::intel_npu::ZeroTensor>(init_struct, - npu_config, - ov::element::f32, - Shape{3, 5, 32, 128}, - true); + auto zero_tensor = + std::make_shared<::intel_npu::ZeroTensor>(init_struct, npu_config, element_type, Shape{3, 5, 32, 128}, true); auto data = zero_tensor->data(); auto strides = zero_tensor->get_strides(); ov::Tensor view_tensor; - view_tensor = ov::Tensor(ov::element::f32, Shape{1, 2, 32, 128}, data, strides); + view_tensor = ov::Tensor(element_type, Shape{1, 2, 32, 128}, data, strides); EXPECT_EQ(view_tensor.is_continuous(), true); - view_tensor = ov::Tensor(ov::element::f32, Shape{2, 5, 32, 128}, data, strides); + view_tensor = ov::Tensor(element_type, Shape{2, 5, 32, 128}, data, strides); EXPECT_EQ(view_tensor.is_continuous(), true); - view_tensor = ov::Tensor(ov::element::f32, Shape{2, 2, 32, 128}, data, strides); + view_tensor = ov::Tensor(element_type, Shape{2, 2, 32, 128}, data, strides); EXPECT_EQ(view_tensor.is_continuous(), false); - view_tensor = ov::Tensor(ov::element::f32, Shape{1, 2, 5, 128}, data, strides); + view_tensor = ov::Tensor(element_type, Shape{1, 2, 5, 128}, data, strides); EXPECT_EQ(view_tensor.is_continuous(), false); - view_tensor = ov::Tensor(ov::element::f32, Shape{3, 5, 32, 64}, data, strides); + view_tensor = ov::Tensor(element_type, Shape{3, 5, 32, 64}, data, strides); EXPECT_EQ(view_tensor.is_continuous(), false); - view_tensor = ov::Tensor(ov::element::f32, Shape{1, 1, 16, 128}, data, strides); + view_tensor = ov::Tensor(element_type, Shape{1, 1, 16, 128}, data, strides); EXPECT_EQ(view_tensor.is_continuous(), true); - view_tensor = ov::Tensor(ov::element::f32, Shape{2, 1, 16, 128}, data, strides); + view_tensor = ov::Tensor(element_type, Shape{2, 1, 16, 128}, data, strides); EXPECT_EQ(view_tensor.is_continuous(), false); - view_tensor = ov::Tensor(ov::element::f32, Shape{1, 1, 1, 128}, data, strides); + view_tensor = ov::Tensor(element_type, Shape{1, 1, 1, 128}, data, strides); EXPECT_EQ(view_tensor.is_continuous(), true); - view_tensor = ov::Tensor(ov::element::f32, Shape{1, 1, 1, 32}, data, strides); + view_tensor = ov::Tensor(element_type, Shape{1, 1, 1, 32}, data, strides); EXPECT_EQ(view_tensor.is_continuous(), true); } @@ -289,8 +291,8 @@ TEST_P(ZeroTensorTests, CopyDefaultTensorExpectedThrow) { auto shape = Shape{1, 2, 2, 2}; // shape size is unaligned to standard page size, expect to fail - auto data = static_cast(::operator new(ov::shape_size(shape) * sizeof(ov::element::f32))); - auto default_tensor = make_tensor(ov::element::f32, shape, data); + auto data = static_cast(::operator new(ov::shape_size(shape) * element_type.size())); + auto default_tensor = make_tensor(element_type, shape, data); ASSERT_THROW(auto zero_tensor = std::make_shared<::intel_npu::ZeroTensor>(init_struct, default_tensor, npu_config), ::intel_npu::ZeroTensorException); @@ -302,8 +304,7 @@ TEST_P(ZeroTensorTests, CopyZeroTensorAndKeepAlive) { auto shape = Shape{1, 2, 2, 2}; - auto zero_tensor = - std::make_shared<::intel_npu::ZeroTensor>(init_struct, npu_config, ov::element::f32, shape, true); + auto zero_tensor = std::make_shared<::intel_npu::ZeroTensor>(init_struct, npu_config, element_type, shape, true); auto copy_zero_tensor = std::make_shared<::intel_npu::ZeroTensor>(init_struct, zero_tensor, npu_config); @@ -325,8 +326,7 @@ TEST_P(ZeroTensorTests, CopyHostTensorAndKeepAlive) { auto zero_context = std::make_shared<::intel_npu::RemoteContextImpl>(engine_backend); auto shape = Shape{1, 2, 2, 2}; - auto host_tensor = - std::make_shared<::intel_npu::ZeroHostTensor>(zero_context, init_struct, ov::element::f32, shape); + auto host_tensor = std::make_shared<::intel_npu::ZeroHostTensor>(zero_context, init_struct, element_type, shape); auto copy_zero_tensor = std::make_shared<::intel_npu::ZeroTensor>(init_struct, host_tensor, npu_config); @@ -349,7 +349,7 @@ TEST_P(ZeroTensorTests, CopyRemoteTensorAndKeepAlive) { auto shape = Shape{1, 2, 2, 2}; auto remote_tensor = - std::make_shared<::intel_npu::ZeroRemoteTensor>(zero_context, init_struct, ov::element::f32, shape); + std::make_shared<::intel_npu::ZeroRemoteTensor>(zero_context, init_struct, element_type, shape); auto copy_zero_tensor = std::make_shared<::intel_npu::ZeroTensor>(init_struct, remote_tensor, npu_config); @@ -375,7 +375,7 @@ TEST_P(ZeroTensorTests, CopyRemoteTensorFromAnotherContextThrow) { {ov::intel_npu::tensor_type.name(), {ov::intel_npu::TensorType::INPUT}}}; auto context = core->create_context(target_device, params); - auto remote_tensor = context.create_tensor(ov::element::f32, shape); + auto remote_tensor = context.create_tensor(element_type, shape); auto remote_tensor_impl = get_tensor_impl(remote_tensor); ASSERT_THROW( @@ -383,6 +383,20 @@ TEST_P(ZeroTensorTests, CopyRemoteTensorFromAnotherContextThrow) { ::intel_npu::ZeroTensorException); } +using ZeroTensorTestsCheckDataType = ZeroTensorTests; + +TEST_P(ZeroTensorTestsCheckDataType, CopyZeroTensorAndCheckTensorDataType) { + SKIP_IF_CURRENT_TEST_IS_DISABLED() + + auto shape = Shape{1, 2, 2, 2}; + + auto zero_tensor = std::make_shared<::intel_npu::ZeroTensor>(init_struct, npu_config, element_type, shape, true); + EXPECT_EQ(element_type, zero_tensor->get_element_type()); + + auto copy_zero_tensor = std::make_shared<::intel_npu::ZeroTensor>(init_struct, zero_tensor, npu_config); + EXPECT_EQ(zero_tensor->get_element_type(), copy_zero_tensor->get_element_type()); +} + } // namespace behavior } // namespace test } // namespace ov From 40da6dd7f5854649791f974984bb2df668b21f21 Mon Sep 17 00:00:00 2001 From: Stefania Hergane Date: Mon, 6 Oct 2025 12:55:34 +0000 Subject: [PATCH 2/3] [NPU] Update func tests OVInferRequestIOTensorSetPrecisionTestNPU Generate model with same type as precision tested, so that set_tensor is called for all tested precisions Signed-off-by: Stefania Hergane --- .../internal/overload/ov_infer_request/io_tensor.hpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/plugins/intel_npu/tests/functional/internal/overload/ov_infer_request/io_tensor.hpp b/src/plugins/intel_npu/tests/functional/internal/overload/ov_infer_request/io_tensor.hpp index 024785c30547b2..68d2725ca5c2cb 100644 --- a/src/plugins/intel_npu/tests/functional/internal/overload/ov_infer_request/io_tensor.hpp +++ b/src/plugins/intel_npu/tests/functional/internal/overload/ov_infer_request/io_tensor.hpp @@ -226,16 +226,17 @@ TEST_P(OVInferRequestIOTensorTestNPU, InferStaticNetworkSetChangedOutputTensorTh struct OVInferRequestIOTensorSetPrecisionTestNPU : OVInferRequestIOTensorSetPrecisionTest { void SetUp() override { + const ov::Shape shape = {1, 2, 32, 32}; std::tie(element_type, target_device, config) = this->GetParam(); SKIP_IF_CURRENT_TEST_IS_DISABLED() APIBaseTest::SetUp(); - function = ov::test::utils::make_conv_pool_relu(); + function = ov::test::utils::make_split_concat(shape, element_type); execNet = core->compile_model(function, target_device, config); req = execNet.create_infer_request(); } }; -TEST_P(OVInferRequestIOTensorSetPrecisionTestNPU, CanSetInBlobWithDifferentPrecision) { +TEST_P(OVInferRequestIOTensorSetPrecisionTestNPU, CanSetOutBlobWithDifferentPrecision) { for (auto&& output : execNet.outputs()) { auto output_tensor = utils::create_and_fill_tensor(element_type, output.get_shape()); if (output.get_element_type() == element_type) { @@ -246,7 +247,7 @@ TEST_P(OVInferRequestIOTensorSetPrecisionTestNPU, CanSetInBlobWithDifferentPreci } } -TEST_P(OVInferRequestIOTensorSetPrecisionTestNPU, CanSetOutBlobWithDifferentPrecision) { +TEST_P(OVInferRequestIOTensorSetPrecisionTestNPU, CanSetInBlobWithDifferentPrecision) { for (auto&& input : execNet.inputs()) { auto input_tensor = utils::create_and_fill_tensor(element_type, input.get_shape()); if (input.get_element_type() == element_type) { From 4c6572cc550e459cc344df1d1c2b137c4a61b57b Mon Sep 17 00:00:00 2001 From: Stefania Hergane Date: Mon, 6 Oct 2025 14:05:29 +0000 Subject: [PATCH 3/3] [NPU] Update skip config with supported precision tests Signed-off-by: Stefania Hergane --- .../behavior/ov_infer_request/io_tensor.cpp | 2 +- .../npu_skip_func_tests.xml | 46 ++++++++++++++++--- 2 files changed, 40 insertions(+), 8 deletions(-) diff --git a/src/plugins/intel_npu/tests/functional/shared_tests_instances/behavior/ov_infer_request/io_tensor.cpp b/src/plugins/intel_npu/tests/functional/shared_tests_instances/behavior/ov_infer_request/io_tensor.cpp index 1fbc2efeec97ab..0a119f79799f5b 100644 --- a/src/plugins/intel_npu/tests/functional/shared_tests_instances/behavior/ov_infer_request/io_tensor.cpp +++ b/src/plugins/intel_npu/tests/functional/shared_tests_instances/behavior/ov_infer_request/io_tensor.cpp @@ -100,7 +100,7 @@ INSTANTIATE_TEST_SUITE_P(compatibility_smoke_BehaviorTests, ::testing::ValuesIn(configs)), ov::test::utils::appendPlatformTypeTestName); -INSTANTIATE_TEST_SUITE_P(compatibility_smoke_Mutli_BehaviorTests, +INSTANTIATE_TEST_SUITE_P(compatibility_smoke_Multi_BehaviorTests, OVInferRequestIOTensorSetPrecisionTestNPU, ::testing::Combine(::testing::ValuesIn(prcs), ::testing::Values(ov::test::utils::DEVICE_MULTI), diff --git a/src/plugins/intel_npu/tests/functional/shared_tests_instances/npu_skip_func_tests.xml b/src/plugins/intel_npu/tests/functional/shared_tests_instances/npu_skip_func_tests.xml index 6abdf0dbac90ce..cea545399231b6 100644 --- a/src/plugins/intel_npu/tests/functional/shared_tests_instances/npu_skip_func_tests.xml +++ b/src/plugins/intel_npu/tests/functional/shared_tests_instances/npu_skip_func_tests.xml @@ -196,9 +196,29 @@ Example: Tests with unsupported precision - .*InferRequestCheckTensorPrecision.*type=boolean.* - .*InferRequestCheckTensorPrecision.*type=f64.* - .*InferRequestCheckTensorPrecision.*type=u1\D.* + .*InferRequestCheckTensorPrecision.*type=boolean.*device=MULTI.* + .*InferRequestCheckTensorPrecision.*type=boolean.*device=AUTO.* + .*InferRequestIOTensorSetPrecisionTest.*type=boolean.*device=MULTI.* + .*InferRequestIOTensorSetPrecisionTest.*type=boolean.*device=AUTO.* + + + + + + Data types not supported by NPU3720 PV Driver. + + 3720 + + + .*InferRequestIOTensorSetPrecisionTest.*type=boolean.* + .*InferRequestIOTensorSetPrecisionTest.*type=i4.* + .*InferRequestIOTensorSetPrecisionTest.*type=u4.* + .*InferRequestIOTensorSetPrecisionTest.*type=i16.* + .*InferRequestIOTensorSetPrecisionTest.*type=u16.* + .*InferRequestIOTensorSetPrecisionTest.*type=bf16.* + .*InferRequestIOTensorSetPrecisionTest.*type=i64.* + .*InferRequestIOTensorSetPrecisionTest.*type=u64.* + .*InferRequestIOTensorSetPrecisionTest.*type=f64.* @@ -582,9 +602,6 @@ Example: 3720 - .*smoke.*_BehaviorTests/OVInferRequestCheckTensorPrecision.*type=i16.* - .*smoke.*_BehaviorTests/OVInferRequestCheckTensorPrecision.*type=u16.* - .*smoke.*_BehaviorTests/OVInferRequestCheckTensorPrecision.*type=u64.* .*smoke_OVClassLoadNetworkTest/OVClassLoadNetworkTestNPU.* @@ -782,12 +799,27 @@ Example: - Skip tests with u2 precision not supported on NPU3720. + Data type u1/u2 not supported by NPU3720. 3720 + .*InferRequestCheckTensorPrecision.*type=u1\D.* .*InferRequestCheckTensorPrecision.*type=u2.* + .*InferRequestIOTensorSetPrecisionTest.*type=u1\D.* + .*InferRequestIOTensorSetPrecisionTest.*type=u2.* + + + + + + Data type u1 not supported by NPU4000. + + 4000 + + + .*InferRequestCheckTensorPrecision.*type=u1\D.* + .*InferRequestIOTensorSetPrecisionTest.*type=u1\D.*