@@ -74,37 +74,37 @@ std::shared_ptr<OpStrategy> StrategyForBroadcast(
74
74
PADDLE_ENFORCE_NE (
75
75
args.empty (),
76
76
true ,
77
- phi ::errors::InvalidArgument (
77
+ ::common ::errors::InvalidArgument (
78
78
" The input argument of %s compute is empty! Please check." ,
79
79
op_name));
80
80
CINNValuePack pack_args = args[0 ];
81
81
PADDLE_ENFORCE_GE (pack_args.size (),
82
82
2U ,
83
- phi ::errors::InvalidArgument (
83
+ ::common ::errors::InvalidArgument (
84
84
" At least 2 input tensors for %s compute, but got %d" ,
85
85
op_name,
86
86
pack_args.size()));
87
87
PADDLE_ENFORCE_GE (pack_args.size (),
88
88
3U ,
89
- phi ::errors::InvalidArgument (
89
+ ::common ::errors::InvalidArgument (
90
90
" At least 3 input tensors for %s compute, but got %d" ,
91
91
op_name,
92
92
pack_args.size()));
93
93
PADDLE_ENFORCE_EQ (
94
94
pack_args[2 ].is_string (),
95
95
true ,
96
- phi ::errors::InvalidArgument (
96
+ ::common ::errors::InvalidArgument (
97
97
" Required pack_args[2] must be a string. Please check." ));
98
98
std::string tensor_name = pack_args[2 ].operator std::string ();
99
99
Expr A_expr = pack_args[0 ];
100
100
Expr B_expr = pack_args[1 ];
101
101
PADDLE_ENFORCE_NOT_NULL (
102
102
A_expr.as_tensor (),
103
- phi ::errors::InvalidArgument (
103
+ ::common ::errors::InvalidArgument (
104
104
" Required Input must be a tensor. Please check." ));
105
105
PADDLE_ENFORCE_NOT_NULL (
106
106
B_expr.as_tensor (),
107
- phi ::errors::InvalidArgument (
107
+ ::common ::errors::InvalidArgument (
108
108
" Required Input must be a tensor. Please check." ));
109
109
ir::Tensor A = A_expr.as_tensor_ref ();
110
110
ir::Tensor B = B_expr.as_tensor_ref ();
@@ -143,37 +143,37 @@ std::shared_ptr<OpStrategy> StrategyForBroadcastSymbolic(
143
143
PADDLE_ENFORCE_NE (
144
144
args.empty (),
145
145
true ,
146
- phi ::errors::InvalidArgument (
146
+ ::common ::errors::InvalidArgument (
147
147
" The input argument of %s compute is empty! Please check." ,
148
148
op_name));
149
149
CINNValuePack pack_args = args[0 ];
150
150
PADDLE_ENFORCE_GE (pack_args.size (),
151
151
2U ,
152
- phi ::errors::InvalidArgument (
152
+ ::common ::errors::InvalidArgument (
153
153
" At least 2 input tensors for %s compute, but got %d" ,
154
154
op_name,
155
155
pack_args.size()));
156
156
PADDLE_ENFORCE_GE (pack_args.size (),
157
157
3U ,
158
- phi ::errors::InvalidArgument (
158
+ ::common ::errors::InvalidArgument (
159
159
" At least 3 input tensors for %s compute, but got %d" ,
160
160
op_name,
161
161
pack_args.size()));
162
162
PADDLE_ENFORCE_EQ (
163
163
pack_args[2 ].is_string (),
164
164
true ,
165
- phi ::errors::InvalidArgument (
165
+ ::common ::errors::InvalidArgument (
166
166
" Required pack_args[2] must be a string. Please check." ));
167
167
std::string tensor_name = pack_args[2 ].operator std::string ();
168
168
Expr A_expr = pack_args[0 ];
169
169
Expr B_expr = pack_args[1 ];
170
170
PADDLE_ENFORCE_NOT_NULL (
171
171
A_expr.as_tensor (),
172
- phi ::errors::InvalidArgument (
172
+ ::common ::errors::InvalidArgument (
173
173
" Required Input must be a tensor. Please check." ));
174
174
PADDLE_ENFORCE_NOT_NULL (
175
175
B_expr.as_tensor (),
176
- phi ::errors::InvalidArgument (
176
+ ::common ::errors::InvalidArgument (
177
177
" Required Input must be a tensor. Please check." ));
178
178
ir::Tensor A = A_expr.as_tensor_ref ();
179
179
ir::Tensor B = B_expr.as_tensor_ref ();
@@ -206,14 +206,14 @@ std::shared_ptr<OpStrategy> StrategyForBroadcastTo(
206
206
PADDLE_ENFORCE_GE (
207
207
attrs.attr_store .count (" out_shape" ),
208
208
1 ,
209
- phi ::errors::InvalidArgument (
209
+ ::common ::errors::InvalidArgument (
210
210
" The attrs.attr_store doesn't have the attribute of 'out_shape'." ));
211
211
out_shape = absl::get<std::vector<int >>(attrs.attr_store .at (" out_shape" ));
212
212
PADDLE_ENFORCE_GE (
213
213
attrs.attr_store .count (" broadcast_axes" ),
214
214
1 ,
215
- phi ::errors::InvalidArgument (" The attrs.attr_store doesn't have the "
216
- " attribute of 'broadcast_axes'." ));
215
+ ::common ::errors::InvalidArgument (" The attrs.attr_store doesn't have the "
216
+ " attribute of 'broadcast_axes'." ));
217
217
broadcast_axes =
218
218
absl::get<std::vector<int >>(attrs.attr_store .at (" broadcast_axes" ));
219
219
VLOG (3 ) << " broadcast out shape: " << utils::Join (out_shape, " , " );
@@ -224,30 +224,30 @@ std::shared_ptr<OpStrategy> StrategyForBroadcastTo(
224
224
PADDLE_ENFORCE_NE (
225
225
args.empty (),
226
226
true ,
227
- phi ::errors::InvalidArgument (" The input argument of broadcast_to "
228
- " compute is empty! Please check." ));
227
+ ::common ::errors::InvalidArgument (" The input argument of broadcast_to "
228
+ " compute is empty! Please check." ));
229
229
CINNValuePack pack_args = args[0 ];
230
230
PADDLE_ENFORCE_NE (
231
231
pack_args.empty (),
232
232
true ,
233
- phi ::errors::InvalidArgument (" The input tensors of broadcast_to "
234
- " compute is empty! Please check." ));
233
+ ::common ::errors::InvalidArgument (" The input tensors of broadcast_to "
234
+ " compute is empty! Please check." ));
235
235
PADDLE_ENFORCE_GE (
236
236
pack_args.size (),
237
237
2U ,
238
- phi ::errors::InvalidArgument (
238
+ ::common ::errors::InvalidArgument (
239
239
" Required at least 2 input tensors, but got %d" , pack_args.size()));
240
240
PADDLE_ENFORCE_EQ (
241
241
pack_args[1 ].is_string (),
242
242
true ,
243
- phi ::errors::InvalidArgument (
243
+ ::common ::errors::InvalidArgument (
244
244
" Required pack_args[1] must be a string. Please check." ));
245
245
std::string tensor_name = pack_args[1 ].operator std::string ();
246
246
247
247
Expr A_expr = pack_args[0 ];
248
248
PADDLE_ENFORCE_NOT_NULL (
249
249
A_expr.as_tensor (),
250
- phi ::errors::InvalidArgument (
250
+ ::common ::errors::InvalidArgument (
251
251
" Required Input must be a tensor. Please check." ));
252
252
ir::Tensor A = A_expr.as_tensor_ref ();
253
253
auto out = pe::BroadcastTo (A, out_shape, broadcast_axes, tensor_name);
@@ -271,7 +271,7 @@ std::shared_ptr<OpStrategy> StrategyForBroadcastToSymbolic(
271
271
const Target &target) {
272
272
PADDLE_ENFORCE_EQ (output_shapes.size (),
273
273
1 ,
274
- phi ::errors::InvalidArgument (
274
+ ::common ::errors::InvalidArgument (
275
275
" The size of output_shapes must be 1, but got %d." ,
276
276
output_shapes.size()));
277
277
std::vector<ir::Expr> out_shape (output_shapes[0 ].size ());
@@ -281,42 +281,42 @@ std::shared_ptr<OpStrategy> StrategyForBroadcastToSymbolic(
281
281
[](const ir::Dim &dim) { return dim->dim_expr ; });
282
282
VLOG (3 ) << " broadcast out shape: " << utils::Join (out_shape, " , " );
283
283
284
- framework::CINNCompute broadcast_to_compute (
285
- [=](lang::Args args, lang::RetValue *ret) {
286
- PADDLE_ENFORCE_NE (
287
- args.empty (),
288
- true ,
289
- phi ::errors::InvalidArgument (" The input argument of broadcast_to "
290
- " compute is empty! Please check." ));
291
- CINNValuePack pack_args = args[0 ];
292
- PADDLE_ENFORCE_NE (
293
- pack_args.empty (),
294
- true ,
295
- phi ::errors::InvalidArgument (" The input tensors of broadcast_to "
296
- " compute is empty! Please check." ));
297
- std::string tensor_name = [&] {
298
- if (pack_args.size () == 2 ) {
299
- return pack_args[1 ].operator std::string ();
300
- } else {
301
- PADDLE_ENFORCE_EQ (pack_args.size (),
302
- 3 ,
303
- ::common::errors::InvalidArgument (
304
- " The number of input tensors is wrong. "
305
- " The expected inputs is 3, but now is %d." ,
306
- pack_args.size()));
307
- return pack_args[2 ].operator std::string ();
308
- }
309
- }();
310
-
311
- Expr A_expr = pack_args[0 ];
312
- PADDLE_ENFORCE_NOT_NULL (
313
- A_expr.as_tensor (),
314
- phi ::errors::InvalidArgument (
315
- " Required Input must be a tensor. Please check." ));
316
- ir::Tensor A = A_expr.as_tensor_ref ();
317
- auto out = pe::BroadcastTo (A, out_shape, tensor_name);
318
- *ret = CINNValuePack{{CINNValue (out)}};
319
- });
284
+ framework::CINNCompute broadcast_to_compute ([=](lang::Args args,
285
+ lang::RetValue *ret) {
286
+ PADDLE_ENFORCE_NE (
287
+ args.empty (),
288
+ true ,
289
+ ::common ::errors::InvalidArgument (" The input argument of broadcast_to "
290
+ " compute is empty! Please check." ));
291
+ CINNValuePack pack_args = args[0 ];
292
+ PADDLE_ENFORCE_NE (
293
+ pack_args.empty (),
294
+ true ,
295
+ ::common ::errors::InvalidArgument (" The input tensors of broadcast_to "
296
+ " compute is empty! Please check." ));
297
+ std::string tensor_name = [&] {
298
+ if (pack_args.size () == 2 ) {
299
+ return pack_args[1 ].operator std::string ();
300
+ } else {
301
+ PADDLE_ENFORCE_EQ (pack_args.size (),
302
+ 3 ,
303
+ ::common::errors::InvalidArgument (
304
+ " The number of input tensors is wrong. "
305
+ " The expected inputs is 3, but now is %d." ,
306
+ pack_args.size()));
307
+ return pack_args[2 ].operator std::string ();
308
+ }
309
+ }();
310
+
311
+ Expr A_expr = pack_args[0 ];
312
+ PADDLE_ENFORCE_NOT_NULL (
313
+ A_expr.as_tensor (),
314
+ ::common ::errors::InvalidArgument (
315
+ " Required Input must be a tensor. Please check." ));
316
+ ir::Tensor A = A_expr.as_tensor_ref ();
317
+ auto out = pe::BroadcastTo (A, out_shape, tensor_name);
318
+ *ret = CINNValuePack{{CINNValue (out)}};
319
+ });
320
320
321
321
auto strategy = std::make_shared<framework::OpStrategy>();
322
322
strategy->AddImpl (
0 commit comments