@@ -24,10 +24,7 @@ std::shared_ptr<ov::Model> ConvertFunction::initOriginal() const {
24
24
}
25
25
std::shared_ptr<ov::Model> ConvertFunction::initReference () const {
26
26
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 ());
31
28
return std::make_shared<ov::Model>(NodeVector{subgraph}, ParameterVector{data0});
32
29
}
33
30
@@ -41,13 +38,7 @@ std::shared_ptr<ov::Model> ConvertInputFunction::initOriginal() const {
41
38
std::shared_ptr<ov::Model> ConvertInputFunction::initReference () const {
42
39
auto data0 = std::make_shared<op::v0::Parameter>(inType, input_shapes[0 ]);
43
40
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 ());
51
42
return std::make_shared<ov::Model>(NodeVector{subgraph}, ParameterVector{data0, data1});
52
43
}
53
44
@@ -61,14 +52,7 @@ std::shared_ptr<ov::Model> ConvertOutputFunction::initOriginal() const {
61
52
std::shared_ptr<ov::Model> ConvertOutputFunction::initReference () const {
62
53
auto data0 = std::make_shared<op::v0::Parameter>(inType, input_shapes[0 ]);
63
54
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 ());
72
56
return std::make_shared<ov::Model>(NodeVector{subgraph}, ParameterVector{data0, data1});
73
57
}
74
58
@@ -83,17 +67,8 @@ std::shared_ptr<ov::Model> ConvertStubFunction::initOriginal() const {
83
67
std::shared_ptr<ov::Model> ConvertStubFunction::initReference () const {
84
68
auto data0 = std::make_shared<op::v0::Parameter>(inType, input_shapes[0 ]);
85
69
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});
97
72
}
98
73
99
74
std::shared_ptr<ov::Model> ConvertPartialInputsAndResultsFunction::initOriginal () const {
@@ -116,12 +91,12 @@ std::shared_ptr<ov::Model> ConvertPartialInputsAndResultsFunction::initReference
116
91
auto indata0 = std::make_shared<op::v0::Parameter>(inTypes[0 ], data0->get_shape ());
117
92
auto indata1 = std::make_shared<op::v0::Parameter>(inTypes[1 ], data1->get_shape ());
118
93
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 ]);
121
96
auto add = std::make_shared<op::v1::Add>(convert0, convert1);
122
97
auto relu = std::make_shared<op::v0::Relu>(add);
123
98
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 ]);
125
100
auto subgraph = std::make_shared<ov::snippets::op::Subgraph>(
126
101
NodeVector{data0, data1, data2}, std::make_shared<ov::Model>(NodeVector{sub, convert2}, ParameterVector{indata0, indata1, indata2}));
127
102
auto stub3 = createRollAsStub (subgraph);
@@ -141,15 +116,7 @@ std::shared_ptr<ov::Model> ConvertManyOnInputsFunction::initOriginal() const {
141
116
}
142
117
std::shared_ptr<ov::Model> ConvertManyOnInputsFunction::initReference () const {
143
118
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 ());
153
120
return std::make_shared<ov::Model>(NodeVector{subgraph}, ParameterVector{data0});
154
121
}
155
122
@@ -165,15 +132,7 @@ std::shared_ptr<ov::Model> ConvertManyOnOutputsFunction::initOriginal() const {
165
132
}
166
133
std::shared_ptr<ov::Model> ConvertManyOnOutputsFunction::initReference () const {
167
134
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 ());
177
136
return std::make_shared<ov::Model>(NodeVector{subgraph}, ParameterVector{data0});
178
137
}
179
138
@@ -194,20 +153,7 @@ std::shared_ptr<ov::Model> ConvertManyOnInputOutputFunction::initOriginal() cons
194
153
}
195
154
std::shared_ptr<ov::Model> ConvertManyOnInputOutputFunction::initReference () const {
196
155
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 ());
211
157
return std::make_shared<ov::Model>(NodeVector{subgraph}, ParameterVector{data0});
212
158
}
213
159
} // namespace snippets
0 commit comments