Skip to content

Commit 9c65ba2

Browse files
authored
[Snippets] Tokenization helper cleanup and tokenization tests reenabling (#26843)
### Details: - *Stub convert related logic is removed from tokenization helper, since it is not actual anymore* - *Skipped tokenization tests are reenabled, reference builders are fixed* ### Tickets: - *CVS-142098* - *CVS-114607* - *CVS-114336*
1 parent 0ebff04 commit 9c65ba2

File tree

10 files changed

+82
-208
lines changed

10 files changed

+82
-208
lines changed

src/common/snippets/src/utils/tokenization_utils.cpp

+3-38
Original file line numberDiff line numberDiff line change
@@ -227,44 +227,9 @@ bool tokenize_node(const std::shared_ptr<ov::Node>& node, const SnippetsTokeniza
227227

228228
// this is there stitching happens, get result of a copy of a body of currently processed input and put it to the new inputs
229229
// internal output index == external output index
230-
auto& input_body = clones[input_node];
231-
size_t source_output_index = input_value.get_index();
232-
auto source_result = input_body->get_results()[source_output_index];
233-
234-
// We cannot add new node, that is not Convert, after Convert (that is start node) to avoid arithmetic problems with conversion
235-
// We can add any new node in Subgraph after Convert (bacause after Input)
236-
// Parameter
237-
// |
238-
// Convert
239-
//
240-
// We cannot add new node, that isn't Convert, in Subgraph after existing Convert
241-
// Parameter
242-
// Relu
243-
// Convert
244-
//
245-
// But we can add new Convert in Subgraph after existing Convert
246-
// Parameter
247-
// Relu
248-
// Convert
249-
// Convert
250-
//
251-
// Thus, We can grow subgraph only if Convert is the first node of subgraph and have to abort it's the last one and we want to add not Convert
252-
// We have this limitation because at the moment we support only one execution precision inside body, so
253-
// if there is Convert with input and output data types that aren't equal to supported exec type,
254-
// we can get conversion math errors
255-
const auto output_of_subgraph = source_result->get_input_node_shared_ptr(0);
256-
if (!ov::is_type<ov::op::v0::Convert>(node) && ov::is_type<ov::op::v0::Convert>(output_of_subgraph)) {
257-
// Also we can add new node after < Parameter -> Convert -> Convert -> Convert >
258-
auto grandparent = output_of_subgraph->get_input_node_ptr(0);
259-
while (ov::is_type<ov::op::v0::Convert>(grandparent)) {
260-
grandparent = grandparent->get_input_node_ptr(0);
261-
}
262-
263-
if (!ov::is_type<ov::op::v0::Parameter>(grandparent)) {
264-
return abort("Convert supports only as Input and as Result of subgraph. Aborting");
265-
}
266-
}
267-
// Result op has a single input
230+
const auto& input_body = clones[input_node];
231+
const size_t source_output_index = input_value.get_index();
232+
const auto& source_result = input_body->get_results()[source_output_index];
268233
internal_inputs.push_back(source_result->input_value(0));
269234
} else {
270235
// We need some non-scalar constants inside Subgraph in the following cases:

src/common/snippets/tests/src/pass/collapse_subgraph.cpp

+7-15
Original file line numberDiff line numberDiff line change
@@ -27,22 +27,14 @@ void CollapseSubgraphTests::run() {
2727
});
2828
}
2929

