|
6 | 6 | #include "common_test_utils/test_common.hpp"
|
7 | 7 | #include "common_test_utils/common_utils.hpp"
|
8 | 8 | #include "common_test_utils/node_builders/activation.hpp"
|
| 9 | +#include "openvino/core/partial_shape.hpp" |
9 | 10 | #include "openvino/core/preprocess/pre_post_process.hpp"
|
| 11 | +#include "openvino/op/parameter.hpp" |
| 12 | +#include "openvino/op/relu.hpp" |
| 13 | +#include "openvino/op/result.hpp" |
10 | 14 | #include "openvino/runtime/core.hpp"
|
11 | 15 | #include "transformations/utils/utils.hpp"
|
12 | 16 | #include "shared_test_classes/base/ov_subgraph.hpp"
|
@@ -369,4 +373,26 @@ TEST(TensorTest, smoke_outputTensorShapesForDynamicInput) {
|
369 | 373 | OV_ASSERT_NO_THROW(inf_req.infer());
|
370 | 374 | ASSERT_EQ(inf_req.get_output_tensor().get_shape(), output3_shape);
|
371 | 375 | }
|
| 376 | + |
| 377 | +TEST(TensorTest, smoke_canShareTensorIfModelsFromDifferentCores) { |
| 378 | + auto core1 = ov::Core(); |
| 379 | + auto core2 = ov::Core(); |
| 380 | + |
| 381 | + auto param = std::make_shared<ov::op::v0::Parameter>(ov::element::f32, ov::PartialShape{4, 8}); |
| 382 | + auto relu = std::make_shared<ov::op::v0::Relu>(param); |
| 383 | + auto result = std::make_shared<ov::op::v0::Result>(relu); |
| 384 | + auto model = std::make_shared<ov::Model>(ov::ResultVector{result}, ov::ParameterVector{param}); |
| 385 | + |
| 386 | + auto compiled_model1 = core1.compile_model(model, ov::test::utils::DEVICE_GPU); |
| 387 | + auto compiled_model2 = core2.compile_model(model, ov::test::utils::DEVICE_GPU); |
| 388 | + |
| 389 | + auto request1 = compiled_model1.create_infer_request(); |
| 390 | + auto request2 = compiled_model2.create_infer_request(); |
| 391 | + |
| 392 | + request2.set_input_tensor(request1.get_output_tensor()); |
| 393 | + request2.set_output_tensor(request1.get_input_tensor()); |
| 394 | + |
| 395 | + OV_ASSERT_NO_THROW(request1.infer()); |
| 396 | + OV_ASSERT_NO_THROW(request2.infer()); |
| 397 | +} |
372 | 398 | } // namespace
|
0 commit comments