10 using ::Halide::MemoryType;
12 using ::Halide::TailStrategy;
36 Func squashed_head1_filter_0_d_def__ = pipeline.
get_func(35);
37 Func squashed_head1_filter_broadcast_0_d_def__ = pipeline.
get_func(34);
45 Func cost_per_stage_output_0_d_def__ = pipeline.
get_func(26);
58 Func normalized_schedule_features = pipeline.
get_func(12);
61 Func squashed_head1_filter_broadcast = pipeline.
get_func(6);
65 Var n(
sum.get_schedule().dims()[0].var);
131 RVar r94_x(
sum.update(0).get_schedule().dims()[0].var);
132 RVar r94_y(
sum.update(0).get_schedule().dims()[1].var);
139 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
145 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
147 .reorder(ni, r94_x, r94_y, n)
150 .
split(n, n, ni, 8, TailStrategy::GuardWithIf)
156 .
split(v312, v312, v312i, 8, TailStrategy::GuardWithIf)
160 .
fuse(v312, v313, v312)
163 .split(v312, v312, v312i, 8, TailStrategy::GuardWithIf)
165 .reorder(v312i, v312)
168 .split(v312, v312, v312i, 8, TailStrategy::GuardWithIf)
170 .reorder(v312i, v312)
173 .split(v312, v312, v312i, 8, TailStrategy::GuardWithIf)
175 .reorder(v312i, v312)
178 .split(v312, v312, v312i, 8, TailStrategy::GuardWithIf)
180 .reorder(v312i, v312)
183 .
split(v11, v11, v11i, 8, TailStrategy::GuardWithIf)
187 bias1_im_0_d_def__.
update(0)
188 .split(v11, v11, v11i, 8, TailStrategy::GuardWithIf)
190 .reorder(v11i, v11, r1532_x);
192 .
split(v309, v309, v309i, 8, TailStrategy::GuardWithIf)
195 .
reorder(v309i, v311, v309, v310)
196 .
fuse(v309, v310, v309)
199 .split(v309, v309, v309i, 8, TailStrategy::GuardWithIf)
201 .reorder(v309i, v309, v310)
202 .fuse(v309, v310, v309)
205 .split(v309, v309, v309i, 8, TailStrategy::GuardWithIf)
207 .reorder(v309i, v309, v310)
208 .fuse(v309, v310, v309)
211 .split(v309, v309, v309i, 8, TailStrategy::GuardWithIf)
213 .reorder(v309i, v309, v310)
214 .fuse(v309, v310, v309)
217 .split(v309, v309, v309i, 8, TailStrategy::GuardWithIf)
219 .reorder(v309i, v309, v310)
220 .fuse(v309, v310, v309)
223 .
split(v13, v13, v13i, 8, TailStrategy::GuardWithIf)
229 .reorder_storage(v13, v12);
230 filter1_im_0_d_def__.
update(0)
231 .
reorder(r1316_z, r1316_x, r1316_y, v12)
235 filter1_im_0_d_def__.
update(1)
236 .
reorder(r1512_x, r1512_y, v12)
240 .
split(v307, v307, v307i, 8, TailStrategy::GuardWithIf)
244 .
fuse(v307, v308, v307)
246 updated_head2_bias.
update(0)
247 .split(v307, v307, v307i, 8, TailStrategy::GuardWithIf)
249 .reorder(v307i, v307)
251 updated_head2_bias.
update(1)
252 .split(v307, v307, v307i, 8, TailStrategy::GuardWithIf)
254 .reorder(v307i, v307)
256 updated_head2_bias.
update(2)
257 .split(v307, v307, v307i, 8, TailStrategy::GuardWithIf)
259 .reorder(v307i, v307)
261 updated_head2_bias.
update(3)
262 .split(v307, v307, v307i, 8, TailStrategy::GuardWithIf)
264 .reorder(v307i, v307)
266 head2_bias_im_0_d_def__
267 .
split(v21, v21, v21i, 8, TailStrategy::GuardWithIf)
271 head2_bias_im_0_d_def__.
update(0)
272 .split(v21, v21, v21i, 8, TailStrategy::GuardWithIf)
274 .reorder(v21i, v21, r1421_x, r1421_y);
275 head2_conv_0_d_def___1
277 .
split(c, c, ci, 8, TailStrategy::GuardWithIf)
282 .
split(v304, v304, v304i, 8, TailStrategy::GuardWithIf)
285 .
reorder(v304i, v306, v304, v305)
286 .
fuse(v304, v305, v304)
288 updated_head2_filter.
update(0)
289 .split(v304, v304, v304i, 8, TailStrategy::GuardWithIf)
291 .reorder(v304i, v304, v305)
292 .fuse(v304, v305, v304)
294 updated_head2_filter.
update(1)
295 .split(v304, v304, v304i, 8, TailStrategy::GuardWithIf)
297 .reorder(v304i, v304, v305)
298 .fuse(v304, v305, v304)
300 updated_head2_filter.
update(2)
301 .split(v304, v304, v304i, 8, TailStrategy::GuardWithIf)
303 .reorder(v304i, v304, v305)
304 .fuse(v304, v305, v304)
306 updated_head2_filter.
update(3)
307 .split(v304, v304, v304i, 8, TailStrategy::GuardWithIf)
309 .reorder(v304i, v304, v305)
310 .fuse(v304, v305, v304)
312 head2_filter_im_0_d_def__
313 .
split(v22, v22, v22i, 8, TailStrategy::GuardWithIf)
317 head2_filter_im_0_d_def__.
update(0)
318 .split(v22, v22, v22i, 8, TailStrategy::GuardWithIf)
320 .reorder(v22i, v22, v23, r1400_x, r1400_y);
322 .
split(w, w, wi, 2, TailStrategy::GuardWithIf)
323 .
split(n, n, ni, 128, TailStrategy::GuardWithIf)
324 .
split(c, c, ci, 8, TailStrategy::GuardWithIf)
325 .
split(ni, ni, nii, 4, TailStrategy::GuardWithIf)
330 .
reorder(ci, wi, nii, c, ni, w, n)
335 .
split(c, c, ci, 8, TailStrategy::GuardWithIf)
341 head2_relu_0_d_def__.
update(0)
342 .split(c, c, ci, 8, TailStrategy::GuardWithIf)
346 .reorder(ci, c, w, n, r1294_x);
348 .
split(v302, v302, v302i, 8, TailStrategy::GuardWithIf)
353 updated_head1_bias.
update(0)
354 .split(v302, v302, v302i, 8, TailStrategy::GuardWithIf)
356 .reorder(v302i, v302);
357 updated_head1_bias.
update(1)
358 .split(v302, v302, v302i, 8, TailStrategy::GuardWithIf)
360 .reorder(v302i, v302);
361 updated_head1_bias.
update(2)
362 .split(v302, v302, v302i, 8, TailStrategy::GuardWithIf)
364 .reorder(v302i, v302);
365 updated_head1_bias.
update(3)
366 .split(v302, v302, v302i, 8, TailStrategy::GuardWithIf)
368 .reorder(v302i, v302);
369 head1_bias_im_0_d_def__
370 .
split(v14, v14, v14i, 8, TailStrategy::GuardWithIf)
374 head1_bias_im_0_d_def__.
update(0)
375 .split(v14, v14, v14i, 8, TailStrategy::GuardWithIf)
377 .reorder(v14i, v14, r1594_x);
379 .
split(v299, v299, v299i, 5, TailStrategy::GuardWithIf)
380 .
split(v301, v301, v301i, 2, TailStrategy::GuardWithIf)
381 .
split(v298, v298, v298i, 8, TailStrategy::GuardWithIf)
386 .
reorder(v298i, v298, v299i, v301i, v299, v300, v301)
387 .
fuse(v300, v301, v300)
388 .
fuse(v299, v300, v299)
390 updated_head1_filter.
update(0)
391 .split(v299, v299, v299i, 5, TailStrategy::GuardWithIf)
392 .split(v298, v298, v298i, 8, TailStrategy::GuardWithIf)
394 .reorder(v298i, v298, v299i, v299, v300)
395 .fuse(v299, v300, v299)
397 updated_head1_filter.
update(1)
398 .split(v299, v299, v299i, 5, TailStrategy::GuardWithIf)
399 .split(v298, v298, v298i, 8, TailStrategy::GuardWithIf)
401 .reorder(v298i, v298, v299i, v299, v300)
402 .fuse(v299, v300, v299)
404 updated_head1_filter.
update(2)
405 .split(v299, v299, v299i, 5, TailStrategy::GuardWithIf)
406 .split(v298, v298, v298i, 8, TailStrategy::GuardWithIf)
408 .reorder(v298i, v298, v299i, v299, v300)
409 .fuse(v299, v300, v299)
411 updated_head1_filter.
update(3)
412 .split(v299, v299, v299i, 5, TailStrategy::GuardWithIf)
413 .split(v298, v298, v298i, 8, TailStrategy::GuardWithIf)
415 .reorder(v298i, v298, v299i, v299, v300)
416 .fuse(v299, v300, v299)
418 squashed_head1_filter_0_d_def__
420 .
split(c, c, ci, 8, TailStrategy::GuardWithIf)
424 squashed_head1_filter_0_d_def__.
update(0)
425 .split(c, c, ci, 8, TailStrategy::GuardWithIf)
427 .reorder(ci, c, s, n, r1614_x);
428 squashed_head1_filter_broadcast_0_d_def__
430 .
split(c, c, ci, 8, TailStrategy::GuardWithIf)
433 .
store_at(updated_head1_filter, v299)
436 .
split(c, c, ci, 8, TailStrategy::GuardWithIf)
441 head1_conv_1_d_def__.
update(0)
442 .split(c, c, ci, 8, TailStrategy::GuardWithIf)
444 .reorder(ci, c, r1491_x, w)
446 conv1_stage1_1_d_def__
447 .
split(w, w, wi, 8, TailStrategy::GuardWithIf)
453 .reorder_storage(w, c);
454 conv1_stage1_1_d_def__.
update(0)
455 .split(w, w, wi, 8, TailStrategy::GuardWithIf)
457 .reorder(wi, r1336_x, w, c)
460 conv1_stage2_1_d_def__
461 .
split(c, c, ci, 14, TailStrategy::GuardWithIf)
462 .
split(n, n, ni, 32, TailStrategy::GuardWithIf)
463 .
split(ni, ni, nii, 4)
464 .
split(nii, nii, niii, 2)
465 .
split(w, w, wi, 8, TailStrategy::GuardWithIf)
468 .
reorder(wi, w, ci, niii, nii, ni, c, n)
471 .reorder_storage(w, c, n);
473 .
split(n, n, ni, 8, TailStrategy::GuardWithIf)
481 .
split(c, c, ci, 8, TailStrategy::GuardWithIf)
487 cost_per_stage_output_0_d_def__
489 .
split(w, w, wi, 8, TailStrategy::GuardWithIf)
492 .
store_at(conv1_stage2_1_d_def__, ni)
494 .reorder_storage(w, n);
496 .
split(n, n, ni, 8, TailStrategy::GuardWithIf)
504 .
split(n, n, ni, 8, TailStrategy::GuardWithIf)
510 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
512 .reorder(ni, r81_x, n)
514 cost_per_stage_output
515 .
split(n, n, ni, 128, TailStrategy::GuardWithIf)
516 .
split(w, w, wi, 2, TailStrategy::GuardWithIf)
517 .
split(ni, ni, nii, 8, TailStrategy::GuardWithIf)
524 .
split(n, n, ni, 512, TailStrategy::GuardWithIf)
525 .
split(c, c, ci, 10, TailStrategy::GuardWithIf)
526 .
split(w, w, wi, 2, TailStrategy::GuardWithIf)
527 .
split(ni, ni, nii, 8, TailStrategy::GuardWithIf)
530 .
reorder(nii, ni, ci, wi, n, c, w)
534 .reorder_storage(n, c, w);
536 .split(n, n, ni, 512, TailStrategy::GuardWithIf)
537 .split(c, c, ci, 10, TailStrategy::GuardWithIf)
538 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
539 .split(ni, ni, nii, 8, TailStrategy::GuardWithIf)
541 .reorder(nii, r63_x, ni, ci, wi, n, c, w)
546 .
split(c, c, ci, 3, TailStrategy::GuardWithIf)
547 .
split(n, n, ni, 8, TailStrategy::GuardWithIf)
553 .reorder_storage(n, c, w);
555 .
split(n, n, ni, 512, TailStrategy::GuardWithIf)
556 .
split(c, c, ci, 6, TailStrategy::GuardWithIf)
557 .
split(ni, ni, nii, 8, TailStrategy::GuardWithIf)
564 .reorder_storage(n, c, w);
566 .split(n, n, ni, 512, TailStrategy::GuardWithIf)
567 .split(c, c, ci, 6, TailStrategy::GuardWithIf)
568 .split(ni, ni, nii, 8, TailStrategy::GuardWithIf)
570 .reorder(nii, r40_x, ni, ci, n, c, w)
574 normalized_schedule_features
575 .
split(c, c, ci, 11, TailStrategy::GuardWithIf)
576 .
split(n, n, ni, 8, TailStrategy::GuardWithIf)
583 .
split(w, w, wi, 8, TailStrategy::GuardWithIf)
589 .reorder_storage(w, c);
591 .split(w, w, wi, 8, TailStrategy::GuardWithIf)
593 .reorder(wi, r54_x, w, c)
597 .
split(w, w, wi, 8, TailStrategy::GuardWithIf)
603 .reorder_storage(w, c);
605 .split(w, w, wi, 8, TailStrategy::GuardWithIf)
607 .reorder(wi, r31_x, r31_y, w, c)
610 squashed_head1_filter
611 .
split(s, s, si, 8, TailStrategy::GuardWithIf)
615 .reorder_storage(s, c, n);