@@ -93,6 +93,134 @@ class RemoteRunTests : public ov::test::behavior::OVPluginTestBase,
93
93
}
94
94
};
95
95
96
+ TEST_P (RemoteRunTests, CheckIsContinuousHostTensorScalar) {
97
+ // Skip test according to plugin specific disabledTestPatterns() (if any)
98
+ SKIP_IF_CURRENT_TEST_IS_DISABLED ()
99
+
100
+ auto zero_context = core->get_default_context (target_device);
101
+
102
+ auto host_tensor = zero_context.create_host_tensor (ov::element::f32, Shape{});
103
+ auto data = host_tensor.data ();
104
+ auto strides = host_tensor.get_strides ();
105
+
106
+ ov::Tensor view_tensor;
107
+
108
+ view_tensor = ov::Tensor (ov::element::f32, ov::Shape{}, data, strides);
109
+ EXPECT_EQ (view_tensor.is_continuous (), true );
110
+ }
111
+
112
+ TEST_P (RemoteRunTests, CheckIsContinuousHostTensor1Dimension) {
113
+ // Skip test according to plugin specific disabledTestPatterns() (if any)
114
+ SKIP_IF_CURRENT_TEST_IS_DISABLED ()
115
+
116
+ auto zero_context = core->get_default_context (target_device);
117
+
118
+ auto host_tensor = zero_context.create_host_tensor (ov::element::f32, Shape{128 });
119
+ auto data = host_tensor.data ();
120
+ auto strides = host_tensor.get_strides ();
121
+
122
+ ov::Tensor view_tensor;
123
+
124
+ view_tensor = ov::Tensor (ov::element::f32, ov::Shape{128 }, data, strides);
125
+ EXPECT_EQ (view_tensor.is_continuous (), true );
126
+
127
+ view_tensor = ov::Tensor (ov::element::f32, ov::Shape{16 }, data, strides);
128
+ EXPECT_EQ (view_tensor.is_continuous (), true );
129
+ }
130
+
131
+ TEST_P (RemoteRunTests, CheckIsContinuousHostTensor2Dimensions) {
132
+ // Skip test according to plugin specific disabledTestPatterns() (if any)
133
+ SKIP_IF_CURRENT_TEST_IS_DISABLED ()
134
+
135
+ auto zero_context = core->get_default_context (target_device);
136
+
137
+ auto host_tensor = zero_context.create_host_tensor (ov::element::f32, Shape{32 , 128 });
138
+ auto data = host_tensor.data ();
139
+ auto strides = host_tensor.get_strides ();
140
+
141
+ ov::Tensor view_tensor;
142
+
143
+ view_tensor = ov::Tensor (ov::element::f32, Shape{16 , 128 }, data, strides);
144
+ EXPECT_EQ (view_tensor.is_continuous (), true );
145
+
146
+ view_tensor = ov::Tensor (ov::element::f32, Shape{1 , 128 }, data, strides);
147
+ EXPECT_EQ (view_tensor.is_continuous (), true );
148
+
149
+ view_tensor = ov::Tensor (ov::element::f32, Shape{1 , 16 }, data, strides);
150
+ EXPECT_EQ (view_tensor.is_continuous (), true );
151
+
152
+ view_tensor = ov::Tensor (ov::element::f32, Shape{2 , 16 }, data, strides);
153
+ EXPECT_EQ (view_tensor.is_continuous (), false );
154
+ }
155
+
156
+ TEST_P (RemoteRunTests, CheckIsContinuousHostTensor3Dimensions) {
157
+ // Skip test according to plugin specific disabledTestPatterns() (if any)
158
+ SKIP_IF_CURRENT_TEST_IS_DISABLED ()
159
+
160
+ auto zero_context = core->get_default_context (target_device);
161
+
162
+ auto host_tensor = zero_context.create_host_tensor (ov::element::f32, Shape{5 , 32 , 128 });
163
+ auto data = host_tensor.data ();
164
+ auto strides = host_tensor.get_strides ();
165
+
166
+ ov::Tensor view_tensor;
167
+
168
+ view_tensor = ov::Tensor (ov::element::f32, Shape{2 , 32 , 128 }, data, strides);
169
+ EXPECT_EQ (view_tensor.is_continuous (), true );
170
+
171
+ view_tensor = ov::Tensor (ov::element::f32, Shape{2 , 16 , 128 }, data, strides);
172
+ EXPECT_EQ (view_tensor.is_continuous (), false );
173
+
174
+ view_tensor = ov::Tensor (ov::element::f32, Shape{1 , 1 , 128 }, data, strides);
175
+ EXPECT_EQ (view_tensor.is_continuous (), true );
176
+
177
+ view_tensor = ov::Tensor (ov::element::f32, Shape{1 , 1 , 64 }, data, strides);
178
+ EXPECT_EQ (view_tensor.is_continuous (), true );
179
+
180
+ view_tensor = ov::Tensor (ov::element::f32, Shape{1 , 16 , 128 }, data, strides);
181
+ EXPECT_EQ (view_tensor.is_continuous (), true );
182
+ }
183
+
184
+ TEST_P (RemoteRunTests, CheckIsContinuousHostTensor4Dimensions) {
185
+ // Skip test according to plugin specific disabledTestPatterns() (if any)
186
+ SKIP_IF_CURRENT_TEST_IS_DISABLED ()
187
+
188
+ auto zero_context = core->get_default_context (target_device);
189
+
190
+ auto host_tensor = zero_context.create_host_tensor (ov::element::f32, Shape{3 , 5 , 32 , 128 });
191
+ auto data = host_tensor.data ();
192
+ auto strides = host_tensor.get_strides ();
193
+
194
+ ov::Tensor view_tensor;
195
+
196
+ view_tensor = ov::Tensor (ov::element::f32, Shape{1 , 2 , 32 , 128 }, data, strides);
197
+ EXPECT_EQ (view_tensor.is_continuous (), true );
198
+
199
+ view_tensor = ov::Tensor (ov::element::f32, Shape{2 , 5 , 32 , 128 }, data, strides);
200
+ EXPECT_EQ (view_tensor.is_continuous (), true );
201
+
202
+ view_tensor = ov::Tensor (ov::element::f32, Shape{2 , 2 , 32 , 128 }, data, strides);
203
+ EXPECT_EQ (view_tensor.is_continuous (), false );
204
+
205
+ view_tensor = ov::Tensor (ov::element::f32, Shape{1 , 2 , 5 , 128 }, data, strides);
206
+ EXPECT_EQ (view_tensor.is_continuous (), false );
207
+
208
+ view_tensor = ov::Tensor (ov::element::f32, Shape{3 , 5 , 32 , 64 }, data, strides);
209
+ EXPECT_EQ (view_tensor.is_continuous (), false );
210
+
211
+ view_tensor = ov::Tensor (ov::element::f32, Shape{1 , 1 , 16 , 128 }, data, strides);
212
+ EXPECT_EQ (view_tensor.is_continuous (), true );
213
+
214
+ view_tensor = ov::Tensor (ov::element::f32, Shape{2 , 1 , 16 , 128 }, data, strides);
215
+ EXPECT_EQ (view_tensor.is_continuous (), false );
216
+
217
+ view_tensor = ov::Tensor (ov::element::f32, Shape{1 , 1 , 1 , 128 }, data, strides);
218
+ EXPECT_EQ (view_tensor.is_continuous (), true );
219
+
220
+ view_tensor = ov::Tensor (ov::element::f32, Shape{1 , 1 , 1 , 32 }, data, strides);
221
+ EXPECT_EQ (view_tensor.is_continuous (), true );
222
+ }
223
+
96
224
TEST_P (RemoteRunTests, CheckRemoteTensorInternalBuf) {
97
225
// Skip test according to plugin specific disabledTestPatterns() (if any)
98
226
SKIP_IF_CURRENT_TEST_IS_DISABLED ()
0 commit comments