10 using ::Halide::MemoryType;
12 using ::Halide::TailStrategy;
36 Func squashed_head1_filter_0_d_def__ = pipeline.
get_func(33);
37 Func squashed_head1_filter_broadcast_0_d_def__ = pipeline.
get_func(32);
56 Func normalized_schedule_features = pipeline.
get_func(12);
59 Func squashed_head1_filter_broadcast = pipeline.
get_func(6);
63 Var n(
sum.get_schedule().dims()[0].var);
118 RVar r1029_xi(
"r1029$xi");
132 RVar r34_x(
sum.update(0).get_schedule().dims()[0].var);
133 RVar r34_y(
sum.update(0).get_schedule().dims()[1].var);
144 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
150 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
152 .reorder(ni, r34_x, r34_y, n)
155 .
split(n, n, ni, 8, TailStrategy::GuardWithIf)
161 .
split(v221, v221, v221i, 8, TailStrategy::GuardWithIf)
165 .
fuse(v221, v222, v221)
168 .split(v221, v221, v221i, 8, TailStrategy::GuardWithIf)
170 .reorder(v221i, v221)
173 .split(v221, v221, v221i, 8, TailStrategy::GuardWithIf)
175 .reorder(v221i, v221)
178 .split(v221, v221, v221i, 8, TailStrategy::GuardWithIf)
180 .reorder(v221i, v221)
183 .split(v221, v221, v221i, 8, TailStrategy::GuardWithIf)
185 .reorder(v221i, v221)
188 .
split(v2, v2, v2i, 8, TailStrategy::GuardWithIf)
192 bias1_im_0_d_def__.
update(0)
193 .split(v2, v2, v2i, 8, TailStrategy::GuardWithIf)
195 .reorder(v2i, v2, r1226_x);
197 .
split(v218, v218, v218i, 16, TailStrategy::GuardWithIf)
198 .
split(v219, v219, v219i, 2, TailStrategy::GuardWithIf)
199 .
split(v220, v220, v220i, 2, TailStrategy::GuardWithIf)
200 .
split(v218i, v218i, v218ii, 8, TailStrategy::GuardWithIf)
203 .
reorder(v218ii, v218i, v219i, v220i, v218, v219, v220)
204 .
fuse(v219, v220, v219)
205 .
fuse(v218, v219, v218)
208 .split(v218, v218, v218i, 16, TailStrategy::GuardWithIf)
209 .split(v219, v219, v219i, 2, TailStrategy::GuardWithIf)
210 .split(v218i, v218i, v218ii, 8, TailStrategy::GuardWithIf)
212 .reorder(v218ii, v218i, v219i, v218, v219)
213 .fuse(v218, v219, v218)
216 .split(v218, v218, v218i, 16, TailStrategy::GuardWithIf)
217 .split(v219, v219, v219i, 2, TailStrategy::GuardWithIf)
218 .split(v218i, v218i, v218ii, 8, TailStrategy::GuardWithIf)
220 .reorder(v218ii, v218i, v219i, v218, v219)
221 .fuse(v218, v219, v218)
224 .split(v218, v218, v218i, 16, TailStrategy::GuardWithIf)
225 .split(v219, v219, v219i, 2, TailStrategy::GuardWithIf)
226 .split(v218i, v218i, v218ii, 8, TailStrategy::GuardWithIf)
228 .reorder(v218ii, v218i, v219i, v218, v219)
229 .fuse(v218, v219, v218)
232 .split(v218, v218, v218i, 16, TailStrategy::GuardWithIf)
233 .split(v219, v219, v219i, 2, TailStrategy::GuardWithIf)
234 .split(v218i, v218i, v218ii, 8, TailStrategy::GuardWithIf)
236 .reorder(v218ii, v218i, v219i, v218, v219)
237 .fuse(v218, v219, v218)
240 .
split(v4, v4, v4i, 8, TailStrategy::GuardWithIf)
245 .reorder_storage(v4, v3);
246 filter1_im_0_d_def__.
update(0)
247 .
reorder(r1010_x, r1010_y, r1010_z, v3)
249 filter1_im_0_d_def__.
update(1)
253 .
split(v216, v216, v216i, 8, TailStrategy::GuardWithIf)
257 .
fuse(v216, v217, v216)
259 updated_head2_bias.
update(0)
260 .split(v216, v216, v216i, 8, TailStrategy::GuardWithIf)
262 .reorder(v216i, v216)
264 updated_head2_bias.
update(1)
265 .split(v216, v216, v216i, 8, TailStrategy::GuardWithIf)
267 .reorder(v216i, v216)
269 updated_head2_bias.
update(2)
270 .split(v216, v216, v216i, 8, TailStrategy::GuardWithIf)
272 .reorder(v216i, v216)
274 updated_head2_bias.
update(3)
275 .split(v216, v216, v216i, 8, TailStrategy::GuardWithIf)
277 .reorder(v216i, v216)
279 head2_bias_im_0_d_def__
280 .
split(v12, v12, v12i, 8, TailStrategy::GuardWithIf)
284 head2_bias_im_0_d_def__.
update(0)
285 .split(v12, v12, v12i, 8, TailStrategy::GuardWithIf)
287 .reorder(v12i, v12, r1114_x, r1114_y);
288 head2_conv_0_d_def___1
290 .
split(c, c, ci, 8, TailStrategy::GuardWithIf)
295 .
split(v213, v213, v213i, 8, TailStrategy::GuardWithIf)
296 .
split(v214, v214, v214i, 2, TailStrategy::GuardWithIf)
297 .
split(v215, v215, v215i, 2, TailStrategy::GuardWithIf)
300 .
reorder(v213i, v214i, v215i, v213, v214, v215)
301 .
fuse(v214, v215, v214)
302 .
fuse(v213, v214, v213)
304 updated_head2_filter.
update(0)
305 .split(v213, v213, v213i, 8, TailStrategy::GuardWithIf)
306 .split(v214, v214, v214i, 2, TailStrategy::GuardWithIf)
308 .reorder(v213i, v214i, v213, v214)
309 .fuse(v213, v214, v213)
311 updated_head2_filter.
update(1)
312 .split(v213, v213, v213i, 8, TailStrategy::GuardWithIf)
313 .split(v214, v214, v214i, 2, TailStrategy::GuardWithIf)
315 .reorder(v213i, v214i, v213, v214)
316 .fuse(v213, v214, v213)
318 updated_head2_filter.
update(2)
319 .split(v213, v213, v213i, 8, TailStrategy::GuardWithIf)
320 .split(v214, v214, v214i, 2, TailStrategy::GuardWithIf)
322 .reorder(v213i, v214i, v213, v214)
323 .fuse(v213, v214, v213)
325 updated_head2_filter.
update(3)
326 .split(v213, v213, v213i, 8, TailStrategy::GuardWithIf)
327 .split(v214, v214, v214i, 2, TailStrategy::GuardWithIf)
329 .reorder(v213i, v214i, v213, v214)
330 .fuse(v213, v214, v213)
332 head2_filter_im_0_d_def__
334 .
split(v13, v13, v13i, 8, TailStrategy::GuardWithIf)
338 head2_filter_im_0_d_def__.
update(0)
339 .split(v13, v13, v13i, 8, TailStrategy::GuardWithIf)
341 .reorder(v13i, v13, v14, r1095_x, r1095_y);
343 .
split(n, n, ni, 5, TailStrategy::GuardWithIf)
344 .
split(c, c, ci, 8, TailStrategy::GuardWithIf)
351 .
split(c, c, ci, 8, TailStrategy::GuardWithIf)
355 head2_relu_0_d_def__.
update(0)
356 .split(c, c, ci, 8, TailStrategy::GuardWithIf)
358 .reorder(ci, c, w, n, r986_x);
360 .
split(v211, v211, v211i, 8, TailStrategy::GuardWithIf)
365 updated_head1_bias.
update(0)
366 .split(v211, v211, v211i, 8, TailStrategy::GuardWithIf)
368 .reorder(v211i, v211);
369 updated_head1_bias.
update(1)
370 .split(v211, v211, v211i, 8, TailStrategy::GuardWithIf)
372 .reorder(v211i, v211);
373 updated_head1_bias.
update(2)
374 .split(v211, v211, v211i, 8, TailStrategy::GuardWithIf)
376 .reorder(v211i, v211);
377 updated_head1_bias.
update(3)
378 .split(v211, v211, v211i, 8, TailStrategy::GuardWithIf)
380 .reorder(v211i, v211);
381 head1_bias_im_0_d_def__
382 .
split(v5, v5, v5i, 8, TailStrategy::GuardWithIf)
386 head1_bias_im_0_d_def__.
update(0)
387 .split(v5, v5, v5i, 8, TailStrategy::GuardWithIf)
389 .reorder(v5i, v5, r1302_x);
391 .
split(v208, v208, v208i, 2, TailStrategy::GuardWithIf)
392 .
split(v209, v209, v209i, 2, TailStrategy::GuardWithIf)
393 .
split(v210, v210, v210i, 2, TailStrategy::GuardWithIf)
394 .
split(v207, v207, v207i, 8, TailStrategy::GuardWithIf)
397 .
reorder(v207i, v207, v208i, v209i, v210i, v208, v209, v210)
398 .
fuse(v209, v210, v209)
399 .
fuse(v208, v209, v208)
401 updated_head1_filter.
update(0)
402 .split(v208, v208, v208i, 2, TailStrategy::GuardWithIf)
403 .split(v209, v209, v209i, 2, TailStrategy::GuardWithIf)
404 .split(v207, v207, v207i, 8, TailStrategy::GuardWithIf)
406 .reorder(v207i, v207, v208i, v209i, v208, v209)
407 .fuse(v208, v209, v208)
409 updated_head1_filter.
update(1)
410 .split(v208, v208, v208i, 2, TailStrategy::GuardWithIf)
411 .split(v209, v209, v209i, 2, TailStrategy::GuardWithIf)
412 .split(v207, v207, v207i, 8, TailStrategy::GuardWithIf)
414 .reorder(v207i, v207, v208i, v209i, v208, v209)
415 .fuse(v208, v209, v208)
417 updated_head1_filter.
update(2)
418 .split(v208, v208, v208i, 2, TailStrategy::GuardWithIf)
419 .split(v209, v209, v209i, 2, TailStrategy::GuardWithIf)
420 .split(v207, v207, v207i, 8, TailStrategy::GuardWithIf)
422 .reorder(v207i, v207, v208i, v209i, v208, v209)
423 .fuse(v208, v209, v208)
425 updated_head1_filter.
update(3)
426 .split(v208, v208, v208i, 2, TailStrategy::GuardWithIf)
427 .split(v209, v209, v209i, 2, TailStrategy::GuardWithIf)
428 .split(v207, v207, v207i, 8, TailStrategy::GuardWithIf)
430 .reorder(v207i, v207, v208i, v209i, v208, v209)
431 .fuse(v208, v209, v208)
433 squashed_head1_filter_0_d_def__
435 .
split(c, c, ci, 8, TailStrategy::GuardWithIf)
439 squashed_head1_filter_0_d_def__.
update(0)
440 .split(c, c, ci, 8, TailStrategy::GuardWithIf)
442 .reorder(ci, c, s, n, r1321_x);
444 .
split(c, c, ci, 8, TailStrategy::GuardWithIf)
449 head1_conv_1_d_def__.
update(0)
450 .split(c, c, ci, 8, TailStrategy::GuardWithIf)
452 .reorder(ci, c, r1183_x, w)
454 conv1_stage1_1_d_def__
455 .
split(w, w, wi, 8, TailStrategy::GuardWithIf)
460 .reorder_storage(w, c);
461 conv1_stage1_1_d_def__.
update(0)
462 .split(r1029_x, r1029_x, r1029_xi, 2, TailStrategy::GuardWithIf)
463 .split(w, w, wi, 8, TailStrategy::GuardWithIf)
465 .reorder(wi, r1029_xi, r1029_x, w, c)
467 conv1_stage2_0_d_def___1
469 .
split(w, w, wi, 8, TailStrategy::GuardWithIf)
472 .
store_at(conv1_stage1_1_d_def__, r1029_x)
474 .reorder_storage(w, c, n);
475 conv1_stage2_1_d_def__
476 .
split(c, c, ci, 2, TailStrategy::GuardWithIf)
477 .
split(n, n, ni, 8, TailStrategy::GuardWithIf)
482 .reorder_storage(n, c, w);
484 .
split(n, n, ni, 8, TailStrategy::GuardWithIf)
490 .
split(n, n, ni, 8, TailStrategy::GuardWithIf)
491 .
split(w, w, wi, 2, TailStrategy::GuardWithIf)
497 .reorder_storage(n, c, w);
499 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
500 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
502 .reorder(ni, wi, n, w)
506 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
507 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
509 .reorder(ni, wi, n, w)
513 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
514 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
516 .reorder(ni, wi, n, w)
520 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
521 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
523 .reorder(ni, wi, n, w)
527 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
528 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
530 .reorder(ni, wi, n, w)
534 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
535 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
537 .reorder(ni, wi, n, w)
541 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
542 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
544 .reorder(ni, wi, n, w)
548 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
549 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
551 .reorder(ni, wi, n, w)
555 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
556 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
558 .reorder(ni, wi, n, w)
562 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
563 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
565 .reorder(ni, wi, n, w)
568 relu1_0_d_def__.
update(10)
569 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
570 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
572 .reorder(ni, wi, n, w)
575 relu1_0_d_def__.
update(11)
576 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
577 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
579 .reorder(ni, wi, n, w)
582 relu1_0_d_def__.
update(12)
583 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
584 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
586 .reorder(ni, wi, n, w)
589 relu1_0_d_def__.
update(13)
590 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
591 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
593 .reorder(ni, wi, n, w)
596 relu1_0_d_def__.
update(14)
597 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
598 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
600 .reorder(ni, wi, n, w)
603 relu1_0_d_def__.
update(15)
604 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
605 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
607 .reorder(ni, wi, n, w)
610 relu1_0_d_def__.
update(16)
611 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
612 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
614 .reorder(ni, wi, n, w)
617 relu1_0_d_def__.
update(17)
618 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
619 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
621 .reorder(ni, wi, n, w)
624 relu1_0_d_def__.
update(18)
625 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
626 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
628 .reorder(ni, wi, n, w)
631 relu1_0_d_def__.
update(19)
632 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
633 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
635 .reorder(ni, wi, n, w)
638 relu1_0_d_def__.
update(20)
639 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
640 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
642 .reorder(ni, wi, n, w)
645 relu1_0_d_def__.
update(21)
646 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
647 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
649 .reorder(ni, wi, n, w)
652 relu1_0_d_def__.
update(22)
653 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
654 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
656 .reorder(ni, wi, n, w)
659 relu1_0_d_def__.
update(23)
660 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
661 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
663 .reorder(ni, wi, n, w)
666 relu1_0_d_def__.
update(24)
667 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
668 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
670 .reorder(ni, wi, n, w)
673 relu1_0_d_def__.
update(25)
674 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
675 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
677 .reorder(ni, wi, n, w)
680 relu1_0_d_def__.
update(26)
681 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
682 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
684 .reorder(ni, wi, n, w)
687 relu1_0_d_def__.
update(27)
688 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
689 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
691 .reorder(ni, wi, n, w)
694 relu1_0_d_def__.
update(28)
695 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
696 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
698 .reorder(ni, wi, n, w)
701 relu1_0_d_def__.
update(29)
702 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
703 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
705 .reorder(ni, wi, n, w)
708 relu1_0_d_def__.
update(30)
709 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
710 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
712 .reorder(ni, wi, n, w)
715 relu1_0_d_def__.
update(31)
716 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
717 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
719 .reorder(ni, wi, n, w)
723 .
split(n, n, ni, 8, TailStrategy::GuardWithIf)
724 .
split(w, w, wi, 2, TailStrategy::GuardWithIf)
731 .
split(n, n, ni, 8, TailStrategy::GuardWithIf)
738 .
split(n, n, ni, 8, TailStrategy::GuardWithIf)
744 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
746 .reorder(ni, r24_x, n)
749 .
split(c, c, ci, 8, TailStrategy::GuardWithIf)
750 .
split(w, w, wi, 4, TailStrategy::GuardWithIf)
751 .
split(wi, wi, wii, 2, TailStrategy::GuardWithIf)
752 .
split(n, n, ni, 8, TailStrategy::GuardWithIf)
755 .
reorder(ni, n, ci, wii, wi, c, w)
758 .reorder_storage(n, c, w);
760 .split(c, c, ci, 8, TailStrategy::GuardWithIf)
761 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
762 .split(n, n, ni, 8, TailStrategy::GuardWithIf)
764 .reorder(ni, r19_x, n, ci, wi, c, w)
768 .
split(c, c, ci, 3, TailStrategy::GuardWithIf)
769 .
split(w, w, wi, 7, TailStrategy::GuardWithIf)
770 .
split(n, n, ni, 8, TailStrategy::GuardWithIf)
776 .reorder_storage(n, c, w);
778 .
split(n, n, ni, 40, TailStrategy::GuardWithIf)
779 .
split(c, c, ci, 12, TailStrategy::GuardWithIf)
780 .
split(w, w, wi, 2, TailStrategy::GuardWithIf)
781 .
split(ni, ni, nii, 8, TailStrategy::GuardWithIf)
784 .
reorder(nii, ni, ci, wi, n, c, w)
788 .reorder_storage(n, c, w);
790 .split(n, n, ni, 40, TailStrategy::GuardWithIf)
791 .split(c, c, ci, 12, TailStrategy::GuardWithIf)
792 .split(w, w, wi, 2, TailStrategy::GuardWithIf)
793 .split(ni, ni, nii, 8, TailStrategy::GuardWithIf)
795 .reorder(nii, r9_x, ni, ci, wi, n, c, w)
799 normalized_schedule_features
800 .
split(c, c, ci, 5, TailStrategy::GuardWithIf)
801 .
split(s, s, si, 7, TailStrategy::GuardWithIf)
802 .
split(n, n, ni, 8, TailStrategy::GuardWithIf)
809 .
split(c, c, ci, 8, TailStrategy::GuardWithIf)
814 .split(c, c, ci, 8, TailStrategy::GuardWithIf)
816 .reorder(ci, c, w, r14_x);
818 .
split(c, c, ci, 8, TailStrategy::GuardWithIf)
824 .split(c, c, ci, 8, TailStrategy::GuardWithIf)
826 .reorder(ci, c, r4_x, r4_y, w)
828 squashed_head1_filter_broadcast
830 .
split(c, c, ci, 8, TailStrategy::GuardWithIf)
834 squashed_head1_filter
835 .
split(s, s, si, 10, TailStrategy::GuardWithIf)
836 .
split(n, n, ni, 2, TailStrategy::GuardWithIf)
837 .
split(c, c, ci, 8, TailStrategy::GuardWithIf)