30-
class SKIP_CollapseSubgraphTests : public CollapseSubgraphTests {
31-
public:
32-
void SetUp() override {
33-
GTEST_SKIP();
34-
}
35-
void TearDown() override{};
36-
};
37-
38-
TEST_F(SKIP_CollapseSubgraphTests /* CVS-114607 */, smoke_Snippets_Eltwise) {
30+
TEST_F(CollapseSubgraphTests, smoke_Snippets_Eltwise) {
3931
const auto& f = EltwiseFunction(std::vector<PartialShape> {{2, 3}, {1, 3}});
4032
model = f.getOriginal();
4133
model_ref = f.getReference();
4234
run();
4335
}
4436

45-
TEST_F(SKIP_CollapseSubgraphTests /* CVS-114607 */, smoke_Snippets_MatMulWithEltwise) {
37+
TEST_F(CollapseSubgraphTests, smoke_Snippets_MatMulWithEltwise) {
4638
const auto& f = MatMulEltwiseBranchesFunction(std::vector<PartialShape> {{1, 3, 4, 4}, {1, 3, 4, 4}});
4739
model = f.getOriginal();
4840
model_ref = f.getReference();
@@ -56,35 +48,35 @@ TEST_F(CollapseSubgraphTests, smoke_Snippets_AvoidLoopEltwise) {
5648
run();
5749
}
5850

59-
TEST_F(SKIP_CollapseSubgraphTests /* CVS-114607 */, smoke_Snippets_OneConvert) {
51+
TEST_F(CollapseSubgraphTests, smoke_Snippets_OneConvert) {
6052
const auto& f = ConvertFunction(std::vector<PartialShape>{{2, 5}});
6153
model = f.getOriginal();
6254
model_ref = f.getReference();
6355
run();
6456
}
6557

66-
TEST_F(SKIP_CollapseSubgraphTests /* CVS-114607 */, smoke_Snippets_ConvertInput) {
58+
TEST_F(CollapseSubgraphTests, smoke_Snippets_ConvertInput) {
6759
const auto& f = ConvertInputFunction(std::vector<PartialShape>{{2, 5}, {1, 5}});
6860
model = f.getOriginal();
6961
model_ref = f.getReference();
7062
run();
7163
}
7264

73-
TEST_F(SKIP_CollapseSubgraphTests /* CVS-114607 */, smoke_Snippets_ConvertOutput) {
65+
TEST_F(CollapseSubgraphTests, smoke_Snippets_ConvertOutput) {
7466
const auto& f = ConvertOutputFunction(std::vector<PartialShape>{{2, 5}, {1, 5}});
7567
model = f.getOriginal();
7668
model_ref = f.getReference();
7769
run();
7870
}
7971

80-
TEST_F(SKIP_CollapseSubgraphTests /* CVS-114607 */, smoke_Snippets_ConvertStub) {
72+
TEST_F(CollapseSubgraphTests, smoke_Snippets_ConvertStub) {
8173
const auto& f = ConvertStubFunction(std::vector<PartialShape>{{2, 5, 2}, {1, 5, 1}});
8274
model = f.getOriginal();
8375
model_ref = f.getReference();
8476
run();
8577
}
8678

87-
TEST_F(SKIP_CollapseSubgraphTests /* CVS-114607 */, smoke_Snippets_ConvertPartialInputsAndResults) {
79+
TEST_F(CollapseSubgraphTests, smoke_Snippets_ConvertPartialInputsAndResults) {
8880
const auto& f = ConvertPartialInputsAndResultsFunction(std::vector<PartialShape>{{2, 5, 1}, {1, 5, 1}, {2, 1, 10}},
8981
std::vector<ov::element::Type>{ov::element::i8, ov::element::bf16, ov::element::f32},
9082
std::vector<ov::element::Type>{ov::element::f32, ov::element::i8});

src/common/snippets/tests/src/pass/mha_tokenization.cpp

+4-16
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,6 @@ namespace ov {
1414
namespace test {
1515
namespace snippets {
1616

17-
class SKIP_TokenizeMHASnippetsTests : public TokenizeMHASnippetsTests {
18-
public:
19-
void SetUp() override {
20-
GTEST_SKIP();
21-
}
22-
void TearDown() override{};
23-
};
24-
2517
void TokenizeMHASnippetsTests::run() {
2618
ASSERT_TRUE(model);
2719
manager.register_pass<ov::snippets::pass::ExtractReshapesFromMHA>();
@@ -103,8 +95,7 @@ TEST_F(TokenizeMHASnippetsTests, smoke_Snippets_MHA_with_MatMul0_Transpose) {
10395
run();
10496
}
10597

106-
TEST_F(SKIP_TokenizeMHASnippetsTests /* CVS-142098 */, smoke_Snippets_MHA_with_MatMul0_Transpose_Dynamic) {
107-
GTEST_SKIP();
98+
TEST_F(TokenizeMHASnippetsTests, smoke_Snippets_MHA_with_MatMul0_Transpose_Dynamic) {
10899
const auto &f = MHAMatMul0TransposeFunction(std::vector<PartialShape>{{-1, -1, -1, -1}, {-1, -1, -1, -1}, {-1, -1, -1, -1}, {-1, -1, -1, -1}},
109100
std::vector<ov::element::Type>({ov::element::f32, ov::element::f32, ov::element::f32, ov::element::f32}),
110101
false);
@@ -113,8 +104,7 @@ TEST_F(SKIP_TokenizeMHASnippetsTests /* CVS-142098 */, smoke_Snippets_MHA_with_M
113104
run();
114105
}
115106

116-
TEST_F(SKIP_TokenizeMHASnippetsTests /* CVS-114607 */, smoke_Snippets_MHA_with_int_Matmuls) {
117-
GTEST_SKIP();
107+
TEST_F(TokenizeMHASnippetsTests, smoke_Snippets_MHA_with_int_Matmuls) {
118108
const auto &f = MHAINT8MatMulTypeRelaxedFunction(std::vector<PartialShape>{{1, 128, 12, 64}, {1, 128, 12, 64}, {1, 12, 128, 128}, {1, 128, 12, 64}});
119109
model = f.getOriginal();
120110
model_ref = f.getReference();
@@ -128,8 +118,7 @@ TEST_F(TokenizeMHASnippetsTests, smoke_Snippets_MHA_Transpose_extraction) {
128118
run();
129119
}
130120

131-
TEST_F(SKIP_TokenizeMHASnippetsTests /* CVS-142098 */, smoke_Snippets_MHA_Dynamic_Transpose_extraction) {
132-
GTEST_SKIP();
121+
TEST_F(TokenizeMHASnippetsTests, smoke_Snippets_MHA_Dynamic_Transpose_extraction) {
133122
const auto& f = MHATransposedInputFunction(std::vector<PartialShape>{{-1, -1, -1, -1}, {-1, -1, -1, -1}, {-1, -1, -1, -1}}, true);
134123
model = f.getOriginal();
135124
model_ref = f.getReference();
@@ -144,8 +133,7 @@ TEST_F(TokenizeMHASnippetsTests, smoke_Snippets_MHA_Transpose_extraction_and_uns
144133
run();
145134
}
146135

147-
TEST_F(SKIP_TokenizeMHASnippetsTests /* CVS-142098 */, smoke_Snippets_MHA_Dynamic_Transpose_extraction_and_unsupported_existing_transpose) {
148-
GTEST_SKIP();
136+
TEST_F(TokenizeMHASnippetsTests, smoke_Snippets_MHA_Dynamic_Transpose_extraction_and_unsupported_existing_transpose) {
149137
const auto& f = MHATransposedInputFunction(std::vector<PartialShape>{{-1, -1, -1, -1}, {-1, -1, -1, -1}, {-1, -1, -1, -1}}, true,
150138
std::vector<int64_t>{0, 3, 1, 2});
151139
model = f.getOriginal();

src/plugins/intel_cpu/tests/functional/shared_tests_instances/snippets/arm/convert.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,8 @@ INSTANTIATE_TEST_SUITE_P(smoke_Snippets_ConvertStub, ConvertStub,
9595
::testing::Combine(
9696
::testing::ValuesIn(inputShapes_ConvertInput),
9797
::testing::ValuesIn(types_ConvertStub),
98-
::testing::Values(2),
99-
::testing::Values(2),
98+
::testing::Values(1),
99+
::testing::Values(1),
100100
::testing::Values(ov::test::utils::DEVICE_CPU)),
101101
Convert::getTestCaseName);
102102

src/plugins/intel_cpu/tests/functional/shared_tests_instances/snippets/x64/convert.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,8 @@ INSTANTIATE_TEST_SUITE_P(smoke_Snippets_ConvertStub, ConvertStub,
104104
::testing::Combine(
105105
::testing::ValuesIn(inputShapes_ConvertInput),
106106
::testing::ValuesIn(types_ConvertInput),
107-
::testing::Values(2),
108-
::testing::Values(2),
107+
::testing::Values(1),
108+
::testing::Values(1),
109109
::testing::Values(ov::test::utils::DEVICE_CPU)),
110110
Convert::getTestCaseName);
111111

src/plugins/intel_cpu/tests/unit/snippets_transformations/x64/snipptes_mark_skipped.cpp

+1-9
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,7 @@ class SnippetsMarkSkippedTests : public TransformationTestsF {
3030
}
3131
};
3232

33-
class SKIP_SnippetsMarkSkippedTests : public SnippetsMarkSkippedTests {
34-
public:
35-
void SetUp() override {
36-
GTEST_SKIP();
37-
}
38-
void TearDown() override{};
39-
};
40-
41-
TEST_F(SKIP_SnippetsMarkSkippedTests /* CVS-114336 */, smoke_Snippets_SkipAfterInputsMatMulEltwise) {
33+
TEST_F(SnippetsMarkSkippedTests, smoke_Snippets_SkipAfterInputsMatMulEltwise) {
4234
const auto &f = MatMulEltwiseBranchesFunction(std::vector<PartialShape> {{1, 3, 4, 4}, {1, 3, 4, 4}});
4335
model = f.getOriginal();
4436
// Fully tokenizable, since inputs are followed by MatMul

src/tests/ov_helpers/ov_snippets_models/include/subgraph_converts.hpp

+3-4
Original file line numberDiff line numberDiff line change
@@ -81,12 +81,11 @@ class ConvertOutputFunction : public SnippetsFunctionBase {
8181
};
8282

8383

84-
/// There are 2 subgraphs: Add + Convert(Stub) and Relu
8584
/// Tokenized simply by starting subgraph.
8685
// in1 in2 in1 in2
87-
// Add Subgraph
88-
// Convert -> |
89-
// Relu Subgraph
86+
// Add |
87+
// Convert -> Subgraph
88+
// Relu |
9089
// Result Result
9190
class ConvertStubFunction : public SnippetsFunctionBase {
9291
public:

src/tests/ov_helpers/ov_snippets_models/src/subgraph_convert.cpp

+11-65
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,7 @@ std::shared_ptr<ov::Model> ConvertFunction::initOriginal() const {
2424
}
2525
std::shared_ptr<ov::Model> ConvertFunction::initReference() const {
2626
auto data0 = std::make_shared<op::v0::Parameter>(inType, input_shapes[0]);
27-
auto indata0 = std::make_shared<op::v0::Parameter>(inType, data0->get_shape());
28-
auto subgraph = std::make_shared<ov::snippets::op::Subgraph>(NodeVector{data0},
29-
std::make_shared<ov::Model>(NodeVector{std::make_shared<ov::snippets::op::ConvertTruncation>(indata0, outType)},
30-
ParameterVector{indata0}));
27+
auto subgraph = std::make_shared<ov::snippets::op::Subgraph>(NodeVector{data0}, getOriginal());
3128
return std::make_shared<ov::Model>(NodeVector{subgraph}, ParameterVector{data0});
3229
}
3330

@@ -41,13 +38,7 @@ std::shared_ptr<ov::Model> ConvertInputFunction::initOriginal() const {
4138
std::shared_ptr<ov::Model> ConvertInputFunction::initReference() const {
4239
auto data0 = std::make_shared<op::v0::Parameter>(inType, input_shapes[0]);
4340
auto data1 = std::make_shared<op::v0::Parameter>(outType, input_shapes[1]);
44-
auto indata0 = std::make_shared<op::v0::Parameter>(inType, data0->get_shape());
45-
auto indata1 = std::make_shared<op::v0::Parameter>(outType, data1->get_shape());
46-
auto convert = std::make_shared<ov::snippets::op::ConvertTruncation>(indata0, outType);
47-
auto subgraph = std::make_shared<ov::snippets::op::Subgraph>(NodeVector{data0, data1},
48-
std::make_shared<ov::Model>(
49-
NodeVector{std::make_shared<op::v1::Add>(convert, indata1)},
50-
ParameterVector{indata0, indata1}));
41+
auto subgraph = std::make_shared<ov::snippets::op::Subgraph>(NodeVector{data0, data1}, getOriginal());
5142
return std::make_shared<ov::Model>(NodeVector{subgraph}, ParameterVector{data0, data1});
5243
}
5344

@@ -61,14 +52,7 @@ std::shared_ptr<ov::Model> ConvertOutputFunction::initOriginal() const {
6152
std::shared_ptr<ov::Model> ConvertOutputFunction::initReference() const {
6253
auto data0 = std::make_shared<op::v0::Parameter>(inType, input_shapes[0]);
6354
auto data1 = std::make_shared<op::v0::Parameter>(inType, input_shapes[1]);
64-
auto indata0 = std::make_shared<op::v0::Parameter>(inType, data0->get_shape());
65-
auto indata1 = std::make_shared<op::v0::Parameter>(inType, data1->get_shape());
66-
auto add = std::make_shared<op::v1::Add>(indata0, indata1);
67-
auto convert = std::make_shared<ov::snippets::op::ConvertTruncation>(add, outType);
68-
auto subgraph = std::make_shared<ov::snippets::op::Subgraph>(NodeVector{data0, data1},
69-
std::make_shared<ov::Model>(
70-
NodeVector{convert},
71-
ParameterVector{indata0, indata1}));
55+
auto subgraph = std::make_shared<ov::snippets::op::Subgraph>(NodeVector{data0, data1}, getOriginal());
7256
return std::make_shared<ov::Model>(NodeVector{subgraph}, ParameterVector{data0, data1});
7357
}
7458

@@ -83,17 +67,8 @@ std::shared_ptr<ov::Model> ConvertStubFunction::initOriginal() const {
8367
std::shared_ptr<ov::Model> ConvertStubFunction::initReference() const {
8468
auto data0 = std::make_shared<op::v0::Parameter>(inType, input_shapes[0]);
8569
auto data1 = std::make_shared<op::v0::Parameter>(inType, input_shapes[1]);
86-
auto indata0 = std::make_shared<op::v0::Parameter>(inType, data0->get_shape());
87-
auto indata1 = std::make_shared<op::v0::Parameter>(inType, data1->get_shape());
88-
auto add = std::make_shared<op::v1::Add>(indata0, indata1);
89-
auto convert = std::make_shared<ov::snippets::op::ConvertTruncation>(add, outType);
90-
auto subgraph0 = std::make_shared<ov::snippets::op::Subgraph>(
91-
NodeVector{data0, data1}, std::make_shared<ov::Model>(NodeVector{convert}, ParameterVector{indata0, indata1}));
92-
auto indata2 = std::make_shared<op::v0::Parameter>(convert->get_destination_type(), convert->get_shape());
93-
auto relu = std::make_shared<op::v0::Relu>(indata2);
94-
auto subgraph1 = std::make_shared<ov::snippets::op::Subgraph>(
95-
NodeVector{subgraph0}, std::make_shared<ov::Model>(NodeVector{relu}, ParameterVector{indata2}));
96-
return std::make_shared<ov::Model>(NodeVector{subgraph1}, ParameterVector{data0, data1});
70+
auto subgraph = std::make_shared<ov::snippets::op::Subgraph>(NodeVector{data0, data1}, getOriginal());
71+
return std::make_shared<ov::Model>(NodeVector{subgraph}, ParameterVector{data0, data1});
9772
}
9873

9974
std::shared_ptr<ov::Model> ConvertPartialInputsAndResultsFunction::initOriginal() const {
@@ -116,12 +91,12 @@ std::shared_ptr<ov::Model> ConvertPartialInputsAndResultsFunction::initReference
11691
auto indata0 = std::make_shared<op::v0::Parameter>(inTypes[0], data0->get_shape());
11792
auto indata1 = std::make_shared<op::v0::Parameter>(inTypes[1], data1->get_shape());
11893
auto indata2 = std::make_shared<op::v0::Parameter>(inTypes[2], data2->get_shape());
119-
auto convert0 = std::make_shared<ov::snippets::op::ConvertTruncation>(indata0, outTypes[0]);
120-
auto convert1 = std::make_shared<ov::snippets::op::ConvertTruncation>(indata1, outTypes[0]);
94+
auto convert0 = std::make_shared<op::v0::Convert>(indata0, outTypes[0]);
95+
auto convert1 = std::make_shared<op::v0::Convert>(indata1, outTypes[0]);
12196
auto add = std::make_shared<op::v1::Add>(convert0, convert1);
12297
auto relu = std::make_shared<op::v0::Relu>(add);
12398
auto sub = std::make_shared<op::v1::Subtract>(relu, indata2);
124-
auto convert2 = std::make_shared<ov::snippets::op::ConvertTruncation>(relu, outTypes[1]);
99+
auto convert2 = std::make_shared<op::v0::Convert>(relu, outTypes[1]);
125100
auto subgraph = std::make_shared<ov::snippets::op::Subgraph>(
126101
NodeVector{data0, data1, data2}, std::make_shared<ov::Model>(NodeVector{sub, convert2}, ParameterVector{indata0, indata1, indata2}));
127102
auto stub3 = createRollAsStub(subgraph);
@@ -141,15 +116,7 @@ std::shared_ptr<ov::Model> ConvertManyOnInputsFunction::initOriginal() const {
141116
}
142117
std::shared_ptr<ov::Model> ConvertManyOnInputsFunction::initReference() const {
143118
auto data0 = std::make_shared<op::v0::Parameter>(types[0], input_shapes[0]);
144-
auto indata0 = std::make_shared<op::v0::Parameter>(types[0], data0->get_shape());
145-
std::shared_ptr<ov::Node> out = indata0;
146-
for (auto i = 1; i < types.size(); i++) {
147-
auto convert = std::make_shared<ov::snippets::op::ConvertTruncation>(out, types[i]);
148-
out = convert;
149-
}
150-
auto relu = std::make_shared<op::v0::Relu>(out);
151-
auto subgraph = std::make_shared<ov::snippets::op::Subgraph>(NodeVector{data0},
152-
std::make_shared<ov::Model>(NodeVector{relu}, ParameterVector{indata0}));
119+
auto subgraph = std::make_shared<ov::snippets::op::Subgraph>(NodeVector{data0}, getOriginal());
153120
return std::make_shared<ov::Model>(NodeVector{subgraph}, ParameterVector{data0});
154121
}
155122

@@ -165,15 +132,7 @@ std::shared_ptr<ov::Model> ConvertManyOnOutputsFunction::initOriginal() const {
165132
}
166133
std::shared_ptr<ov::Model> ConvertManyOnOutputsFunction::initReference() const {
167134
auto data0 = std::make_shared<op::v0::Parameter>(types[0], input_shapes[0]);
168-
auto indata0 = std::make_shared<op::v0::Parameter>(types[0], data0->get_shape());
169-
auto relu = std::make_shared<op::v0::Relu>(indata0);
170-
std::shared_ptr<ov::Node> out = relu;
171-
for (auto i = 1; i < types.size(); i++) {
172-
auto convert = std::make_shared<ov::snippets::op::ConvertTruncation>(out, types[i]);
173-
out = convert;
174-
}
175-
auto subgraph = std::make_shared<ov::snippets::op::Subgraph>(NodeVector{data0},
176-
std::make_shared<ov::Model>(NodeVector{out}, ParameterVector{indata0}));
135+
auto subgraph = std::make_shared<ov::snippets::op::Subgraph>(NodeVector{data0}, getOriginal());
177136
return std::make_shared<ov::Model>(NodeVector{subgraph}, ParameterVector{data0});
178137
}
179138

@@ -194,20 +153,7 @@ std::shared_ptr<ov::Model> ConvertManyOnInputOutputFunction::initOriginal() cons
194153
}
195154
std::shared_ptr<ov::Model> ConvertManyOnInputOutputFunction::initReference() const {
196155
auto data0 = std::make_shared<op::v0::Parameter>(inTypes[0], input_shapes[0]);
197-
auto indata0 = std::make_shared<op::v0::Parameter>(inTypes[0], data0->get_shape());
198-
std::shared_ptr<ov::Node> out = indata0;
199-
for (auto i = 1; i < inTypes.size(); i++) {
200-
auto convert = std::make_shared<op::v0::Convert>(out, inTypes[i]);
201-
out = convert;
202-
}
203-
auto relu = std::make_shared<op::v0::Relu>(data0);
204-
out = relu;
205-
for (auto i = 0; i < outTypes.size(); i++) {
206-
auto convert = std::make_shared<op::v0::Convert>(out, outTypes[i]);
207-
out = convert;
208-
}
209-
auto subgraph = std::make_shared<ov::snippets::op::Subgraph>(NodeVector{data0},
210-
std::make_shared<ov::Model>(NodeVector{out}, ParameterVector{indata0}));
156+
auto subgraph = std::make_shared<ov::snippets::op::Subgraph>(NodeVector{data0}, getOriginal());
211157
return std::make_shared<ov::Model>(NodeVector{subgraph}, ParameterVector{data0});
212158
}
213159
} // namespace snippets

0 commit comments

Comments
 (0)