Created
July 27, 2022 16:46
-
-
Save pashu123/5d69b27f781fedab03dcb5485ecc9925 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #map0 = affine_map<(d0, d1) -> (d0, d1)> | |
| #map1 = affine_map<(d0, d1) -> (d0, 0)> | |
| #map2 = affine_map<(d0, d1) -> ()> | |
| #map3 = affine_map<(d0, d1) -> (d1, d0)> | |
| #map4 = affine_map<(d0, d1) -> (d1)> | |
| #map5 = affine_map<(d0, d1, d2, d3, d4, d5, d6, d7) -> (0, d1, 0, d3, 0, 0, 0, 0)> | |
| #map6 = affine_map<(d0, d1, d2, d3, d4, d5, d6, d7) -> (d0, d1, d2, d3, d4, d5, d6, d7)> | |
| #map7 = affine_map<(d0, d1, d2, d3) -> (d1)> | |
| #map8 = affine_map<(d0, d1, d2, d3) -> (d0, d1, d2, d3)> | |
| #map9 = affine_map<(d0, d1, d2, d3) -> (d0, d1, 0, 0)> | |
| #map10 = affine_map<(d0, d1, d2, d3) -> (d0, 0, 0, 0)> | |
| #map11 = affine_map<(d0, d1, d2, d3) -> (d0, 0, d2, d3)> | |
| #map12 = affine_map<(d0, d1, d2, d3) -> ()> | |
| #map13 = affine_map<(d0, d1, d2, d3) -> (d1, 0, 0)> | |
| #map14 = affine_map<(d0, d1, d2, d3) -> (d0, d1, d3, d2)> | |
| #map15 = affine_map<(d0, d1, d2, d3) -> (d0, d1, d2, 0)> | |
| #map16 = affine_map<(d0, d1, d2, d3) -> (d2, 0)> | |
| #map17 = affine_map<(d0, d1, d2, d3) -> (d3)> | |
| module attributes {torch.debug_module_name = "model_inference"} { | |
| func.func @forward(%arg0: tensor<2x3x256x256xf32>, %arg1: tensor<2xf32>, %arg2: tensor<2x512xf32>) -> tensor<2x3x256x256xf32> { | |
| %cst = arith.constant 1.000000e+00 : f64 | |
| %cst_0 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<64x1xf32> | |
| %cst_1 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x640xf32> | |
| %cst_2 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_3 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_4 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_5 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x640xf32> | |
| %cst_6 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_7 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_8 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_9 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_10 = arith.constant dense<[[0.0985220074], [1.14068091], [0.969601631], [1.7801584], [0.453004777], [-0.784689903], [1.25971174], [1.0398941]]> : tensor<8x1xf32> | |
| %cst_11 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128x19x3x3xf32> | |
| %cst_12 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128xf32> | |
| %cst_13 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x1024xf32> | |
| %cst_14 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128x128x3x3xf32> | |
| %cst_15 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128xf32> | |
| %cst_16 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x1024xf32> | |
| %cst_17 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128x19x1x1xf32> | |
| %cst_18 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128x128x3x3xf32> | |
| %cst_19 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128xf32> | |
| %cst_20 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x1024xf32> | |
| %cst_21 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128x128x3x3xf32> | |
| %cst_22 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128xf32> | |
| %cst_23 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x1024xf32> | |
| %cst_24 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128x128x3x3xf32> | |
| %cst_25 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128xf32> | |
| %cst_26 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x1024xf32> | |
| %cst_27 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128x128x3x3xf32> | |
| %cst_28 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128xf32> | |
| %cst_29 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x1024xf32> | |
| %cst_30 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128x128x3x3xf32> | |
| %cst_31 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128xf32> | |
| %cst_32 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x1024xf32> | |
| %cst_33 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128x128x3x3xf32> | |
| %cst_34 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128xf32> | |
| %cst_35 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x1024xf32> | |
| %cst_36 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x128x3x3xf32> | |
| %cst_37 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_38 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_39 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_40 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_41 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_42 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x128x1x1xf32> | |
| %cst_43 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_44 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_45 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_46 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_47 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_48 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_49 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_50 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_51 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_52 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_53 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_54 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_55 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_56 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_57 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_58 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_59 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_60 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_61 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_62 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_63 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_64 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_65 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_66 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_67 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_68 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_69 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_70 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_71 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_72 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_73 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_74 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_75 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_76 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_77 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_78 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_79 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_80 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_81 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_82 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_83 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_84 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_85 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x256x3x3xf32> | |
| %cst_86 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_87 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_88 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_89 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_90 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_91 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x256x1x1xf32> | |
| %cst_92 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_93 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_94 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_95 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_96 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_97 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_98 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_99 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_100 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_101 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_102 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_103 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_104 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_105 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_106 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_107 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_108 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_109 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_110 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_111 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_112 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_113 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_114 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_115 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_116 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1536x512x1x1xf32> | |
| %cst_117 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1536xf32> | |
| %cst_118 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x1x1xf32> | |
| %cst_119 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_120 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_121 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_122 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_123 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_124 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_125 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_126 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1536x512x1x1xf32> | |
| %cst_127 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1536xf32> | |
| %cst_128 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x1x1xf32> | |
| %cst_129 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_130 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_131 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_132 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_133 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_134 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_135 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_136 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1536x512x1x1xf32> | |
| %cst_137 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1536xf32> | |
| %cst_138 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x1x1xf32> | |
| %cst_139 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_140 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_141 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_142 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_143 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_144 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_145 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_146 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1536x512x1x1xf32> | |
| %cst_147 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1536xf32> | |
| %cst_148 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x1x1xf32> | |
| %cst_149 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_150 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x512x3x3xf32> | |
| %cst_151 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_152 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_153 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_154 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_155 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_156 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x512x1x1xf32> | |
| %cst_157 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072x1024x1x1xf32> | |
| %cst_158 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072xf32> | |
| %cst_159 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x1x1xf32> | |
| %cst_160 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_161 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_162 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_163 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_164 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_165 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_166 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_167 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072x1024x1x1xf32> | |
| %cst_168 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072xf32> | |
| %cst_169 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x1x1xf32> | |
| %cst_170 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_171 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_172 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_173 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_174 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_175 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_176 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_177 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072x1024x1x1xf32> | |
| %cst_178 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072xf32> | |
| %cst_179 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x1x1xf32> | |
| %cst_180 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_181 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_182 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_183 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_184 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_185 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_186 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_187 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072x1024x1x1xf32> | |
| %cst_188 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072xf32> | |
| %cst_189 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x1x1xf32> | |
| %cst_190 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_191 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_192 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_193 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_194 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_195 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_196 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_197 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072x1024x1x1xf32> | |
| %cst_198 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072xf32> | |
| %cst_199 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x1x1xf32> | |
| %cst_200 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_201 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_202 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_203 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_204 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_205 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_206 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_207 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072x1024x1x1xf32> | |
| %cst_208 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072xf32> | |
| %cst_209 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x1x1xf32> | |
| %cst_210 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_211 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_212 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_213 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_214 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_215 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_216 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_217 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072x1024x1x1xf32> | |
| %cst_218 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072xf32> | |
| %cst_219 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x1x1xf32> | |
| %cst_220 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_221 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_222 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_223 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_224 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_225 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_226 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_227 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072x1024x1x1xf32> | |
| %cst_228 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072xf32> | |
| %cst_229 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x1x1xf32> | |
| %cst_230 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_231 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_232 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_233 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_234 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_235 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_236 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_237 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072x1024x1x1xf32> | |
| %cst_238 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072xf32> | |
| %cst_239 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x1x1xf32> | |
| %cst_240 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_241 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_242 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_243 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_244 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_245 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_246 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_247 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072x1024x1x1xf32> | |
| %cst_248 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072xf32> | |
| %cst_249 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x1x1xf32> | |
| %cst_250 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_251 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_252 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_253 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_254 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_255 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_256 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_257 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072x1024x1x1xf32> | |
| %cst_258 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072xf32> | |
| %cst_259 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x1x1xf32> | |
| %cst_260 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_261 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_262 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_263 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_264 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_265 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_266 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_267 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072x1024x1x1xf32> | |
| %cst_268 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072xf32> | |
| %cst_269 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x1x1xf32> | |
| %cst_270 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_271 = arith.constant dense<[[0], [0], [0], [1], [1], [2], [2], [3]]> : tensor<8x1xi64> | |
| %cst_272 = arith.constant dense<[0, 0, 0, 1, 1, 2, 2, 3]> : tensor<8xi64> | |
| %cst_273 = arith.constant dense<[[0], [1], [1], [2], [2], [3], [3], [3]]> : tensor<8x1xi64> | |
| %cst_274 = arith.constant dense<[0, 1, 1, 2, 2, 3, 3, 3]> : tensor<8xi64> | |
| %cst_275 = arith.constant dense<[[1.000000e+00], [7.500000e-01], [2.500000e-01], [7.500000e-01], [2.500000e-01], [7.500000e-01], [2.500000e-01], [7.500000e-01]]> : tensor<8x1xf32> | |
| %cst_276 = arith.constant dense<[[0.000000e+00], [2.500000e-01], [7.500000e-01], [2.500000e-01], [7.500000e-01], [2.500000e-01], [7.500000e-01], [2.500000e-01]]> : tensor<8x1xf32> | |
| %cst_277 = arith.constant dense<[1.000000e+00, 7.500000e-01, 2.500000e-01, 7.500000e-01, 2.500000e-01, 7.500000e-01, 2.500000e-01, 7.500000e-01]> : tensor<8xf32> | |
| %cst_278 = arith.constant dense<[0.000000e+00, 2.500000e-01, 7.500000e-01, 2.500000e-01, 7.500000e-01, 2.500000e-01, 7.500000e-01, 2.500000e-01]> : tensor<8xf32> | |
| %cst_279 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x2048x3x3xf32> | |
| %cst_280 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_281 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_282 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_283 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_284 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_285 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x2048x1x1xf32> | |
| %cst_286 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072x1024x1x1xf32> | |
| %cst_287 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072xf32> | |
| %cst_288 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x1x1xf32> | |
| %cst_289 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_290 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_291 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_292 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_293 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_294 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_295 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_296 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072x1024x1x1xf32> | |
| %cst_297 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072xf32> | |
| %cst_298 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x1x1xf32> | |
| %cst_299 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_300 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_301 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_302 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_303 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_304 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_305 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_306 = arith.constant dense<0.707106769> : tensor<1024x1x1xf32> | |
| %cst_307 = arith.constant dense<0.000000e+00> : tensor<1024x1x1xf32> | |
| %cst_308 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072x1024x1x1xf32> | |
| %cst_309 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3072xf32> | |
| %cst_310 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x1x1xf32> | |
| %cst_311 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_312 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024x3x3xf32> | |
| %cst_313 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024xf32> | |
| %cst_314 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<2048x1024xf32> | |
| %cst_315 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024x3x3xf32> | |
| %cst_316 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_317 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_318 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024x1x1xf32> | |
| %cst_319 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1536x512x1x1xf32> | |
| %cst_320 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1536xf32> | |
| %cst_321 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x1x1xf32> | |
| %cst_322 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_323 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<16x1xi64> | |
| %cst_324 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<16xi64> | |
| %cst_325 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<16x1xi64> | |
| %cst_326 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<16xi64> | |
| %cst_327 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<16x1xf32> | |
| %cst_328 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<16x1xf32> | |
| %cst_329 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<16xf32> | |
| %cst_330 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<16xf32> | |
| %cst_331 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024x3x3xf32> | |
| %cst_332 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_333 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_334 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_335 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_336 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_337 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024x1x1xf32> | |
| %cst_338 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1536x512x1x1xf32> | |
| %cst_339 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1536xf32> | |
| %cst_340 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x1x1xf32> | |
| %cst_341 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_342 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_343 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_344 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_345 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_346 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_347 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_348 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1536x512x1x1xf32> | |
| %cst_349 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1536xf32> | |
| %cst_350 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x1x1xf32> | |
| %cst_351 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_352 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_353 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_354 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_355 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_356 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_357 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_358 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1536x512x1x1xf32> | |
| %cst_359 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1536xf32> | |
| %cst_360 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x1x1xf32> | |
| %cst_361 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_362 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_363 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_364 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_365 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_366 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_367 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_368 = arith.constant dense<0.707106769> : tensor<512x1x1xf32> | |
| %cst_369 = arith.constant dense<0.000000e+00> : tensor<512x1x1xf32> | |
| %cst_370 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1536x512x1x1xf32> | |
| %cst_371 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1536xf32> | |
| %cst_372 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x1x1xf32> | |
| %cst_373 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_374 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<32x1xi64> | |
| %cst_375 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<32xi64> | |
| %cst_376 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<32x1xi64> | |
| %cst_377 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<32xi64> | |
| %cst_378 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<32x1xf32> | |
| %cst_379 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<32x1xf32> | |
| %cst_380 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<32xf32> | |
| %cst_381 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<32xf32> | |
| %cst_382 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024x3x3xf32> | |
| %cst_383 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_384 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_385 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_386 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_387 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_388 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024x1x1xf32> | |
| %cst_389 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_390 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_391 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_392 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_393 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_394 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_395 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_396 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_397 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_398 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_399 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_400 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_401 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x512x3x3xf32> | |
| %cst_402 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512xf32> | |
| %cst_403 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<1024x1024xf32> | |
| %cst_404 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x512x3x3xf32> | |
| %cst_405 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_406 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_407 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x512x1x1xf32> | |
| %cst_408 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<64x1xi64> | |
| %cst_409 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<64xi64> | |
| %cst_410 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<64x1xi64> | |
| %cst_411 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<64xi64> | |
| %cst_412 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<64x1xf32> | |
| %cst_413 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<64x1xf32> | |
| %cst_414 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<64xf32> | |
| %cst_415 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<64xf32> | |
| %cst_416 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x512x3x3xf32> | |
| %cst_417 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_418 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_419 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_420 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_421 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_422 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x512x1x1xf32> | |
| %cst_423 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_424 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_425 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_426 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_427 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_428 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_429 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_430 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_431 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_432 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_433 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_434 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_435 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_436 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_437 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_438 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_439 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_440 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_441 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128x1xi64> | |
| %cst_442 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128xi64> | |
| %cst_443 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128x1xi64> | |
| %cst_444 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128xi64> | |
| %cst_445 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128x1xf32> | |
| %cst_446 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128x1xf32> | |
| %cst_447 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128xf32> | |
| %cst_448 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128xf32> | |
| %cst_449 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x512x3x3xf32> | |
| %cst_450 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_451 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_452 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_453 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_454 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_455 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x512x1x1xf32> | |
| %cst_456 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_457 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_458 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_459 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_460 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_461 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_462 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_463 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_464 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_465 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_466 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_467 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_468 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x256x3x3xf32> | |
| %cst_469 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_470 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<512x1024xf32> | |
| %cst_471 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128x256x3x3xf32> | |
| %cst_472 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128xf32> | |
| %cst_473 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x1024xf32> | |
| %cst_474 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128x256x1x1xf32> | |
| %cst_475 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x1xi64> | |
| %cst_476 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xi64> | |
| %cst_477 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x1xi64> | |
| %cst_478 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xi64> | |
| %cst_479 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x1xf32> | |
| %cst_480 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x1xf32> | |
| %cst_481 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_482 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256xf32> | |
| %cst_483 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128x256x3x3xf32> | |
| %cst_484 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128xf32> | |
| %cst_485 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x1024xf32> | |
| %cst_486 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128x128x3x3xf32> | |
| %cst_487 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128xf32> | |
| %cst_488 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x1024xf32> | |
| %cst_489 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128x256x1x1xf32> | |
| %cst_490 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128x128x3x3xf32> | |
| %cst_491 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128xf32> | |
| %cst_492 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x1024xf32> | |
| %cst_493 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128x128x3x3xf32> | |
| %cst_494 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128xf32> | |
| %cst_495 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x1024xf32> | |
| %cst_496 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128x128x3x3xf32> | |
| %cst_497 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128xf32> | |
| %cst_498 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x1024xf32> | |
| %cst_499 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128x128x3x3xf32> | |
| %cst_500 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128xf32> | |
| %cst_501 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x1024xf32> | |
| %cst_502 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128x128x3x3xf32> | |
| %cst_503 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<128xf32> | |
| %cst_504 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<256x1024xf32> | |
| %cst_505 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3x128x3x3xf32> | |
| %cst_506 = arith.constant dense<[-0.0193842854, 0.0141116232, -0.00911529362]> : tensor<3xf32> | |
| %cst_507 = arith.constant opaque<"elided_large_const", "0xDEADBEEF"> : tensor<3x128x1x1xf32> | |
| %cst_508 = arith.constant dense<22.627416997969522> : tensor<f64> | |
| %cst_509 = arith.constant dense<6.2831853071795862> : tensor<f64> | |
| %cst_510 = arith.constant dense<1.000000e-05> : tensor<f64> | |
| %cst_511 = arith.constant dense<1> : tensor<i64> | |
| %cst_512 = arith.constant dense<0.35355339059327379> : tensor<f64> | |
| %cst_513 = arith.constant 9.9999999999999998E-13 : f64 | |
| %cst_514 = arith.constant 0.000000e+00 : f32 | |
| %cst_515 = arith.constant -3.40282347E+38 : f32 | |
| %cst_516 = arith.constant 0x4B000000 : f32 | |
| %cst_517 = arith.constant 0x4A800000 : f32 | |
| %cst_518 = arith.constant 0x49800000 : f32 | |
| %cst_519 = arith.constant 5.242880e+05 : f32 | |
| %cst_520 = arith.constant 1.310720e+05 : f32 | |
| %cst_521 = arith.constant 6.553600e+04 : f32 | |
| %cst_522 = arith.constant 4.000000e+00 : f32 | |
| %cst_523 = arith.constant 1.638400e+04 : f32 | |
| %cst_524 = arith.constant 3.276800e+04 : f32 | |
| %cst_525 = arith.constant 2.621440e+05 : f32 | |
| %cst_526 = arith.constant 0x4A000000 : f32 | |
| %c0_i64 = arith.constant 0 : i64 | |
| %0 = linalg.init_tensor [2, 512] : tensor<2x512xf32> | |
| %1 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = ["parallel", "parallel"]} ins(%arg2 : tensor<2x512xf32>) outs(%0 : tensor<2x512xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512xf32> | |
| %2 = linalg.init_tensor [2, 1] : tensor<2x1xf32> | |
| %3 = linalg.fill ins(%cst_514 : f32) outs(%2 : tensor<2x1xf32>) -> tensor<2x1xf32> | |
| %4 = linalg.generic {indexing_maps = [#map0, #map1], iterator_types = ["parallel", "reduction"]} ins(%1 : tensor<2x512xf32>) outs(%3 : tensor<2x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1xf32> | |
| %5 = linalg.generic {indexing_maps = [#map1, #map0], iterator_types = ["parallel", "parallel"]} ins(%4 : tensor<2x1xf32>) outs(%2 : tensor<2x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.sqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1xf32> | |
| %6 = linalg.generic {indexing_maps = [#map1, #map0], iterator_types = ["parallel", "parallel"]} ins(%5 : tensor<2x1xf32>) outs(%2 : tensor<2x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.truncf %cst_513 : f64 to f32 | |
| %5341 = arith.cmpf ult, %arg3, %5340 : f32 | |
| %5342 = arith.select %5341, %5340, %arg3 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1xf32> | |
| %7 = linalg.generic {indexing_maps = [#map1, #map0], iterator_types = ["parallel", "parallel"]} ins(%6 : tensor<2x1xf32>) outs(%0 : tensor<2x512xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x512xf32> | |
| %8 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel"]} ins(%arg2, %7 : tensor<2x512xf32>, tensor<2x512xf32>) outs(%0 : tensor<2x512xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.divf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512xf32> | |
| %9 = linalg.generic {indexing_maps = [#map0, #map2, #map0], iterator_types = ["parallel", "parallel"]} ins(%8, %cst_508 : tensor<2x512xf32>, tensor<f64>) outs(%0 : tensor<2x512xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512xf32> | |
| %10 = tensor.expand_shape %arg1 [[0, 1]] : tensor<2xf32> into tensor<2x1xf32> | |
| %11 = linalg.generic {indexing_maps = [#map1, #map2, #map0], iterator_types = ["parallel", "parallel"]} ins(%10, %cst_509 : tensor<2x1xf32>, tensor<f64>) outs(%2 : tensor<2x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1xf32> | |
| %12 = linalg.init_tensor [1, 64] : tensor<1x64xf32> | |
| %13 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_0 : tensor<64x1xf32>) outs(%12 : tensor<1x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1x64xf32> | |
| %14 = linalg.init_tensor [2, 64] : tensor<2x64xf32> | |
| %15 = linalg.fill ins(%cst_514 : f32) outs(%14 : tensor<2x64xf32>) -> tensor<2x64xf32> | |
| %16 = linalg.matmul ins(%11, %13 : tensor<2x1xf32>, tensor<1x64xf32>) outs(%15 : tensor<2x64xf32>) -> tensor<2x64xf32> | |
| %17 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = ["parallel", "parallel"]} ins(%16 : tensor<2x64xf32>) outs(%14 : tensor<2x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.cos %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x64xf32> | |
| %18 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = ["parallel", "parallel"]} ins(%16 : tensor<2x64xf32>) outs(%14 : tensor<2x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.sin %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x64xf32> | |
| %19 = linalg.init_tensor [2, 128] : tensor<2x128xf32> | |
| %20 = tensor.insert_slice %17 into %19[0, 0] [2, 64] [1, 1] : tensor<2x64xf32> into tensor<2x128xf32> | |
| %21 = tensor.insert_slice %18 into %20[0, 64] [2, 64] [1, 1] : tensor<2x64xf32> into tensor<2x128xf32> | |
| %22 = linalg.init_tensor [2, 640] : tensor<2x640xf32> | |
| %23 = tensor.insert_slice %9 into %22[0, 0] [2, 512] [1, 1] : tensor<2x512xf32> into tensor<2x640xf32> | |
| %24 = tensor.insert_slice %21 into %23[0, 512] [2, 128] [1, 1] : tensor<2x128xf32> into tensor<2x640xf32> | |
| %25 = linalg.init_tensor [640, 1024] : tensor<640x1024xf32> | |
| %26 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_1 : tensor<1024x640xf32>) outs(%25 : tensor<640x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<640x1024xf32> | |
| %27 = linalg.init_tensor [2, 1024] : tensor<2x1024xf32> | |
| %28 = linalg.fill ins(%cst_514 : f32) outs(%27 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %29 = linalg.matmul ins(%24, %26 : tensor<2x640xf32>, tensor<640x1024xf32>) outs(%28 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %30 = linalg.generic {indexing_maps = [#map4, #map0, #map0], iterator_types = ["parallel", "parallel"]} ins(%cst_2, %29 : tensor<1024xf32>, tensor<2x1024xf32>) outs(%27 : tensor<2x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024xf32> | |
| %31 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = ["parallel", "parallel"]} ins(%30 : tensor<2x1024xf32>) outs(%27 : tensor<2x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024xf32> | |
| %32 = linalg.init_tensor [1024, 1024] : tensor<1024x1024xf32> | |
| %33 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_3 : tensor<1024x1024xf32>) outs(%32 : tensor<1024x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x1024xf32> | |
| %34 = linalg.fill ins(%cst_514 : f32) outs(%27 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %35 = linalg.matmul ins(%31, %33 : tensor<2x1024xf32>, tensor<1024x1024xf32>) outs(%34 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %36 = linalg.generic {indexing_maps = [#map4, #map0, #map0], iterator_types = ["parallel", "parallel"]} ins(%cst_4, %35 : tensor<1024xf32>, tensor<2x1024xf32>) outs(%27 : tensor<2x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024xf32> | |
| %37 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = ["parallel", "parallel"]} ins(%36 : tensor<2x1024xf32>) outs(%27 : tensor<2x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024xf32> | |
| %38 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_5 : tensor<1024x640xf32>) outs(%25 : tensor<640x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<640x1024xf32> | |
| %39 = linalg.fill ins(%cst_514 : f32) outs(%27 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %40 = linalg.matmul ins(%24, %38 : tensor<2x640xf32>, tensor<640x1024xf32>) outs(%39 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %41 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel"]} ins(%37, %40 : tensor<2x1024xf32>, tensor<2x1024xf32>) outs(%27 : tensor<2x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024xf32> | |
| %42 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_6 : tensor<1024x1024xf32>) outs(%32 : tensor<1024x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x1024xf32> | |
| %43 = linalg.fill ins(%cst_514 : f32) outs(%27 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %44 = linalg.matmul ins(%41, %42 : tensor<2x1024xf32>, tensor<1024x1024xf32>) outs(%43 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %45 = linalg.generic {indexing_maps = [#map4, #map0, #map0], iterator_types = ["parallel", "parallel"]} ins(%cst_7, %44 : tensor<1024xf32>, tensor<2x1024xf32>) outs(%27 : tensor<2x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024xf32> | |
| %46 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = ["parallel", "parallel"]} ins(%45 : tensor<2x1024xf32>) outs(%27 : tensor<2x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024xf32> | |
| %47 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_8 : tensor<1024x1024xf32>) outs(%32 : tensor<1024x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x1024xf32> | |
| %48 = linalg.fill ins(%cst_514 : f32) outs(%27 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %49 = linalg.matmul ins(%46, %47 : tensor<2x1024xf32>, tensor<1024x1024xf32>) outs(%48 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %50 = linalg.generic {indexing_maps = [#map4, #map0, #map0], iterator_types = ["parallel", "parallel"]} ins(%cst_9, %49 : tensor<1024xf32>, tensor<2x1024xf32>) outs(%27 : tensor<2x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024xf32> | |
| %51 = linalg.generic {indexing_maps = [#map0, #map0, #map0], iterator_types = ["parallel", "parallel"]} ins(%50, %41 : tensor<2x1024xf32>, tensor<2x1024xf32>) outs(%27 : tensor<2x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024xf32> | |
| %52 = linalg.generic {indexing_maps = [#map1, #map2, #map0], iterator_types = ["parallel", "parallel"]} ins(%10, %cst_509 : tensor<2x1xf32>, tensor<f64>) outs(%2 : tensor<2x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1xf32> | |
| %53 = linalg.init_tensor [1, 8] : tensor<1x8xf32> | |
| %54 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_10 : tensor<8x1xf32>) outs(%53 : tensor<1x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1x8xf32> | |
| %55 = linalg.init_tensor [2, 8] : tensor<2x8xf32> | |
| %56 = linalg.fill ins(%cst_514 : f32) outs(%55 : tensor<2x8xf32>) -> tensor<2x8xf32> | |
| %57 = linalg.matmul ins(%52, %54 : tensor<2x1xf32>, tensor<1x8xf32>) outs(%56 : tensor<2x8xf32>) -> tensor<2x8xf32> | |
| %58 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = ["parallel", "parallel"]} ins(%57 : tensor<2x8xf32>) outs(%55 : tensor<2x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.cos %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x8xf32> | |
| %59 = linalg.generic {indexing_maps = [#map0, #map0], iterator_types = ["parallel", "parallel"]} ins(%57 : tensor<2x8xf32>) outs(%55 : tensor<2x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.sin %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x8xf32> | |
| %60 = linalg.init_tensor [2, 16] : tensor<2x16xf32> | |
| %61 = tensor.insert_slice %58 into %60[0, 0] [2, 8] [1, 1] : tensor<2x8xf32> into tensor<2x16xf32> | |
| %62 = tensor.insert_slice %59 into %61[0, 8] [2, 8] [1, 1] : tensor<2x8xf32> into tensor<2x16xf32> | |
| %63 = tensor.expand_shape %62 [[0, 1], [2, 3, 4, 5, 6, 7]] : tensor<2x16xf32> into tensor<1x2x1x16x1x1x1x1xf32> | |
| %64 = linalg.init_tensor [1, 2, 1, 16, 256, 1, 256, 1] : tensor<1x2x1x16x256x1x256x1xf32> | |
| %65 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%63 : tensor<1x2x1x16x1x1x1x1xf32>) outs(%64 : tensor<1x2x1x16x256x1x256x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1x2x1x16x256x1x256x1xf32> | |
| %66 = tensor.collapse_shape %65 [[0, 1], [2, 3], [4], [5, 6, 7]] : tensor<1x2x1x16x256x1x256x1xf32> into tensor<2x16x256x256xf32> | |
| %67 = linalg.init_tensor [2, 19, 256, 256] : tensor<2x19x256x256xf32> | |
| %68 = tensor.insert_slice %arg0 into %67[0, 0, 0, 0] [2, 3, 256, 256] [1, 1, 1, 1] : tensor<2x3x256x256xf32> into tensor<2x19x256x256xf32> | |
| %69 = tensor.insert_slice %66 into %68[0, 3, 0, 0] [2, 16, 256, 256] [1, 1, 1, 1] : tensor<2x16x256x256xf32> into tensor<2x19x256x256xf32> | |
| %70 = tensor.pad %69 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x19x256x256xf32> to tensor<2x19x258x258xf32> | |
| %71 = linalg.init_tensor [2, 128, 256, 256] : tensor<2x128x256x256xf32> | |
| %72 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_12 : tensor<128xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %73 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%70, %cst_11 : tensor<2x19x258x258xf32>, tensor<128x19x3x3xf32>) outs(%72 : tensor<2x128x256x256xf32>) -> tensor<2x128x256x256xf32> | |
| %74 = tensor.collapse_shape %73 [[0], [1], [2, 3]] : tensor<2x128x256x256xf32> into tensor<2x128x65536xf32> | |
| %75 = tensor.expand_shape %74 [[0], [1, 2], [3]] : tensor<2x128x65536xf32> into tensor<2x1x128x65536xf32> | |
| %76 = linalg.init_tensor [2, 1, 1, 1] : tensor<2x1x1x1xf32> | |
| %77 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %78 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%75 : tensor<2x1x128x65536xf32>) outs(%77 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %79 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%78 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_516 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %80 = linalg.init_tensor [2, 1, 128, 65536] : tensor<2x1x128x65536xf32> | |
| %81 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%75, %79 : tensor<2x1x128x65536xf32>, tensor<2x1x1x1xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %82 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%81 : tensor<2x1x128x65536xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %83 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %84 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%82 : tensor<2x1x128x65536xf32>) outs(%83 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %85 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%84 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_516 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %86 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %87 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%75 : tensor<2x1x128x65536xf32>) outs(%86 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %88 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%87 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_516 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %89 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%85, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %90 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%89 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %91 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%75, %88 : tensor<2x1x128x65536xf32>, tensor<2x1x1x1xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %92 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%91, %90 : tensor<2x1x128x65536xf32>, tensor<2x1x1x1xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %93 = tensor.collapse_shape %92 [[0], [1, 2], [3]] : tensor<2x1x128x65536xf32> into tensor<2x128x65536xf32> | |
| %94 = tensor.expand_shape %93 [[0], [1], [2, 3]] : tensor<2x128x65536xf32> into tensor<2x128x256x256xf32> | |
| %95 = linalg.init_tensor [1024, 256] : tensor<1024x256xf32> | |
| %96 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_13 : tensor<256x1024xf32>) outs(%95 : tensor<1024x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x256xf32> | |
| %97 = linalg.init_tensor [2, 256] : tensor<2x256xf32> | |
| %98 = linalg.fill ins(%cst_514 : f32) outs(%97 : tensor<2x256xf32>) -> tensor<2x256xf32> | |
| %99 = linalg.matmul ins(%51, %96 : tensor<2x1024xf32>, tensor<1024x256xf32>) outs(%98 : tensor<2x256xf32>) -> tensor<2x256xf32> | |
| %100 = tensor.extract_slice %99[0, 0] [2, 128] [1, 1] : tensor<2x256xf32> to tensor<2x128xf32> | |
| %101 = tensor.extract_slice %99[0, 128] [2, 128] [1, 1] : tensor<2x256xf32> to tensor<2x128xf32> | |
| %102 = tensor.expand_shape %101 [[0], [1, 2, 3]] : tensor<2x128xf32> into tensor<2x128x1x1xf32> | |
| %103 = tensor.expand_shape %100 [[0], [1, 2, 3]] : tensor<2x128xf32> into tensor<2x128x1x1xf32> | |
| %104 = linalg.init_tensor [2, 128, 1, 1] : tensor<2x128x1x1xf32> | |
| %105 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%103, %cst_511 : tensor<2x128x1x1xf32>, tensor<i64>) outs(%104 : tensor<2x128x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x128x1x1xf32> | |
| %106 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%94, %105 : tensor<2x128x256x256xf32>, tensor<2x128x1x1xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %107 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%102, %106 : tensor<2x128x1x1xf32>, tensor<2x128x256x256xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %108 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%107 : tensor<2x128x256x256xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %109 = tensor.pad %108 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x128x256x256xf32> to tensor<2x128x258x258xf32> | |
| %110 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_15 : tensor<128xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %111 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%109, %cst_14 : tensor<2x128x258x258xf32>, tensor<128x128x3x3xf32>) outs(%110 : tensor<2x128x256x256xf32>) -> tensor<2x128x256x256xf32> | |
| %112 = tensor.collapse_shape %111 [[0], [1], [2, 3]] : tensor<2x128x256x256xf32> into tensor<2x128x65536xf32> | |
| %113 = tensor.expand_shape %112 [[0], [1, 2], [3]] : tensor<2x128x65536xf32> into tensor<2x1x128x65536xf32> | |
| %114 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %115 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%113 : tensor<2x1x128x65536xf32>) outs(%114 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %116 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%115 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_516 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %117 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%113, %116 : tensor<2x1x128x65536xf32>, tensor<2x1x1x1xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %118 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%117 : tensor<2x1x128x65536xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %119 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %120 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%118 : tensor<2x1x128x65536xf32>) outs(%119 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %121 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%120 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_516 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %122 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %123 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%113 : tensor<2x1x128x65536xf32>) outs(%122 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %124 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%123 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_516 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %125 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%121, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %126 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%125 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %127 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%113, %124 : tensor<2x1x128x65536xf32>, tensor<2x1x1x1xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %128 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%127, %126 : tensor<2x1x128x65536xf32>, tensor<2x1x1x1xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %129 = tensor.collapse_shape %128 [[0], [1, 2], [3]] : tensor<2x1x128x65536xf32> into tensor<2x128x65536xf32> | |
| %130 = tensor.expand_shape %129 [[0], [1], [2, 3]] : tensor<2x128x65536xf32> into tensor<2x128x256x256xf32> | |
| %131 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_16 : tensor<256x1024xf32>) outs(%95 : tensor<1024x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x256xf32> | |
| %132 = linalg.fill ins(%cst_514 : f32) outs(%97 : tensor<2x256xf32>) -> tensor<2x256xf32> | |
| %133 = linalg.matmul ins(%51, %131 : tensor<2x1024xf32>, tensor<1024x256xf32>) outs(%132 : tensor<2x256xf32>) -> tensor<2x256xf32> | |
| %134 = tensor.extract_slice %133[0, 0] [2, 128] [1, 1] : tensor<2x256xf32> to tensor<2x128xf32> | |
| %135 = tensor.extract_slice %133[0, 128] [2, 128] [1, 1] : tensor<2x256xf32> to tensor<2x128xf32> | |
| %136 = tensor.expand_shape %135 [[0], [1, 2, 3]] : tensor<2x128xf32> into tensor<2x128x1x1xf32> | |
| %137 = tensor.expand_shape %134 [[0], [1, 2, 3]] : tensor<2x128xf32> into tensor<2x128x1x1xf32> | |
| %138 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%137, %cst_511 : tensor<2x128x1x1xf32>, tensor<i64>) outs(%104 : tensor<2x128x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x128x1x1xf32> | |
| %139 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%130, %138 : tensor<2x128x256x256xf32>, tensor<2x128x1x1xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %140 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%136, %139 : tensor<2x128x1x1xf32>, tensor<2x128x256x256xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %141 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%140 : tensor<2x128x256x256xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %142 = linalg.fill ins(%cst_514 : f32) outs(%71 : tensor<2x128x256x256xf32>) -> tensor<2x128x256x256xf32> | |
| %143 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%69, %cst_17 : tensor<2x19x256x256xf32>, tensor<128x19x1x1xf32>) outs(%142 : tensor<2x128x256x256xf32>) -> tensor<2x128x256x256xf32> | |
| %144 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%141, %143 : tensor<2x128x256x256xf32>, tensor<2x128x256x256xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %145 = tensor.pad %144 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x128x256x256xf32> to tensor<2x128x258x258xf32> | |
| %146 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_19 : tensor<128xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %147 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%145, %cst_18 : tensor<2x128x258x258xf32>, tensor<128x128x3x3xf32>) outs(%146 : tensor<2x128x256x256xf32>) -> tensor<2x128x256x256xf32> | |
| %148 = tensor.collapse_shape %147 [[0], [1], [2, 3]] : tensor<2x128x256x256xf32> into tensor<2x128x65536xf32> | |
| %149 = tensor.expand_shape %148 [[0], [1, 2], [3]] : tensor<2x128x65536xf32> into tensor<2x1x128x65536xf32> | |
| %150 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %151 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%149 : tensor<2x1x128x65536xf32>) outs(%150 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %152 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%151 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_516 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %153 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%149, %152 : tensor<2x1x128x65536xf32>, tensor<2x1x1x1xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %154 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%153 : tensor<2x1x128x65536xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %155 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %156 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%154 : tensor<2x1x128x65536xf32>) outs(%155 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %157 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%156 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_516 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %158 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %159 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%149 : tensor<2x1x128x65536xf32>) outs(%158 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %160 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%159 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_516 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %161 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%157, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %162 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%161 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %163 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%149, %160 : tensor<2x1x128x65536xf32>, tensor<2x1x1x1xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %164 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%163, %162 : tensor<2x1x128x65536xf32>, tensor<2x1x1x1xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %165 = tensor.collapse_shape %164 [[0], [1, 2], [3]] : tensor<2x1x128x65536xf32> into tensor<2x128x65536xf32> | |
| %166 = tensor.expand_shape %165 [[0], [1], [2, 3]] : tensor<2x128x65536xf32> into tensor<2x128x256x256xf32> | |
| %167 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_20 : tensor<256x1024xf32>) outs(%95 : tensor<1024x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x256xf32> | |
| %168 = linalg.fill ins(%cst_514 : f32) outs(%97 : tensor<2x256xf32>) -> tensor<2x256xf32> | |
| %169 = linalg.matmul ins(%51, %167 : tensor<2x1024xf32>, tensor<1024x256xf32>) outs(%168 : tensor<2x256xf32>) -> tensor<2x256xf32> | |
| %170 = tensor.extract_slice %169[0, 0] [2, 128] [1, 1] : tensor<2x256xf32> to tensor<2x128xf32> | |
| %171 = tensor.extract_slice %169[0, 128] [2, 128] [1, 1] : tensor<2x256xf32> to tensor<2x128xf32> | |
| %172 = tensor.expand_shape %171 [[0], [1, 2, 3]] : tensor<2x128xf32> into tensor<2x128x1x1xf32> | |
| %173 = tensor.expand_shape %170 [[0], [1, 2, 3]] : tensor<2x128xf32> into tensor<2x128x1x1xf32> | |
| %174 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%173, %cst_511 : tensor<2x128x1x1xf32>, tensor<i64>) outs(%104 : tensor<2x128x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x128x1x1xf32> | |
| %175 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%166, %174 : tensor<2x128x256x256xf32>, tensor<2x128x1x1xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %176 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%172, %175 : tensor<2x128x1x1xf32>, tensor<2x128x256x256xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %177 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%176 : tensor<2x128x256x256xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %178 = tensor.pad %177 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x128x256x256xf32> to tensor<2x128x258x258xf32> | |
| %179 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_22 : tensor<128xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %180 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%178, %cst_21 : tensor<2x128x258x258xf32>, tensor<128x128x3x3xf32>) outs(%179 : tensor<2x128x256x256xf32>) -> tensor<2x128x256x256xf32> | |
| %181 = tensor.collapse_shape %180 [[0], [1], [2, 3]] : tensor<2x128x256x256xf32> into tensor<2x128x65536xf32> | |
| %182 = tensor.expand_shape %181 [[0], [1, 2], [3]] : tensor<2x128x65536xf32> into tensor<2x1x128x65536xf32> | |
| %183 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %184 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%182 : tensor<2x1x128x65536xf32>) outs(%183 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %185 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%184 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_516 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %186 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%182, %185 : tensor<2x1x128x65536xf32>, tensor<2x1x1x1xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %187 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%186 : tensor<2x1x128x65536xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %188 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %189 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%187 : tensor<2x1x128x65536xf32>) outs(%188 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %190 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%189 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_516 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %191 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %192 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%182 : tensor<2x1x128x65536xf32>) outs(%191 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %193 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%192 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_516 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %194 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%190, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %195 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%194 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %196 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%182, %193 : tensor<2x1x128x65536xf32>, tensor<2x1x1x1xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %197 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%196, %195 : tensor<2x1x128x65536xf32>, tensor<2x1x1x1xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %198 = tensor.collapse_shape %197 [[0], [1, 2], [3]] : tensor<2x1x128x65536xf32> into tensor<2x128x65536xf32> | |
| %199 = tensor.expand_shape %198 [[0], [1], [2, 3]] : tensor<2x128x65536xf32> into tensor<2x128x256x256xf32> | |
| %200 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_23 : tensor<256x1024xf32>) outs(%95 : tensor<1024x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x256xf32> | |
| %201 = linalg.fill ins(%cst_514 : f32) outs(%97 : tensor<2x256xf32>) -> tensor<2x256xf32> | |
| %202 = linalg.matmul ins(%51, %200 : tensor<2x1024xf32>, tensor<1024x256xf32>) outs(%201 : tensor<2x256xf32>) -> tensor<2x256xf32> | |
| %203 = tensor.extract_slice %202[0, 0] [2, 128] [1, 1] : tensor<2x256xf32> to tensor<2x128xf32> | |
| %204 = tensor.extract_slice %202[0, 128] [2, 128] [1, 1] : tensor<2x256xf32> to tensor<2x128xf32> | |
| %205 = tensor.expand_shape %204 [[0], [1, 2, 3]] : tensor<2x128xf32> into tensor<2x128x1x1xf32> | |
| %206 = tensor.expand_shape %203 [[0], [1, 2, 3]] : tensor<2x128xf32> into tensor<2x128x1x1xf32> | |
| %207 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%206, %cst_511 : tensor<2x128x1x1xf32>, tensor<i64>) outs(%104 : tensor<2x128x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x128x1x1xf32> | |
| %208 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%199, %207 : tensor<2x128x256x256xf32>, tensor<2x128x1x1xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %209 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%205, %208 : tensor<2x128x1x1xf32>, tensor<2x128x256x256xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %210 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%209 : tensor<2x128x256x256xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %211 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%210, %144 : tensor<2x128x256x256xf32>, tensor<2x128x256x256xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %212 = tensor.pad %211 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x128x256x256xf32> to tensor<2x128x258x258xf32> | |
| %213 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_25 : tensor<128xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %214 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%212, %cst_24 : tensor<2x128x258x258xf32>, tensor<128x128x3x3xf32>) outs(%213 : tensor<2x128x256x256xf32>) -> tensor<2x128x256x256xf32> | |
| %215 = tensor.collapse_shape %214 [[0], [1], [2, 3]] : tensor<2x128x256x256xf32> into tensor<2x128x65536xf32> | |
| %216 = tensor.expand_shape %215 [[0], [1, 2], [3]] : tensor<2x128x65536xf32> into tensor<2x1x128x65536xf32> | |
| %217 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %218 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%216 : tensor<2x1x128x65536xf32>) outs(%217 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %219 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%218 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_516 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %220 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%216, %219 : tensor<2x1x128x65536xf32>, tensor<2x1x1x1xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %221 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%220 : tensor<2x1x128x65536xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %222 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %223 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%221 : tensor<2x1x128x65536xf32>) outs(%222 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %224 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%223 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_516 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %225 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %226 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%216 : tensor<2x1x128x65536xf32>) outs(%225 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %227 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%226 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_516 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %228 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%224, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %229 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%228 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %230 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%216, %227 : tensor<2x1x128x65536xf32>, tensor<2x1x1x1xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %231 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%230, %229 : tensor<2x1x128x65536xf32>, tensor<2x1x1x1xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %232 = tensor.collapse_shape %231 [[0], [1, 2], [3]] : tensor<2x1x128x65536xf32> into tensor<2x128x65536xf32> | |
| %233 = tensor.expand_shape %232 [[0], [1], [2, 3]] : tensor<2x128x65536xf32> into tensor<2x128x256x256xf32> | |
| %234 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_26 : tensor<256x1024xf32>) outs(%95 : tensor<1024x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x256xf32> | |
| %235 = linalg.fill ins(%cst_514 : f32) outs(%97 : tensor<2x256xf32>) -> tensor<2x256xf32> | |
| %236 = linalg.matmul ins(%51, %234 : tensor<2x1024xf32>, tensor<1024x256xf32>) outs(%235 : tensor<2x256xf32>) -> tensor<2x256xf32> | |
| %237 = tensor.extract_slice %236[0, 0] [2, 128] [1, 1] : tensor<2x256xf32> to tensor<2x128xf32> | |
| %238 = tensor.extract_slice %236[0, 128] [2, 128] [1, 1] : tensor<2x256xf32> to tensor<2x128xf32> | |
| %239 = tensor.expand_shape %238 [[0], [1, 2, 3]] : tensor<2x128xf32> into tensor<2x128x1x1xf32> | |
| %240 = tensor.expand_shape %237 [[0], [1, 2, 3]] : tensor<2x128xf32> into tensor<2x128x1x1xf32> | |
| %241 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%240, %cst_511 : tensor<2x128x1x1xf32>, tensor<i64>) outs(%104 : tensor<2x128x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x128x1x1xf32> | |
| %242 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%233, %241 : tensor<2x128x256x256xf32>, tensor<2x128x1x1xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %243 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%239, %242 : tensor<2x128x1x1xf32>, tensor<2x128x256x256xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %244 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%243 : tensor<2x128x256x256xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %245 = tensor.pad %244 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x128x256x256xf32> to tensor<2x128x258x258xf32> | |
| %246 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_28 : tensor<128xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %247 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%245, %cst_27 : tensor<2x128x258x258xf32>, tensor<128x128x3x3xf32>) outs(%246 : tensor<2x128x256x256xf32>) -> tensor<2x128x256x256xf32> | |
| %248 = tensor.collapse_shape %247 [[0], [1], [2, 3]] : tensor<2x128x256x256xf32> into tensor<2x128x65536xf32> | |
| %249 = tensor.expand_shape %248 [[0], [1, 2], [3]] : tensor<2x128x65536xf32> into tensor<2x1x128x65536xf32> | |
| %250 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %251 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%249 : tensor<2x1x128x65536xf32>) outs(%250 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %252 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%251 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_516 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %253 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%249, %252 : tensor<2x1x128x65536xf32>, tensor<2x1x1x1xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %254 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%253 : tensor<2x1x128x65536xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %255 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %256 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%254 : tensor<2x1x128x65536xf32>) outs(%255 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %257 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%256 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_516 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %258 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %259 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%249 : tensor<2x1x128x65536xf32>) outs(%258 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %260 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%259 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_516 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %261 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%257, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %262 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%261 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %263 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%249, %260 : tensor<2x1x128x65536xf32>, tensor<2x1x1x1xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %264 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%263, %262 : tensor<2x1x128x65536xf32>, tensor<2x1x1x1xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %265 = tensor.collapse_shape %264 [[0], [1, 2], [3]] : tensor<2x1x128x65536xf32> into tensor<2x128x65536xf32> | |
| %266 = tensor.expand_shape %265 [[0], [1], [2, 3]] : tensor<2x128x65536xf32> into tensor<2x128x256x256xf32> | |
| %267 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_29 : tensor<256x1024xf32>) outs(%95 : tensor<1024x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x256xf32> | |
| %268 = linalg.fill ins(%cst_514 : f32) outs(%97 : tensor<2x256xf32>) -> tensor<2x256xf32> | |
| %269 = linalg.matmul ins(%51, %267 : tensor<2x1024xf32>, tensor<1024x256xf32>) outs(%268 : tensor<2x256xf32>) -> tensor<2x256xf32> | |
| %270 = tensor.extract_slice %269[0, 0] [2, 128] [1, 1] : tensor<2x256xf32> to tensor<2x128xf32> | |
| %271 = tensor.extract_slice %269[0, 128] [2, 128] [1, 1] : tensor<2x256xf32> to tensor<2x128xf32> | |
| %272 = tensor.expand_shape %271 [[0], [1, 2, 3]] : tensor<2x128xf32> into tensor<2x128x1x1xf32> | |
| %273 = tensor.expand_shape %270 [[0], [1, 2, 3]] : tensor<2x128xf32> into tensor<2x128x1x1xf32> | |
| %274 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%273, %cst_511 : tensor<2x128x1x1xf32>, tensor<i64>) outs(%104 : tensor<2x128x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x128x1x1xf32> | |
| %275 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%266, %274 : tensor<2x128x256x256xf32>, tensor<2x128x1x1xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %276 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%272, %275 : tensor<2x128x1x1xf32>, tensor<2x128x256x256xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %277 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%276 : tensor<2x128x256x256xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %278 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%277, %211 : tensor<2x128x256x256xf32>, tensor<2x128x256x256xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %279 = tensor.pad %278 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x128x256x256xf32> to tensor<2x128x258x258xf32> | |
| %280 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_31 : tensor<128xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %281 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%279, %cst_30 : tensor<2x128x258x258xf32>, tensor<128x128x3x3xf32>) outs(%280 : tensor<2x128x256x256xf32>) -> tensor<2x128x256x256xf32> | |
| %282 = tensor.collapse_shape %281 [[0], [1], [2, 3]] : tensor<2x128x256x256xf32> into tensor<2x128x65536xf32> | |
| %283 = tensor.expand_shape %282 [[0], [1, 2], [3]] : tensor<2x128x65536xf32> into tensor<2x1x128x65536xf32> | |
| %284 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %285 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%283 : tensor<2x1x128x65536xf32>) outs(%284 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %286 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%285 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_516 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %287 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%283, %286 : tensor<2x1x128x65536xf32>, tensor<2x1x1x1xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %288 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%287 : tensor<2x1x128x65536xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %289 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %290 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%288 : tensor<2x1x128x65536xf32>) outs(%289 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %291 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%290 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_516 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %292 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %293 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%283 : tensor<2x1x128x65536xf32>) outs(%292 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %294 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%293 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_516 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %295 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%291, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %296 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%295 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %297 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%283, %294 : tensor<2x1x128x65536xf32>, tensor<2x1x1x1xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %298 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%297, %296 : tensor<2x1x128x65536xf32>, tensor<2x1x1x1xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %299 = tensor.collapse_shape %298 [[0], [1, 2], [3]] : tensor<2x1x128x65536xf32> into tensor<2x128x65536xf32> | |
| %300 = tensor.expand_shape %299 [[0], [1], [2, 3]] : tensor<2x128x65536xf32> into tensor<2x128x256x256xf32> | |
| %301 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_32 : tensor<256x1024xf32>) outs(%95 : tensor<1024x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x256xf32> | |
| %302 = linalg.fill ins(%cst_514 : f32) outs(%97 : tensor<2x256xf32>) -> tensor<2x256xf32> | |
| %303 = linalg.matmul ins(%51, %301 : tensor<2x1024xf32>, tensor<1024x256xf32>) outs(%302 : tensor<2x256xf32>) -> tensor<2x256xf32> | |
| %304 = tensor.extract_slice %303[0, 0] [2, 128] [1, 1] : tensor<2x256xf32> to tensor<2x128xf32> | |
| %305 = tensor.extract_slice %303[0, 128] [2, 128] [1, 1] : tensor<2x256xf32> to tensor<2x128xf32> | |
| %306 = tensor.expand_shape %305 [[0], [1, 2, 3]] : tensor<2x128xf32> into tensor<2x128x1x1xf32> | |
| %307 = tensor.expand_shape %304 [[0], [1, 2, 3]] : tensor<2x128xf32> into tensor<2x128x1x1xf32> | |
| %308 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%307, %cst_511 : tensor<2x128x1x1xf32>, tensor<i64>) outs(%104 : tensor<2x128x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x128x1x1xf32> | |
| %309 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%300, %308 : tensor<2x128x256x256xf32>, tensor<2x128x1x1xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %310 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%306, %309 : tensor<2x128x1x1xf32>, tensor<2x128x256x256xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %311 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%310 : tensor<2x128x256x256xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %312 = tensor.pad %311 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x128x256x256xf32> to tensor<2x128x258x258xf32> | |
| %313 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_34 : tensor<128xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %314 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%312, %cst_33 : tensor<2x128x258x258xf32>, tensor<128x128x3x3xf32>) outs(%313 : tensor<2x128x256x256xf32>) -> tensor<2x128x256x256xf32> | |
| %315 = tensor.collapse_shape %314 [[0], [1], [2, 3]] : tensor<2x128x256x256xf32> into tensor<2x128x65536xf32> | |
| %316 = tensor.expand_shape %315 [[0], [1, 2], [3]] : tensor<2x128x65536xf32> into tensor<2x1x128x65536xf32> | |
| %317 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %318 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%316 : tensor<2x1x128x65536xf32>) outs(%317 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %319 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%318 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_516 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %320 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%316, %319 : tensor<2x1x128x65536xf32>, tensor<2x1x1x1xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %321 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%320 : tensor<2x1x128x65536xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %322 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %323 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%321 : tensor<2x1x128x65536xf32>) outs(%322 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %324 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%323 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_516 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %325 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %326 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%316 : tensor<2x1x128x65536xf32>) outs(%325 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %327 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%326 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_516 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %328 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%324, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %329 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%328 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %330 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%316, %327 : tensor<2x1x128x65536xf32>, tensor<2x1x1x1xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %331 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%330, %329 : tensor<2x1x128x65536xf32>, tensor<2x1x1x1xf32>) outs(%80 : tensor<2x1x128x65536xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x128x65536xf32> | |
| %332 = tensor.collapse_shape %331 [[0], [1, 2], [3]] : tensor<2x1x128x65536xf32> into tensor<2x128x65536xf32> | |
| %333 = tensor.expand_shape %332 [[0], [1], [2, 3]] : tensor<2x128x65536xf32> into tensor<2x128x256x256xf32> | |
| %334 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_35 : tensor<256x1024xf32>) outs(%95 : tensor<1024x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x256xf32> | |
| %335 = linalg.fill ins(%cst_514 : f32) outs(%97 : tensor<2x256xf32>) -> tensor<2x256xf32> | |
| %336 = linalg.matmul ins(%51, %334 : tensor<2x1024xf32>, tensor<1024x256xf32>) outs(%335 : tensor<2x256xf32>) -> tensor<2x256xf32> | |
| %337 = tensor.extract_slice %336[0, 0] [2, 128] [1, 1] : tensor<2x256xf32> to tensor<2x128xf32> | |
| %338 = tensor.extract_slice %336[0, 128] [2, 128] [1, 1] : tensor<2x256xf32> to tensor<2x128xf32> | |
| %339 = tensor.expand_shape %338 [[0], [1, 2, 3]] : tensor<2x128xf32> into tensor<2x128x1x1xf32> | |
| %340 = tensor.expand_shape %337 [[0], [1, 2, 3]] : tensor<2x128xf32> into tensor<2x128x1x1xf32> | |
| %341 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%340, %cst_511 : tensor<2x128x1x1xf32>, tensor<i64>) outs(%104 : tensor<2x128x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x128x1x1xf32> | |
| %342 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%333, %341 : tensor<2x128x256x256xf32>, tensor<2x128x1x1xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %343 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%339, %342 : tensor<2x128x1x1xf32>, tensor<2x128x256x256xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %344 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%343 : tensor<2x128x256x256xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %345 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%344, %278 : tensor<2x128x256x256xf32>, tensor<2x128x256x256xf32>) outs(%71 : tensor<2x128x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x128x256x256xf32> | |
| %346 = linalg.init_tensor [2, 128, 128, 128] : tensor<2x128x128x128xf32> | |
| %347 = linalg.fill ins(%cst_514 : f32) outs(%346 : tensor<2x128x128x128xf32>) -> tensor<2x128x128x128xf32> | |
| %348 = linalg.init_tensor [2, 2] : tensor<2x2xf32> | |
| %349 = linalg.pooling_nchw_sum {dilations = dense<1> : vector<2xi64>, strides = dense<2> : vector<2xi64>} ins(%345, %348 : tensor<2x128x256x256xf32>, tensor<2x2xf32>) outs(%347 : tensor<2x128x128x128xf32>) -> tensor<2x128x128x128xf32> | |
| %350 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%349 : tensor<2x128x128x128xf32>) outs(%346 : tensor<2x128x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_522 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x128x128x128xf32> | |
| %351 = tensor.pad %350 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x128x128x128xf32> to tensor<2x128x130x130xf32> | |
| %352 = linalg.init_tensor [2, 256, 128, 128] : tensor<2x256x128x128xf32> | |
| %353 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_37 : tensor<256xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %354 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%351, %cst_36 : tensor<2x128x130x130xf32>, tensor<256x128x3x3xf32>) outs(%353 : tensor<2x256x128x128xf32>) -> tensor<2x256x128x128xf32> | |
| %355 = tensor.collapse_shape %354 [[0], [1], [2, 3]] : tensor<2x256x128x128xf32> into tensor<2x256x16384xf32> | |
| %356 = tensor.expand_shape %355 [[0], [1, 2], [3]] : tensor<2x256x16384xf32> into tensor<2x1x256x16384xf32> | |
| %357 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %358 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%356 : tensor<2x1x256x16384xf32>) outs(%357 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %359 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%358 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_517 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %360 = linalg.init_tensor [2, 1, 256, 16384] : tensor<2x1x256x16384xf32> | |
| %361 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%356, %359 : tensor<2x1x256x16384xf32>, tensor<2x1x1x1xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %362 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%361 : tensor<2x1x256x16384xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %363 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %364 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%362 : tensor<2x1x256x16384xf32>) outs(%363 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %365 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%364 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_517 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %366 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %367 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%356 : tensor<2x1x256x16384xf32>) outs(%366 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %368 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%367 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_517 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %369 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%365, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %370 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%369 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %371 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%356, %368 : tensor<2x1x256x16384xf32>, tensor<2x1x1x1xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %372 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%371, %370 : tensor<2x1x256x16384xf32>, tensor<2x1x1x1xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %373 = tensor.collapse_shape %372 [[0], [1, 2], [3]] : tensor<2x1x256x16384xf32> into tensor<2x256x16384xf32> | |
| %374 = tensor.expand_shape %373 [[0], [1], [2, 3]] : tensor<2x256x16384xf32> into tensor<2x256x128x128xf32> | |
| %375 = linalg.init_tensor [1024, 512] : tensor<1024x512xf32> | |
| %376 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_38 : tensor<512x1024xf32>) outs(%375 : tensor<1024x512xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x512xf32> | |
| %377 = linalg.fill ins(%cst_514 : f32) outs(%0 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %378 = linalg.matmul ins(%51, %376 : tensor<2x1024xf32>, tensor<1024x512xf32>) outs(%377 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %379 = tensor.extract_slice %378[0, 0] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %380 = tensor.extract_slice %378[0, 256] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %381 = tensor.expand_shape %380 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %382 = tensor.expand_shape %379 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %383 = linalg.init_tensor [2, 256, 1, 1] : tensor<2x256x1x1xf32> | |
| %384 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%382, %cst_511 : tensor<2x256x1x1xf32>, tensor<i64>) outs(%383 : tensor<2x256x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x1x1xf32> | |
| %385 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%374, %384 : tensor<2x256x128x128xf32>, tensor<2x256x1x1xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %386 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%381, %385 : tensor<2x256x1x1xf32>, tensor<2x256x128x128xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %387 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%386 : tensor<2x256x128x128xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %388 = tensor.pad %387 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x256x128x128xf32> to tensor<2x256x130x130xf32> | |
| %389 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_40 : tensor<256xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %390 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%388, %cst_39 : tensor<2x256x130x130xf32>, tensor<256x256x3x3xf32>) outs(%389 : tensor<2x256x128x128xf32>) -> tensor<2x256x128x128xf32> | |
| %391 = tensor.collapse_shape %390 [[0], [1], [2, 3]] : tensor<2x256x128x128xf32> into tensor<2x256x16384xf32> | |
| %392 = tensor.expand_shape %391 [[0], [1, 2], [3]] : tensor<2x256x16384xf32> into tensor<2x1x256x16384xf32> | |
| %393 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %394 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%392 : tensor<2x1x256x16384xf32>) outs(%393 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %395 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%394 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_517 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %396 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%392, %395 : tensor<2x1x256x16384xf32>, tensor<2x1x1x1xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %397 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%396 : tensor<2x1x256x16384xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %398 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %399 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%397 : tensor<2x1x256x16384xf32>) outs(%398 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %400 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%399 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_517 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %401 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %402 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%392 : tensor<2x1x256x16384xf32>) outs(%401 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %403 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%402 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_517 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %404 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%400, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %405 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%404 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %406 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%392, %403 : tensor<2x1x256x16384xf32>, tensor<2x1x1x1xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %407 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%406, %405 : tensor<2x1x256x16384xf32>, tensor<2x1x1x1xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %408 = tensor.collapse_shape %407 [[0], [1, 2], [3]] : tensor<2x1x256x16384xf32> into tensor<2x256x16384xf32> | |
| %409 = tensor.expand_shape %408 [[0], [1], [2, 3]] : tensor<2x256x16384xf32> into tensor<2x256x128x128xf32> | |
| %410 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_41 : tensor<512x1024xf32>) outs(%375 : tensor<1024x512xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x512xf32> | |
| %411 = linalg.fill ins(%cst_514 : f32) outs(%0 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %412 = linalg.matmul ins(%51, %410 : tensor<2x1024xf32>, tensor<1024x512xf32>) outs(%411 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %413 = tensor.extract_slice %412[0, 0] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %414 = tensor.extract_slice %412[0, 256] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %415 = tensor.expand_shape %414 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %416 = tensor.expand_shape %413 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %417 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%416, %cst_511 : tensor<2x256x1x1xf32>, tensor<i64>) outs(%383 : tensor<2x256x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x1x1xf32> | |
| %418 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%409, %417 : tensor<2x256x128x128xf32>, tensor<2x256x1x1xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %419 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%415, %418 : tensor<2x256x1x1xf32>, tensor<2x256x128x128xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %420 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%419 : tensor<2x256x128x128xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %421 = linalg.fill ins(%cst_514 : f32) outs(%352 : tensor<2x256x128x128xf32>) -> tensor<2x256x128x128xf32> | |
| %422 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%350, %cst_42 : tensor<2x128x128x128xf32>, tensor<256x128x1x1xf32>) outs(%421 : tensor<2x256x128x128xf32>) -> tensor<2x256x128x128xf32> | |
| %423 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%420, %422 : tensor<2x256x128x128xf32>, tensor<2x256x128x128xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %424 = tensor.pad %423 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x256x128x128xf32> to tensor<2x256x130x130xf32> | |
| %425 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_44 : tensor<256xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %426 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%424, %cst_43 : tensor<2x256x130x130xf32>, tensor<256x256x3x3xf32>) outs(%425 : tensor<2x256x128x128xf32>) -> tensor<2x256x128x128xf32> | |
| %427 = tensor.collapse_shape %426 [[0], [1], [2, 3]] : tensor<2x256x128x128xf32> into tensor<2x256x16384xf32> | |
| %428 = tensor.expand_shape %427 [[0], [1, 2], [3]] : tensor<2x256x16384xf32> into tensor<2x1x256x16384xf32> | |
| %429 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %430 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%428 : tensor<2x1x256x16384xf32>) outs(%429 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %431 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%430 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_517 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %432 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%428, %431 : tensor<2x1x256x16384xf32>, tensor<2x1x1x1xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %433 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%432 : tensor<2x1x256x16384xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %434 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %435 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%433 : tensor<2x1x256x16384xf32>) outs(%434 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %436 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%435 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_517 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %437 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %438 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%428 : tensor<2x1x256x16384xf32>) outs(%437 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %439 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%438 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_517 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %440 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%436, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %441 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%440 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %442 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%428, %439 : tensor<2x1x256x16384xf32>, tensor<2x1x1x1xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %443 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%442, %441 : tensor<2x1x256x16384xf32>, tensor<2x1x1x1xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %444 = tensor.collapse_shape %443 [[0], [1, 2], [3]] : tensor<2x1x256x16384xf32> into tensor<2x256x16384xf32> | |
| %445 = tensor.expand_shape %444 [[0], [1], [2, 3]] : tensor<2x256x16384xf32> into tensor<2x256x128x128xf32> | |
| %446 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_45 : tensor<512x1024xf32>) outs(%375 : tensor<1024x512xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x512xf32> | |
| %447 = linalg.fill ins(%cst_514 : f32) outs(%0 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %448 = linalg.matmul ins(%51, %446 : tensor<2x1024xf32>, tensor<1024x512xf32>) outs(%447 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %449 = tensor.extract_slice %448[0, 0] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %450 = tensor.extract_slice %448[0, 256] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %451 = tensor.expand_shape %450 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %452 = tensor.expand_shape %449 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %453 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%452, %cst_511 : tensor<2x256x1x1xf32>, tensor<i64>) outs(%383 : tensor<2x256x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x1x1xf32> | |
| %454 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%445, %453 : tensor<2x256x128x128xf32>, tensor<2x256x1x1xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %455 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%451, %454 : tensor<2x256x1x1xf32>, tensor<2x256x128x128xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %456 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%455 : tensor<2x256x128x128xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %457 = tensor.pad %456 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x256x128x128xf32> to tensor<2x256x130x130xf32> | |
| %458 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_47 : tensor<256xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %459 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%457, %cst_46 : tensor<2x256x130x130xf32>, tensor<256x256x3x3xf32>) outs(%458 : tensor<2x256x128x128xf32>) -> tensor<2x256x128x128xf32> | |
| %460 = tensor.collapse_shape %459 [[0], [1], [2, 3]] : tensor<2x256x128x128xf32> into tensor<2x256x16384xf32> | |
| %461 = tensor.expand_shape %460 [[0], [1, 2], [3]] : tensor<2x256x16384xf32> into tensor<2x1x256x16384xf32> | |
| %462 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %463 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%461 : tensor<2x1x256x16384xf32>) outs(%462 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %464 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%463 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_517 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %465 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%461, %464 : tensor<2x1x256x16384xf32>, tensor<2x1x1x1xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %466 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%465 : tensor<2x1x256x16384xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %467 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %468 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%466 : tensor<2x1x256x16384xf32>) outs(%467 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %469 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%468 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_517 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %470 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %471 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%461 : tensor<2x1x256x16384xf32>) outs(%470 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %472 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%471 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_517 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %473 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%469, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %474 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%473 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %475 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%461, %472 : tensor<2x1x256x16384xf32>, tensor<2x1x1x1xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %476 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%475, %474 : tensor<2x1x256x16384xf32>, tensor<2x1x1x1xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %477 = tensor.collapse_shape %476 [[0], [1, 2], [3]] : tensor<2x1x256x16384xf32> into tensor<2x256x16384xf32> | |
| %478 = tensor.expand_shape %477 [[0], [1], [2, 3]] : tensor<2x256x16384xf32> into tensor<2x256x128x128xf32> | |
| %479 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_48 : tensor<512x1024xf32>) outs(%375 : tensor<1024x512xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x512xf32> | |
| %480 = linalg.fill ins(%cst_514 : f32) outs(%0 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %481 = linalg.matmul ins(%51, %479 : tensor<2x1024xf32>, tensor<1024x512xf32>) outs(%480 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %482 = tensor.extract_slice %481[0, 0] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %483 = tensor.extract_slice %481[0, 256] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %484 = tensor.expand_shape %483 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %485 = tensor.expand_shape %482 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %486 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%485, %cst_511 : tensor<2x256x1x1xf32>, tensor<i64>) outs(%383 : tensor<2x256x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x1x1xf32> | |
| %487 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%478, %486 : tensor<2x256x128x128xf32>, tensor<2x256x1x1xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %488 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%484, %487 : tensor<2x256x1x1xf32>, tensor<2x256x128x128xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %489 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%488 : tensor<2x256x128x128xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %490 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%489, %423 : tensor<2x256x128x128xf32>, tensor<2x256x128x128xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %491 = tensor.pad %490 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x256x128x128xf32> to tensor<2x256x130x130xf32> | |
| %492 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_50 : tensor<256xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %493 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%491, %cst_49 : tensor<2x256x130x130xf32>, tensor<256x256x3x3xf32>) outs(%492 : tensor<2x256x128x128xf32>) -> tensor<2x256x128x128xf32> | |
| %494 = tensor.collapse_shape %493 [[0], [1], [2, 3]] : tensor<2x256x128x128xf32> into tensor<2x256x16384xf32> | |
| %495 = tensor.expand_shape %494 [[0], [1, 2], [3]] : tensor<2x256x16384xf32> into tensor<2x1x256x16384xf32> | |
| %496 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %497 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%495 : tensor<2x1x256x16384xf32>) outs(%496 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %498 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%497 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_517 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %499 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%495, %498 : tensor<2x1x256x16384xf32>, tensor<2x1x1x1xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %500 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%499 : tensor<2x1x256x16384xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %501 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %502 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%500 : tensor<2x1x256x16384xf32>) outs(%501 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %503 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%502 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_517 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %504 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %505 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%495 : tensor<2x1x256x16384xf32>) outs(%504 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %506 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%505 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_517 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %507 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%503, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %508 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%507 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %509 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%495, %506 : tensor<2x1x256x16384xf32>, tensor<2x1x1x1xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %510 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%509, %508 : tensor<2x1x256x16384xf32>, tensor<2x1x1x1xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %511 = tensor.collapse_shape %510 [[0], [1, 2], [3]] : tensor<2x1x256x16384xf32> into tensor<2x256x16384xf32> | |
| %512 = tensor.expand_shape %511 [[0], [1], [2, 3]] : tensor<2x256x16384xf32> into tensor<2x256x128x128xf32> | |
| %513 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_51 : tensor<512x1024xf32>) outs(%375 : tensor<1024x512xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x512xf32> | |
| %514 = linalg.fill ins(%cst_514 : f32) outs(%0 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %515 = linalg.matmul ins(%51, %513 : tensor<2x1024xf32>, tensor<1024x512xf32>) outs(%514 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %516 = tensor.extract_slice %515[0, 0] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %517 = tensor.extract_slice %515[0, 256] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %518 = tensor.expand_shape %517 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %519 = tensor.expand_shape %516 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %520 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%519, %cst_511 : tensor<2x256x1x1xf32>, tensor<i64>) outs(%383 : tensor<2x256x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x1x1xf32> | |
| %521 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%512, %520 : tensor<2x256x128x128xf32>, tensor<2x256x1x1xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %522 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%518, %521 : tensor<2x256x1x1xf32>, tensor<2x256x128x128xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %523 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%522 : tensor<2x256x128x128xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %524 = tensor.pad %523 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x256x128x128xf32> to tensor<2x256x130x130xf32> | |
| %525 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_53 : tensor<256xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %526 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%524, %cst_52 : tensor<2x256x130x130xf32>, tensor<256x256x3x3xf32>) outs(%525 : tensor<2x256x128x128xf32>) -> tensor<2x256x128x128xf32> | |
| %527 = tensor.collapse_shape %526 [[0], [1], [2, 3]] : tensor<2x256x128x128xf32> into tensor<2x256x16384xf32> | |
| %528 = tensor.expand_shape %527 [[0], [1, 2], [3]] : tensor<2x256x16384xf32> into tensor<2x1x256x16384xf32> | |
| %529 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %530 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%528 : tensor<2x1x256x16384xf32>) outs(%529 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %531 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%530 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_517 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %532 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%528, %531 : tensor<2x1x256x16384xf32>, tensor<2x1x1x1xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %533 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%532 : tensor<2x1x256x16384xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %534 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %535 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%533 : tensor<2x1x256x16384xf32>) outs(%534 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %536 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%535 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_517 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %537 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %538 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%528 : tensor<2x1x256x16384xf32>) outs(%537 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %539 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%538 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_517 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %540 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%536, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %541 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%540 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %542 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%528, %539 : tensor<2x1x256x16384xf32>, tensor<2x1x1x1xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %543 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%542, %541 : tensor<2x1x256x16384xf32>, tensor<2x1x1x1xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %544 = tensor.collapse_shape %543 [[0], [1, 2], [3]] : tensor<2x1x256x16384xf32> into tensor<2x256x16384xf32> | |
| %545 = tensor.expand_shape %544 [[0], [1], [2, 3]] : tensor<2x256x16384xf32> into tensor<2x256x128x128xf32> | |
| %546 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_54 : tensor<512x1024xf32>) outs(%375 : tensor<1024x512xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x512xf32> | |
| %547 = linalg.fill ins(%cst_514 : f32) outs(%0 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %548 = linalg.matmul ins(%51, %546 : tensor<2x1024xf32>, tensor<1024x512xf32>) outs(%547 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %549 = tensor.extract_slice %548[0, 0] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %550 = tensor.extract_slice %548[0, 256] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %551 = tensor.expand_shape %550 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %552 = tensor.expand_shape %549 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %553 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%552, %cst_511 : tensor<2x256x1x1xf32>, tensor<i64>) outs(%383 : tensor<2x256x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x1x1xf32> | |
| %554 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%545, %553 : tensor<2x256x128x128xf32>, tensor<2x256x1x1xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %555 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%551, %554 : tensor<2x256x1x1xf32>, tensor<2x256x128x128xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %556 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%555 : tensor<2x256x128x128xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %557 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%556, %490 : tensor<2x256x128x128xf32>, tensor<2x256x128x128xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %558 = tensor.pad %557 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x256x128x128xf32> to tensor<2x256x130x130xf32> | |
| %559 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_56 : tensor<256xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %560 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%558, %cst_55 : tensor<2x256x130x130xf32>, tensor<256x256x3x3xf32>) outs(%559 : tensor<2x256x128x128xf32>) -> tensor<2x256x128x128xf32> | |
| %561 = tensor.collapse_shape %560 [[0], [1], [2, 3]] : tensor<2x256x128x128xf32> into tensor<2x256x16384xf32> | |
| %562 = tensor.expand_shape %561 [[0], [1, 2], [3]] : tensor<2x256x16384xf32> into tensor<2x1x256x16384xf32> | |
| %563 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %564 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%562 : tensor<2x1x256x16384xf32>) outs(%563 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %565 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%564 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_517 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %566 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%562, %565 : tensor<2x1x256x16384xf32>, tensor<2x1x1x1xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %567 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%566 : tensor<2x1x256x16384xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %568 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %569 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%567 : tensor<2x1x256x16384xf32>) outs(%568 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %570 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%569 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_517 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %571 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %572 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%562 : tensor<2x1x256x16384xf32>) outs(%571 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %573 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%572 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_517 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %574 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%570, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %575 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%574 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %576 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%562, %573 : tensor<2x1x256x16384xf32>, tensor<2x1x1x1xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %577 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%576, %575 : tensor<2x1x256x16384xf32>, tensor<2x1x1x1xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %578 = tensor.collapse_shape %577 [[0], [1, 2], [3]] : tensor<2x1x256x16384xf32> into tensor<2x256x16384xf32> | |
| %579 = tensor.expand_shape %578 [[0], [1], [2, 3]] : tensor<2x256x16384xf32> into tensor<2x256x128x128xf32> | |
| %580 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_57 : tensor<512x1024xf32>) outs(%375 : tensor<1024x512xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x512xf32> | |
| %581 = linalg.fill ins(%cst_514 : f32) outs(%0 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %582 = linalg.matmul ins(%51, %580 : tensor<2x1024xf32>, tensor<1024x512xf32>) outs(%581 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %583 = tensor.extract_slice %582[0, 0] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %584 = tensor.extract_slice %582[0, 256] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %585 = tensor.expand_shape %584 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %586 = tensor.expand_shape %583 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %587 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%586, %cst_511 : tensor<2x256x1x1xf32>, tensor<i64>) outs(%383 : tensor<2x256x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x1x1xf32> | |
| %588 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%579, %587 : tensor<2x256x128x128xf32>, tensor<2x256x1x1xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %589 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%585, %588 : tensor<2x256x1x1xf32>, tensor<2x256x128x128xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %590 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%589 : tensor<2x256x128x128xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %591 = tensor.pad %590 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x256x128x128xf32> to tensor<2x256x130x130xf32> | |
| %592 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_59 : tensor<256xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %593 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%591, %cst_58 : tensor<2x256x130x130xf32>, tensor<256x256x3x3xf32>) outs(%592 : tensor<2x256x128x128xf32>) -> tensor<2x256x128x128xf32> | |
| %594 = tensor.collapse_shape %593 [[0], [1], [2, 3]] : tensor<2x256x128x128xf32> into tensor<2x256x16384xf32> | |
| %595 = tensor.expand_shape %594 [[0], [1, 2], [3]] : tensor<2x256x16384xf32> into tensor<2x1x256x16384xf32> | |
| %596 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %597 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%595 : tensor<2x1x256x16384xf32>) outs(%596 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %598 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%597 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_517 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %599 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%595, %598 : tensor<2x1x256x16384xf32>, tensor<2x1x1x1xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %600 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%599 : tensor<2x1x256x16384xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %601 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %602 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%600 : tensor<2x1x256x16384xf32>) outs(%601 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %603 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%602 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_517 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %604 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %605 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%595 : tensor<2x1x256x16384xf32>) outs(%604 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %606 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%605 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_517 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %607 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%603, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %608 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%607 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %609 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%595, %606 : tensor<2x1x256x16384xf32>, tensor<2x1x1x1xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %610 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%609, %608 : tensor<2x1x256x16384xf32>, tensor<2x1x1x1xf32>) outs(%360 : tensor<2x1x256x16384xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x16384xf32> | |
| %611 = tensor.collapse_shape %610 [[0], [1, 2], [3]] : tensor<2x1x256x16384xf32> into tensor<2x256x16384xf32> | |
| %612 = tensor.expand_shape %611 [[0], [1], [2, 3]] : tensor<2x256x16384xf32> into tensor<2x256x128x128xf32> | |
| %613 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_60 : tensor<512x1024xf32>) outs(%375 : tensor<1024x512xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x512xf32> | |
| %614 = linalg.fill ins(%cst_514 : f32) outs(%0 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %615 = linalg.matmul ins(%51, %613 : tensor<2x1024xf32>, tensor<1024x512xf32>) outs(%614 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %616 = tensor.extract_slice %615[0, 0] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %617 = tensor.extract_slice %615[0, 256] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %618 = tensor.expand_shape %617 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %619 = tensor.expand_shape %616 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %620 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%619, %cst_511 : tensor<2x256x1x1xf32>, tensor<i64>) outs(%383 : tensor<2x256x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x1x1xf32> | |
| %621 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%612, %620 : tensor<2x256x128x128xf32>, tensor<2x256x1x1xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %622 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%618, %621 : tensor<2x256x1x1xf32>, tensor<2x256x128x128xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %623 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%622 : tensor<2x256x128x128xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %624 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%623, %557 : tensor<2x256x128x128xf32>, tensor<2x256x128x128xf32>) outs(%352 : tensor<2x256x128x128xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x128x128xf32> | |
| %625 = linalg.init_tensor [2, 256, 64, 64] : tensor<2x256x64x64xf32> | |
| %626 = linalg.fill ins(%cst_514 : f32) outs(%625 : tensor<2x256x64x64xf32>) -> tensor<2x256x64x64xf32> | |
| %627 = linalg.pooling_nchw_sum {dilations = dense<1> : vector<2xi64>, strides = dense<2> : vector<2xi64>} ins(%624, %348 : tensor<2x256x128x128xf32>, tensor<2x2xf32>) outs(%626 : tensor<2x256x64x64xf32>) -> tensor<2x256x64x64xf32> | |
| %628 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%627 : tensor<2x256x64x64xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_522 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %629 = tensor.pad %628 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x256x64x64xf32> to tensor<2x256x66x66xf32> | |
| %630 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_62 : tensor<256xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %631 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%629, %cst_61 : tensor<2x256x66x66xf32>, tensor<256x256x3x3xf32>) outs(%630 : tensor<2x256x64x64xf32>) -> tensor<2x256x64x64xf32> | |
| %632 = tensor.collapse_shape %631 [[0], [1], [2, 3]] : tensor<2x256x64x64xf32> into tensor<2x256x4096xf32> | |
| %633 = tensor.expand_shape %632 [[0], [1, 2], [3]] : tensor<2x256x4096xf32> into tensor<2x1x256x4096xf32> | |
| %634 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %635 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%633 : tensor<2x1x256x4096xf32>) outs(%634 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %636 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%635 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_518 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %637 = linalg.init_tensor [2, 1, 256, 4096] : tensor<2x1x256x4096xf32> | |
| %638 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%633, %636 : tensor<2x1x256x4096xf32>, tensor<2x1x1x1xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %639 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%638 : tensor<2x1x256x4096xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %640 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %641 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%639 : tensor<2x1x256x4096xf32>) outs(%640 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %642 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%641 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_518 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %643 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %644 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%633 : tensor<2x1x256x4096xf32>) outs(%643 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %645 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%644 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_518 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %646 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%642, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %647 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%646 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %648 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%633, %645 : tensor<2x1x256x4096xf32>, tensor<2x1x1x1xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %649 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%648, %647 : tensor<2x1x256x4096xf32>, tensor<2x1x1x1xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %650 = tensor.collapse_shape %649 [[0], [1, 2], [3]] : tensor<2x1x256x4096xf32> into tensor<2x256x4096xf32> | |
| %651 = tensor.expand_shape %650 [[0], [1], [2, 3]] : tensor<2x256x4096xf32> into tensor<2x256x64x64xf32> | |
| %652 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_63 : tensor<512x1024xf32>) outs(%375 : tensor<1024x512xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x512xf32> | |
| %653 = linalg.fill ins(%cst_514 : f32) outs(%0 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %654 = linalg.matmul ins(%51, %652 : tensor<2x1024xf32>, tensor<1024x512xf32>) outs(%653 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %655 = tensor.extract_slice %654[0, 0] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %656 = tensor.extract_slice %654[0, 256] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %657 = tensor.expand_shape %656 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %658 = tensor.expand_shape %655 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %659 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%658, %cst_511 : tensor<2x256x1x1xf32>, tensor<i64>) outs(%383 : tensor<2x256x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x1x1xf32> | |
| %660 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%651, %659 : tensor<2x256x64x64xf32>, tensor<2x256x1x1xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %661 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%657, %660 : tensor<2x256x1x1xf32>, tensor<2x256x64x64xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %662 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%661 : tensor<2x256x64x64xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %663 = tensor.pad %662 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x256x64x64xf32> to tensor<2x256x66x66xf32> | |
| %664 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_65 : tensor<256xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %665 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%663, %cst_64 : tensor<2x256x66x66xf32>, tensor<256x256x3x3xf32>) outs(%664 : tensor<2x256x64x64xf32>) -> tensor<2x256x64x64xf32> | |
| %666 = tensor.collapse_shape %665 [[0], [1], [2, 3]] : tensor<2x256x64x64xf32> into tensor<2x256x4096xf32> | |
| %667 = tensor.expand_shape %666 [[0], [1, 2], [3]] : tensor<2x256x4096xf32> into tensor<2x1x256x4096xf32> | |
| %668 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %669 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%667 : tensor<2x1x256x4096xf32>) outs(%668 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %670 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%669 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_518 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %671 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%667, %670 : tensor<2x1x256x4096xf32>, tensor<2x1x1x1xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %672 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%671 : tensor<2x1x256x4096xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %673 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %674 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%672 : tensor<2x1x256x4096xf32>) outs(%673 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %675 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%674 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_518 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %676 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %677 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%667 : tensor<2x1x256x4096xf32>) outs(%676 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %678 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%677 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_518 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %679 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%675, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %680 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%679 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %681 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%667, %678 : tensor<2x1x256x4096xf32>, tensor<2x1x1x1xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %682 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%681, %680 : tensor<2x1x256x4096xf32>, tensor<2x1x1x1xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %683 = tensor.collapse_shape %682 [[0], [1, 2], [3]] : tensor<2x1x256x4096xf32> into tensor<2x256x4096xf32> | |
| %684 = tensor.expand_shape %683 [[0], [1], [2, 3]] : tensor<2x256x4096xf32> into tensor<2x256x64x64xf32> | |
| %685 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_66 : tensor<512x1024xf32>) outs(%375 : tensor<1024x512xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x512xf32> | |
| %686 = linalg.fill ins(%cst_514 : f32) outs(%0 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %687 = linalg.matmul ins(%51, %685 : tensor<2x1024xf32>, tensor<1024x512xf32>) outs(%686 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %688 = tensor.extract_slice %687[0, 0] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %689 = tensor.extract_slice %687[0, 256] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %690 = tensor.expand_shape %689 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %691 = tensor.expand_shape %688 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %692 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%691, %cst_511 : tensor<2x256x1x1xf32>, tensor<i64>) outs(%383 : tensor<2x256x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x1x1xf32> | |
| %693 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%684, %692 : tensor<2x256x64x64xf32>, tensor<2x256x1x1xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %694 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%690, %693 : tensor<2x256x1x1xf32>, tensor<2x256x64x64xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %695 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%694 : tensor<2x256x64x64xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %696 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%695, %628 : tensor<2x256x64x64xf32>, tensor<2x256x64x64xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %697 = tensor.pad %696 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x256x64x64xf32> to tensor<2x256x66x66xf32> | |
| %698 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_68 : tensor<256xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %699 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%697, %cst_67 : tensor<2x256x66x66xf32>, tensor<256x256x3x3xf32>) outs(%698 : tensor<2x256x64x64xf32>) -> tensor<2x256x64x64xf32> | |
| %700 = tensor.collapse_shape %699 [[0], [1], [2, 3]] : tensor<2x256x64x64xf32> into tensor<2x256x4096xf32> | |
| %701 = tensor.expand_shape %700 [[0], [1, 2], [3]] : tensor<2x256x4096xf32> into tensor<2x1x256x4096xf32> | |
| %702 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %703 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%701 : tensor<2x1x256x4096xf32>) outs(%702 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %704 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%703 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_518 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %705 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%701, %704 : tensor<2x1x256x4096xf32>, tensor<2x1x1x1xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %706 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%705 : tensor<2x1x256x4096xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %707 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %708 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%706 : tensor<2x1x256x4096xf32>) outs(%707 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %709 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%708 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_518 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %710 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %711 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%701 : tensor<2x1x256x4096xf32>) outs(%710 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %712 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%711 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_518 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %713 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%709, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %714 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%713 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %715 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%701, %712 : tensor<2x1x256x4096xf32>, tensor<2x1x1x1xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %716 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%715, %714 : tensor<2x1x256x4096xf32>, tensor<2x1x1x1xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %717 = tensor.collapse_shape %716 [[0], [1, 2], [3]] : tensor<2x1x256x4096xf32> into tensor<2x256x4096xf32> | |
| %718 = tensor.expand_shape %717 [[0], [1], [2, 3]] : tensor<2x256x4096xf32> into tensor<2x256x64x64xf32> | |
| %719 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_69 : tensor<512x1024xf32>) outs(%375 : tensor<1024x512xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x512xf32> | |
| %720 = linalg.fill ins(%cst_514 : f32) outs(%0 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %721 = linalg.matmul ins(%51, %719 : tensor<2x1024xf32>, tensor<1024x512xf32>) outs(%720 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %722 = tensor.extract_slice %721[0, 0] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %723 = tensor.extract_slice %721[0, 256] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %724 = tensor.expand_shape %723 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %725 = tensor.expand_shape %722 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %726 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%725, %cst_511 : tensor<2x256x1x1xf32>, tensor<i64>) outs(%383 : tensor<2x256x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x1x1xf32> | |
| %727 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%718, %726 : tensor<2x256x64x64xf32>, tensor<2x256x1x1xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %728 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%724, %727 : tensor<2x256x1x1xf32>, tensor<2x256x64x64xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %729 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%728 : tensor<2x256x64x64xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %730 = tensor.pad %729 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x256x64x64xf32> to tensor<2x256x66x66xf32> | |
| %731 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_71 : tensor<256xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %732 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%730, %cst_70 : tensor<2x256x66x66xf32>, tensor<256x256x3x3xf32>) outs(%731 : tensor<2x256x64x64xf32>) -> tensor<2x256x64x64xf32> | |
| %733 = tensor.collapse_shape %732 [[0], [1], [2, 3]] : tensor<2x256x64x64xf32> into tensor<2x256x4096xf32> | |
| %734 = tensor.expand_shape %733 [[0], [1, 2], [3]] : tensor<2x256x4096xf32> into tensor<2x1x256x4096xf32> | |
| %735 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %736 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%734 : tensor<2x1x256x4096xf32>) outs(%735 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %737 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%736 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_518 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %738 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%734, %737 : tensor<2x1x256x4096xf32>, tensor<2x1x1x1xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %739 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%738 : tensor<2x1x256x4096xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %740 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %741 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%739 : tensor<2x1x256x4096xf32>) outs(%740 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %742 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%741 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_518 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %743 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %744 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%734 : tensor<2x1x256x4096xf32>) outs(%743 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %745 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%744 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_518 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %746 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%742, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %747 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%746 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %748 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%734, %745 : tensor<2x1x256x4096xf32>, tensor<2x1x1x1xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %749 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%748, %747 : tensor<2x1x256x4096xf32>, tensor<2x1x1x1xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %750 = tensor.collapse_shape %749 [[0], [1, 2], [3]] : tensor<2x1x256x4096xf32> into tensor<2x256x4096xf32> | |
| %751 = tensor.expand_shape %750 [[0], [1], [2, 3]] : tensor<2x256x4096xf32> into tensor<2x256x64x64xf32> | |
| %752 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_72 : tensor<512x1024xf32>) outs(%375 : tensor<1024x512xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x512xf32> | |
| %753 = linalg.fill ins(%cst_514 : f32) outs(%0 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %754 = linalg.matmul ins(%51, %752 : tensor<2x1024xf32>, tensor<1024x512xf32>) outs(%753 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %755 = tensor.extract_slice %754[0, 0] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %756 = tensor.extract_slice %754[0, 256] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %757 = tensor.expand_shape %756 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %758 = tensor.expand_shape %755 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %759 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%758, %cst_511 : tensor<2x256x1x1xf32>, tensor<i64>) outs(%383 : tensor<2x256x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x1x1xf32> | |
| %760 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%751, %759 : tensor<2x256x64x64xf32>, tensor<2x256x1x1xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %761 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%757, %760 : tensor<2x256x1x1xf32>, tensor<2x256x64x64xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %762 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%761 : tensor<2x256x64x64xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %763 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%762, %696 : tensor<2x256x64x64xf32>, tensor<2x256x64x64xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %764 = tensor.pad %763 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x256x64x64xf32> to tensor<2x256x66x66xf32> | |
| %765 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_74 : tensor<256xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %766 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%764, %cst_73 : tensor<2x256x66x66xf32>, tensor<256x256x3x3xf32>) outs(%765 : tensor<2x256x64x64xf32>) -> tensor<2x256x64x64xf32> | |
| %767 = tensor.collapse_shape %766 [[0], [1], [2, 3]] : tensor<2x256x64x64xf32> into tensor<2x256x4096xf32> | |
| %768 = tensor.expand_shape %767 [[0], [1, 2], [3]] : tensor<2x256x4096xf32> into tensor<2x1x256x4096xf32> | |
| %769 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %770 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%768 : tensor<2x1x256x4096xf32>) outs(%769 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %771 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%770 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_518 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %772 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%768, %771 : tensor<2x1x256x4096xf32>, tensor<2x1x1x1xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %773 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%772 : tensor<2x1x256x4096xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %774 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %775 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%773 : tensor<2x1x256x4096xf32>) outs(%774 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %776 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%775 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_518 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %777 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %778 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%768 : tensor<2x1x256x4096xf32>) outs(%777 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %779 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%778 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_518 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %780 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%776, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %781 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%780 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %782 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%768, %779 : tensor<2x1x256x4096xf32>, tensor<2x1x1x1xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %783 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%782, %781 : tensor<2x1x256x4096xf32>, tensor<2x1x1x1xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %784 = tensor.collapse_shape %783 [[0], [1, 2], [3]] : tensor<2x1x256x4096xf32> into tensor<2x256x4096xf32> | |
| %785 = tensor.expand_shape %784 [[0], [1], [2, 3]] : tensor<2x256x4096xf32> into tensor<2x256x64x64xf32> | |
| %786 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_75 : tensor<512x1024xf32>) outs(%375 : tensor<1024x512xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x512xf32> | |
| %787 = linalg.fill ins(%cst_514 : f32) outs(%0 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %788 = linalg.matmul ins(%51, %786 : tensor<2x1024xf32>, tensor<1024x512xf32>) outs(%787 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %789 = tensor.extract_slice %788[0, 0] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %790 = tensor.extract_slice %788[0, 256] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %791 = tensor.expand_shape %790 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %792 = tensor.expand_shape %789 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %793 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%792, %cst_511 : tensor<2x256x1x1xf32>, tensor<i64>) outs(%383 : tensor<2x256x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x1x1xf32> | |
| %794 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%785, %793 : tensor<2x256x64x64xf32>, tensor<2x256x1x1xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %795 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%791, %794 : tensor<2x256x1x1xf32>, tensor<2x256x64x64xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %796 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%795 : tensor<2x256x64x64xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %797 = tensor.pad %796 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x256x64x64xf32> to tensor<2x256x66x66xf32> | |
| %798 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_77 : tensor<256xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %799 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%797, %cst_76 : tensor<2x256x66x66xf32>, tensor<256x256x3x3xf32>) outs(%798 : tensor<2x256x64x64xf32>) -> tensor<2x256x64x64xf32> | |
| %800 = tensor.collapse_shape %799 [[0], [1], [2, 3]] : tensor<2x256x64x64xf32> into tensor<2x256x4096xf32> | |
| %801 = tensor.expand_shape %800 [[0], [1, 2], [3]] : tensor<2x256x4096xf32> into tensor<2x1x256x4096xf32> | |
| %802 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %803 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%801 : tensor<2x1x256x4096xf32>) outs(%802 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %804 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%803 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_518 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %805 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%801, %804 : tensor<2x1x256x4096xf32>, tensor<2x1x1x1xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %806 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%805 : tensor<2x1x256x4096xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %807 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %808 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%806 : tensor<2x1x256x4096xf32>) outs(%807 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %809 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%808 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_518 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %810 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %811 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%801 : tensor<2x1x256x4096xf32>) outs(%810 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %812 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%811 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_518 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %813 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%809, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %814 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%813 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %815 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%801, %812 : tensor<2x1x256x4096xf32>, tensor<2x1x1x1xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %816 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%815, %814 : tensor<2x1x256x4096xf32>, tensor<2x1x1x1xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %817 = tensor.collapse_shape %816 [[0], [1, 2], [3]] : tensor<2x1x256x4096xf32> into tensor<2x256x4096xf32> | |
| %818 = tensor.expand_shape %817 [[0], [1], [2, 3]] : tensor<2x256x4096xf32> into tensor<2x256x64x64xf32> | |
| %819 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_78 : tensor<512x1024xf32>) outs(%375 : tensor<1024x512xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x512xf32> | |
| %820 = linalg.fill ins(%cst_514 : f32) outs(%0 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %821 = linalg.matmul ins(%51, %819 : tensor<2x1024xf32>, tensor<1024x512xf32>) outs(%820 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %822 = tensor.extract_slice %821[0, 0] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %823 = tensor.extract_slice %821[0, 256] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %824 = tensor.expand_shape %823 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %825 = tensor.expand_shape %822 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %826 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%825, %cst_511 : tensor<2x256x1x1xf32>, tensor<i64>) outs(%383 : tensor<2x256x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x1x1xf32> | |
| %827 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%818, %826 : tensor<2x256x64x64xf32>, tensor<2x256x1x1xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %828 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%824, %827 : tensor<2x256x1x1xf32>, tensor<2x256x64x64xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %829 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%828 : tensor<2x256x64x64xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %830 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%829, %763 : tensor<2x256x64x64xf32>, tensor<2x256x64x64xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %831 = tensor.pad %830 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x256x64x64xf32> to tensor<2x256x66x66xf32> | |
| %832 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_80 : tensor<256xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %833 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%831, %cst_79 : tensor<2x256x66x66xf32>, tensor<256x256x3x3xf32>) outs(%832 : tensor<2x256x64x64xf32>) -> tensor<2x256x64x64xf32> | |
| %834 = tensor.collapse_shape %833 [[0], [1], [2, 3]] : tensor<2x256x64x64xf32> into tensor<2x256x4096xf32> | |
| %835 = tensor.expand_shape %834 [[0], [1, 2], [3]] : tensor<2x256x4096xf32> into tensor<2x1x256x4096xf32> | |
| %836 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %837 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%835 : tensor<2x1x256x4096xf32>) outs(%836 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %838 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%837 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_518 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %839 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%835, %838 : tensor<2x1x256x4096xf32>, tensor<2x1x1x1xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %840 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%839 : tensor<2x1x256x4096xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %841 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %842 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%840 : tensor<2x1x256x4096xf32>) outs(%841 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %843 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%842 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_518 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %844 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %845 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%835 : tensor<2x1x256x4096xf32>) outs(%844 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %846 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%845 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_518 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %847 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%843, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %848 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%847 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %849 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%835, %846 : tensor<2x1x256x4096xf32>, tensor<2x1x1x1xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %850 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%849, %848 : tensor<2x1x256x4096xf32>, tensor<2x1x1x1xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %851 = tensor.collapse_shape %850 [[0], [1, 2], [3]] : tensor<2x1x256x4096xf32> into tensor<2x256x4096xf32> | |
| %852 = tensor.expand_shape %851 [[0], [1], [2, 3]] : tensor<2x256x4096xf32> into tensor<2x256x64x64xf32> | |
| %853 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_81 : tensor<512x1024xf32>) outs(%375 : tensor<1024x512xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x512xf32> | |
| %854 = linalg.fill ins(%cst_514 : f32) outs(%0 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %855 = linalg.matmul ins(%51, %853 : tensor<2x1024xf32>, tensor<1024x512xf32>) outs(%854 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %856 = tensor.extract_slice %855[0, 0] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %857 = tensor.extract_slice %855[0, 256] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %858 = tensor.expand_shape %857 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %859 = tensor.expand_shape %856 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %860 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%859, %cst_511 : tensor<2x256x1x1xf32>, tensor<i64>) outs(%383 : tensor<2x256x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x1x1xf32> | |
| %861 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%852, %860 : tensor<2x256x64x64xf32>, tensor<2x256x1x1xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %862 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%858, %861 : tensor<2x256x1x1xf32>, tensor<2x256x64x64xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %863 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%862 : tensor<2x256x64x64xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %864 = tensor.pad %863 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x256x64x64xf32> to tensor<2x256x66x66xf32> | |
| %865 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_83 : tensor<256xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %866 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%864, %cst_82 : tensor<2x256x66x66xf32>, tensor<256x256x3x3xf32>) outs(%865 : tensor<2x256x64x64xf32>) -> tensor<2x256x64x64xf32> | |
| %867 = tensor.collapse_shape %866 [[0], [1], [2, 3]] : tensor<2x256x64x64xf32> into tensor<2x256x4096xf32> | |
| %868 = tensor.expand_shape %867 [[0], [1, 2], [3]] : tensor<2x256x4096xf32> into tensor<2x1x256x4096xf32> | |
| %869 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %870 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%868 : tensor<2x1x256x4096xf32>) outs(%869 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %871 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%870 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_518 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %872 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%868, %871 : tensor<2x1x256x4096xf32>, tensor<2x1x1x1xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %873 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%872 : tensor<2x1x256x4096xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %874 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %875 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%873 : tensor<2x1x256x4096xf32>) outs(%874 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %876 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%875 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_518 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %877 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %878 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%868 : tensor<2x1x256x4096xf32>) outs(%877 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %879 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%878 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_518 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %880 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%876, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %881 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%880 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %882 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%868, %879 : tensor<2x1x256x4096xf32>, tensor<2x1x1x1xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %883 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%882, %881 : tensor<2x1x256x4096xf32>, tensor<2x1x1x1xf32>) outs(%637 : tensor<2x1x256x4096xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x256x4096xf32> | |
| %884 = tensor.collapse_shape %883 [[0], [1, 2], [3]] : tensor<2x1x256x4096xf32> into tensor<2x256x4096xf32> | |
| %885 = tensor.expand_shape %884 [[0], [1], [2, 3]] : tensor<2x256x4096xf32> into tensor<2x256x64x64xf32> | |
| %886 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_84 : tensor<512x1024xf32>) outs(%375 : tensor<1024x512xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x512xf32> | |
| %887 = linalg.fill ins(%cst_514 : f32) outs(%0 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %888 = linalg.matmul ins(%51, %886 : tensor<2x1024xf32>, tensor<1024x512xf32>) outs(%887 : tensor<2x512xf32>) -> tensor<2x512xf32> | |
| %889 = tensor.extract_slice %888[0, 0] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %890 = tensor.extract_slice %888[0, 256] [2, 256] [1, 1] : tensor<2x512xf32> to tensor<2x256xf32> | |
| %891 = tensor.expand_shape %890 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %892 = tensor.expand_shape %889 [[0], [1, 2, 3]] : tensor<2x256xf32> into tensor<2x256x1x1xf32> | |
| %893 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%892, %cst_511 : tensor<2x256x1x1xf32>, tensor<i64>) outs(%383 : tensor<2x256x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x1x1xf32> | |
| %894 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%885, %893 : tensor<2x256x64x64xf32>, tensor<2x256x1x1xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %895 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%891, %894 : tensor<2x256x1x1xf32>, tensor<2x256x64x64xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %896 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%895 : tensor<2x256x64x64xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %897 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%896, %830 : tensor<2x256x64x64xf32>, tensor<2x256x64x64xf32>) outs(%625 : tensor<2x256x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x64x64xf32> | |
| %898 = linalg.init_tensor [2, 256, 32, 32] : tensor<2x256x32x32xf32> | |
| %899 = linalg.fill ins(%cst_514 : f32) outs(%898 : tensor<2x256x32x32xf32>) -> tensor<2x256x32x32xf32> | |
| %900 = linalg.pooling_nchw_sum {dilations = dense<1> : vector<2xi64>, strides = dense<2> : vector<2xi64>} ins(%897, %348 : tensor<2x256x64x64xf32>, tensor<2x2xf32>) outs(%899 : tensor<2x256x32x32xf32>) -> tensor<2x256x32x32xf32> | |
| %901 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%900 : tensor<2x256x32x32xf32>) outs(%898 : tensor<2x256x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_522 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x256x32x32xf32> | |
| %902 = tensor.pad %901 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x256x32x32xf32> to tensor<2x256x34x34xf32> | |
| %903 = linalg.init_tensor [2, 512, 32, 32] : tensor<2x512x32x32xf32> | |
| %904 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_86 : tensor<512xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %905 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%902, %cst_85 : tensor<2x256x34x34xf32>, tensor<512x256x3x3xf32>) outs(%904 : tensor<2x512x32x32xf32>) -> tensor<2x512x32x32xf32> | |
| %906 = tensor.collapse_shape %905 [[0], [1], [2, 3]] : tensor<2x512x32x32xf32> into tensor<2x512x1024xf32> | |
| %907 = tensor.expand_shape %906 [[0], [1, 2], [3]] : tensor<2x512x1024xf32> into tensor<2x1x512x1024xf32> | |
| %908 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %909 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%907 : tensor<2x1x512x1024xf32>) outs(%908 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %910 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%909 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_519 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %911 = linalg.init_tensor [2, 1, 512, 1024] : tensor<2x1x512x1024xf32> | |
| %912 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%907, %910 : tensor<2x1x512x1024xf32>, tensor<2x1x1x1xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %913 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%912 : tensor<2x1x512x1024xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %914 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %915 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%913 : tensor<2x1x512x1024xf32>) outs(%914 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %916 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%915 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_519 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %917 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %918 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%907 : tensor<2x1x512x1024xf32>) outs(%917 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %919 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%918 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_519 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %920 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%916, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %921 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%920 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %922 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%907, %919 : tensor<2x1x512x1024xf32>, tensor<2x1x1x1xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %923 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%922, %921 : tensor<2x1x512x1024xf32>, tensor<2x1x1x1xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %924 = tensor.collapse_shape %923 [[0], [1, 2], [3]] : tensor<2x1x512x1024xf32> into tensor<2x512x1024xf32> | |
| %925 = tensor.expand_shape %924 [[0], [1], [2, 3]] : tensor<2x512x1024xf32> into tensor<2x512x32x32xf32> | |
| %926 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_87 : tensor<1024x1024xf32>) outs(%32 : tensor<1024x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x1024xf32> | |
| %927 = linalg.fill ins(%cst_514 : f32) outs(%27 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %928 = linalg.matmul ins(%51, %926 : tensor<2x1024xf32>, tensor<1024x1024xf32>) outs(%927 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %929 = tensor.extract_slice %928[0, 0] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %930 = tensor.extract_slice %928[0, 512] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %931 = tensor.expand_shape %930 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %932 = tensor.expand_shape %929 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %933 = linalg.init_tensor [2, 512, 1, 1] : tensor<2x512x1x1xf32> | |
| %934 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%932, %cst_511 : tensor<2x512x1x1xf32>, tensor<i64>) outs(%933 : tensor<2x512x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x1x1xf32> | |
| %935 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%925, %934 : tensor<2x512x32x32xf32>, tensor<2x512x1x1xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %936 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%931, %935 : tensor<2x512x1x1xf32>, tensor<2x512x32x32xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %937 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%936 : tensor<2x512x32x32xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %938 = tensor.pad %937 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x512x32x32xf32> to tensor<2x512x34x34xf32> | |
| %939 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_89 : tensor<512xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %940 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%938, %cst_88 : tensor<2x512x34x34xf32>, tensor<512x512x3x3xf32>) outs(%939 : tensor<2x512x32x32xf32>) -> tensor<2x512x32x32xf32> | |
| %941 = tensor.collapse_shape %940 [[0], [1], [2, 3]] : tensor<2x512x32x32xf32> into tensor<2x512x1024xf32> | |
| %942 = tensor.expand_shape %941 [[0], [1, 2], [3]] : tensor<2x512x1024xf32> into tensor<2x1x512x1024xf32> | |
| %943 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %944 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%942 : tensor<2x1x512x1024xf32>) outs(%943 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %945 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%944 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_519 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %946 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%942, %945 : tensor<2x1x512x1024xf32>, tensor<2x1x1x1xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %947 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%946 : tensor<2x1x512x1024xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %948 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %949 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%947 : tensor<2x1x512x1024xf32>) outs(%948 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %950 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%949 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_519 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %951 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %952 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%942 : tensor<2x1x512x1024xf32>) outs(%951 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %953 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%952 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_519 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %954 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%950, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %955 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%954 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %956 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%942, %953 : tensor<2x1x512x1024xf32>, tensor<2x1x1x1xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %957 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%956, %955 : tensor<2x1x512x1024xf32>, tensor<2x1x1x1xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %958 = tensor.collapse_shape %957 [[0], [1, 2], [3]] : tensor<2x1x512x1024xf32> into tensor<2x512x1024xf32> | |
| %959 = tensor.expand_shape %958 [[0], [1], [2, 3]] : tensor<2x512x1024xf32> into tensor<2x512x32x32xf32> | |
| %960 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_90 : tensor<1024x1024xf32>) outs(%32 : tensor<1024x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x1024xf32> | |
| %961 = linalg.fill ins(%cst_514 : f32) outs(%27 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %962 = linalg.matmul ins(%51, %960 : tensor<2x1024xf32>, tensor<1024x1024xf32>) outs(%961 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %963 = tensor.extract_slice %962[0, 0] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %964 = tensor.extract_slice %962[0, 512] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %965 = tensor.expand_shape %964 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %966 = tensor.expand_shape %963 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %967 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%966, %cst_511 : tensor<2x512x1x1xf32>, tensor<i64>) outs(%933 : tensor<2x512x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x1x1xf32> | |
| %968 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%959, %967 : tensor<2x512x32x32xf32>, tensor<2x512x1x1xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %969 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%965, %968 : tensor<2x512x1x1xf32>, tensor<2x512x32x32xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %970 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%969 : tensor<2x512x32x32xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %971 = linalg.fill ins(%cst_514 : f32) outs(%903 : tensor<2x512x32x32xf32>) -> tensor<2x512x32x32xf32> | |
| %972 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%901, %cst_91 : tensor<2x256x32x32xf32>, tensor<512x256x1x1xf32>) outs(%971 : tensor<2x512x32x32xf32>) -> tensor<2x512x32x32xf32> | |
| %973 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%970, %972 : tensor<2x512x32x32xf32>, tensor<2x512x32x32xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %974 = tensor.pad %973 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x512x32x32xf32> to tensor<2x512x34x34xf32> | |
| %975 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_93 : tensor<512xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %976 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%974, %cst_92 : tensor<2x512x34x34xf32>, tensor<512x512x3x3xf32>) outs(%975 : tensor<2x512x32x32xf32>) -> tensor<2x512x32x32xf32> | |
| %977 = tensor.collapse_shape %976 [[0], [1], [2, 3]] : tensor<2x512x32x32xf32> into tensor<2x512x1024xf32> | |
| %978 = tensor.expand_shape %977 [[0], [1, 2], [3]] : tensor<2x512x1024xf32> into tensor<2x1x512x1024xf32> | |
| %979 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %980 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%978 : tensor<2x1x512x1024xf32>) outs(%979 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %981 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%980 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_519 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %982 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%978, %981 : tensor<2x1x512x1024xf32>, tensor<2x1x1x1xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %983 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%982 : tensor<2x1x512x1024xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %984 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %985 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%983 : tensor<2x1x512x1024xf32>) outs(%984 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %986 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%985 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_519 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %987 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %988 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%978 : tensor<2x1x512x1024xf32>) outs(%987 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %989 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%988 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_519 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %990 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%986, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %991 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%990 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %992 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%978, %989 : tensor<2x1x512x1024xf32>, tensor<2x1x1x1xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %993 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%992, %991 : tensor<2x1x512x1024xf32>, tensor<2x1x1x1xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %994 = tensor.collapse_shape %993 [[0], [1, 2], [3]] : tensor<2x1x512x1024xf32> into tensor<2x512x1024xf32> | |
| %995 = tensor.expand_shape %994 [[0], [1], [2, 3]] : tensor<2x512x1024xf32> into tensor<2x512x32x32xf32> | |
| %996 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_94 : tensor<1024x1024xf32>) outs(%32 : tensor<1024x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x1024xf32> | |
| %997 = linalg.fill ins(%cst_514 : f32) outs(%27 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %998 = linalg.matmul ins(%51, %996 : tensor<2x1024xf32>, tensor<1024x1024xf32>) outs(%997 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %999 = tensor.extract_slice %998[0, 0] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1000 = tensor.extract_slice %998[0, 512] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1001 = tensor.expand_shape %1000 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1002 = tensor.expand_shape %999 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1003 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1002, %cst_511 : tensor<2x512x1x1xf32>, tensor<i64>) outs(%933 : tensor<2x512x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x1x1xf32> | |
| %1004 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%995, %1003 : tensor<2x512x32x32xf32>, tensor<2x512x1x1xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %1005 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1001, %1004 : tensor<2x512x1x1xf32>, tensor<2x512x32x32xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %1006 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1005 : tensor<2x512x32x32xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %1007 = tensor.pad %1006 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x512x32x32xf32> to tensor<2x512x34x34xf32> | |
| %1008 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_96 : tensor<512xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %1009 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1007, %cst_95 : tensor<2x512x34x34xf32>, tensor<512x512x3x3xf32>) outs(%1008 : tensor<2x512x32x32xf32>) -> tensor<2x512x32x32xf32> | |
| %1010 = tensor.collapse_shape %1009 [[0], [1], [2, 3]] : tensor<2x512x32x32xf32> into tensor<2x512x1024xf32> | |
| %1011 = tensor.expand_shape %1010 [[0], [1, 2], [3]] : tensor<2x512x1024xf32> into tensor<2x1x512x1024xf32> | |
| %1012 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1013 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1011 : tensor<2x1x512x1024xf32>) outs(%1012 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1014 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1013 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_519 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1015 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1011, %1014 : tensor<2x1x512x1024xf32>, tensor<2x1x1x1xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %1016 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1015 : tensor<2x1x512x1024xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %1017 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1018 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1016 : tensor<2x1x512x1024xf32>) outs(%1017 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1019 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1018 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_519 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1020 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1021 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1011 : tensor<2x1x512x1024xf32>) outs(%1020 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1022 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1021 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_519 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1023 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1019, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1024 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1023 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1025 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1011, %1022 : tensor<2x1x512x1024xf32>, tensor<2x1x1x1xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %1026 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1025, %1024 : tensor<2x1x512x1024xf32>, tensor<2x1x1x1xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %1027 = tensor.collapse_shape %1026 [[0], [1, 2], [3]] : tensor<2x1x512x1024xf32> into tensor<2x512x1024xf32> | |
| %1028 = tensor.expand_shape %1027 [[0], [1], [2, 3]] : tensor<2x512x1024xf32> into tensor<2x512x32x32xf32> | |
| %1029 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_97 : tensor<1024x1024xf32>) outs(%32 : tensor<1024x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x1024xf32> | |
| %1030 = linalg.fill ins(%cst_514 : f32) outs(%27 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %1031 = linalg.matmul ins(%51, %1029 : tensor<2x1024xf32>, tensor<1024x1024xf32>) outs(%1030 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %1032 = tensor.extract_slice %1031[0, 0] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1033 = tensor.extract_slice %1031[0, 512] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1034 = tensor.expand_shape %1033 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1035 = tensor.expand_shape %1032 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1036 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1035, %cst_511 : tensor<2x512x1x1xf32>, tensor<i64>) outs(%933 : tensor<2x512x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x1x1xf32> | |
| %1037 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1028, %1036 : tensor<2x512x32x32xf32>, tensor<2x512x1x1xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %1038 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1034, %1037 : tensor<2x512x1x1xf32>, tensor<2x512x32x32xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %1039 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1038 : tensor<2x512x32x32xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %1040 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1039, %973 : tensor<2x512x32x32xf32>, tensor<2x512x32x32xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %1041 = tensor.pad %1040 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x512x32x32xf32> to tensor<2x512x34x34xf32> | |
| %1042 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_99 : tensor<512xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %1043 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1041, %cst_98 : tensor<2x512x34x34xf32>, tensor<512x512x3x3xf32>) outs(%1042 : tensor<2x512x32x32xf32>) -> tensor<2x512x32x32xf32> | |
| %1044 = tensor.collapse_shape %1043 [[0], [1], [2, 3]] : tensor<2x512x32x32xf32> into tensor<2x512x1024xf32> | |
| %1045 = tensor.expand_shape %1044 [[0], [1, 2], [3]] : tensor<2x512x1024xf32> into tensor<2x1x512x1024xf32> | |
| %1046 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1047 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1045 : tensor<2x1x512x1024xf32>) outs(%1046 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1048 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1047 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_519 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1049 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1045, %1048 : tensor<2x1x512x1024xf32>, tensor<2x1x1x1xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %1050 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1049 : tensor<2x1x512x1024xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %1051 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1052 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1050 : tensor<2x1x512x1024xf32>) outs(%1051 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1053 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1052 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_519 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1054 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1055 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1045 : tensor<2x1x512x1024xf32>) outs(%1054 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1056 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1055 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_519 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1057 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1053, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1058 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1057 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1059 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1045, %1056 : tensor<2x1x512x1024xf32>, tensor<2x1x1x1xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %1060 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1059, %1058 : tensor<2x1x512x1024xf32>, tensor<2x1x1x1xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %1061 = tensor.collapse_shape %1060 [[0], [1, 2], [3]] : tensor<2x1x512x1024xf32> into tensor<2x512x1024xf32> | |
| %1062 = tensor.expand_shape %1061 [[0], [1], [2, 3]] : tensor<2x512x1024xf32> into tensor<2x512x32x32xf32> | |
| %1063 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_100 : tensor<1024x1024xf32>) outs(%32 : tensor<1024x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x1024xf32> | |
| %1064 = linalg.fill ins(%cst_514 : f32) outs(%27 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %1065 = linalg.matmul ins(%51, %1063 : tensor<2x1024xf32>, tensor<1024x1024xf32>) outs(%1064 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %1066 = tensor.extract_slice %1065[0, 0] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1067 = tensor.extract_slice %1065[0, 512] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1068 = tensor.expand_shape %1067 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1069 = tensor.expand_shape %1066 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1070 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1069, %cst_511 : tensor<2x512x1x1xf32>, tensor<i64>) outs(%933 : tensor<2x512x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x1x1xf32> | |
| %1071 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1062, %1070 : tensor<2x512x32x32xf32>, tensor<2x512x1x1xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %1072 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1068, %1071 : tensor<2x512x1x1xf32>, tensor<2x512x32x32xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %1073 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1072 : tensor<2x512x32x32xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %1074 = tensor.pad %1073 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x512x32x32xf32> to tensor<2x512x34x34xf32> | |
| %1075 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_102 : tensor<512xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %1076 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1074, %cst_101 : tensor<2x512x34x34xf32>, tensor<512x512x3x3xf32>) outs(%1075 : tensor<2x512x32x32xf32>) -> tensor<2x512x32x32xf32> | |
| %1077 = tensor.collapse_shape %1076 [[0], [1], [2, 3]] : tensor<2x512x32x32xf32> into tensor<2x512x1024xf32> | |
| %1078 = tensor.expand_shape %1077 [[0], [1, 2], [3]] : tensor<2x512x1024xf32> into tensor<2x1x512x1024xf32> | |
| %1079 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1080 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1078 : tensor<2x1x512x1024xf32>) outs(%1079 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1081 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1080 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_519 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1082 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1078, %1081 : tensor<2x1x512x1024xf32>, tensor<2x1x1x1xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %1083 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1082 : tensor<2x1x512x1024xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %1084 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1085 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1083 : tensor<2x1x512x1024xf32>) outs(%1084 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1086 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1085 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_519 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1087 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1088 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1078 : tensor<2x1x512x1024xf32>) outs(%1087 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1089 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1088 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_519 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1090 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1086, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1091 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1090 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1092 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1078, %1089 : tensor<2x1x512x1024xf32>, tensor<2x1x1x1xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %1093 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1092, %1091 : tensor<2x1x512x1024xf32>, tensor<2x1x1x1xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %1094 = tensor.collapse_shape %1093 [[0], [1, 2], [3]] : tensor<2x1x512x1024xf32> into tensor<2x512x1024xf32> | |
| %1095 = tensor.expand_shape %1094 [[0], [1], [2, 3]] : tensor<2x512x1024xf32> into tensor<2x512x32x32xf32> | |
| %1096 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_103 : tensor<1024x1024xf32>) outs(%32 : tensor<1024x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x1024xf32> | |
| %1097 = linalg.fill ins(%cst_514 : f32) outs(%27 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %1098 = linalg.matmul ins(%51, %1096 : tensor<2x1024xf32>, tensor<1024x1024xf32>) outs(%1097 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %1099 = tensor.extract_slice %1098[0, 0] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1100 = tensor.extract_slice %1098[0, 512] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1101 = tensor.expand_shape %1100 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1102 = tensor.expand_shape %1099 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1103 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1102, %cst_511 : tensor<2x512x1x1xf32>, tensor<i64>) outs(%933 : tensor<2x512x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x1x1xf32> | |
| %1104 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1095, %1103 : tensor<2x512x32x32xf32>, tensor<2x512x1x1xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %1105 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1101, %1104 : tensor<2x512x1x1xf32>, tensor<2x512x32x32xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %1106 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1105 : tensor<2x512x32x32xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %1107 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1106, %1040 : tensor<2x512x32x32xf32>, tensor<2x512x32x32xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %1108 = tensor.pad %1107 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x512x32x32xf32> to tensor<2x512x34x34xf32> | |
| %1109 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_105 : tensor<512xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %1110 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1108, %cst_104 : tensor<2x512x34x34xf32>, tensor<512x512x3x3xf32>) outs(%1109 : tensor<2x512x32x32xf32>) -> tensor<2x512x32x32xf32> | |
| %1111 = tensor.collapse_shape %1110 [[0], [1], [2, 3]] : tensor<2x512x32x32xf32> into tensor<2x512x1024xf32> | |
| %1112 = tensor.expand_shape %1111 [[0], [1, 2], [3]] : tensor<2x512x1024xf32> into tensor<2x1x512x1024xf32> | |
| %1113 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1114 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1112 : tensor<2x1x512x1024xf32>) outs(%1113 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1115 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1114 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_519 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1116 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1112, %1115 : tensor<2x1x512x1024xf32>, tensor<2x1x1x1xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %1117 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1116 : tensor<2x1x512x1024xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %1118 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1119 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1117 : tensor<2x1x512x1024xf32>) outs(%1118 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1120 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1119 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_519 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1121 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1122 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1112 : tensor<2x1x512x1024xf32>) outs(%1121 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1123 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1122 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_519 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1124 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1120, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1125 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1124 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1126 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1112, %1123 : tensor<2x1x512x1024xf32>, tensor<2x1x1x1xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %1127 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1126, %1125 : tensor<2x1x512x1024xf32>, tensor<2x1x1x1xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %1128 = tensor.collapse_shape %1127 [[0], [1, 2], [3]] : tensor<2x1x512x1024xf32> into tensor<2x512x1024xf32> | |
| %1129 = tensor.expand_shape %1128 [[0], [1], [2, 3]] : tensor<2x512x1024xf32> into tensor<2x512x32x32xf32> | |
| %1130 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_106 : tensor<1024x1024xf32>) outs(%32 : tensor<1024x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x1024xf32> | |
| %1131 = linalg.fill ins(%cst_514 : f32) outs(%27 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %1132 = linalg.matmul ins(%51, %1130 : tensor<2x1024xf32>, tensor<1024x1024xf32>) outs(%1131 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %1133 = tensor.extract_slice %1132[0, 0] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1134 = tensor.extract_slice %1132[0, 512] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1135 = tensor.expand_shape %1134 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1136 = tensor.expand_shape %1133 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1137 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1136, %cst_511 : tensor<2x512x1x1xf32>, tensor<i64>) outs(%933 : tensor<2x512x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x1x1xf32> | |
| %1138 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1129, %1137 : tensor<2x512x32x32xf32>, tensor<2x512x1x1xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %1139 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1135, %1138 : tensor<2x512x1x1xf32>, tensor<2x512x32x32xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %1140 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1139 : tensor<2x512x32x32xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %1141 = tensor.pad %1140 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x512x32x32xf32> to tensor<2x512x34x34xf32> | |
| %1142 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_108 : tensor<512xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %1143 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1141, %cst_107 : tensor<2x512x34x34xf32>, tensor<512x512x3x3xf32>) outs(%1142 : tensor<2x512x32x32xf32>) -> tensor<2x512x32x32xf32> | |
| %1144 = tensor.collapse_shape %1143 [[0], [1], [2, 3]] : tensor<2x512x32x32xf32> into tensor<2x512x1024xf32> | |
| %1145 = tensor.expand_shape %1144 [[0], [1, 2], [3]] : tensor<2x512x1024xf32> into tensor<2x1x512x1024xf32> | |
| %1146 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1147 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1145 : tensor<2x1x512x1024xf32>) outs(%1146 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1148 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1147 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_519 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1149 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1145, %1148 : tensor<2x1x512x1024xf32>, tensor<2x1x1x1xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %1150 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1149 : tensor<2x1x512x1024xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %1151 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1152 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1150 : tensor<2x1x512x1024xf32>) outs(%1151 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1153 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1152 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_519 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1154 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1155 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1145 : tensor<2x1x512x1024xf32>) outs(%1154 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1156 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1155 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_519 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1157 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1153, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1158 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1157 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1159 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1145, %1156 : tensor<2x1x512x1024xf32>, tensor<2x1x1x1xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %1160 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1159, %1158 : tensor<2x1x512x1024xf32>, tensor<2x1x1x1xf32>) outs(%911 : tensor<2x1x512x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x1024xf32> | |
| %1161 = tensor.collapse_shape %1160 [[0], [1, 2], [3]] : tensor<2x1x512x1024xf32> into tensor<2x512x1024xf32> | |
| %1162 = tensor.expand_shape %1161 [[0], [1], [2, 3]] : tensor<2x512x1024xf32> into tensor<2x512x32x32xf32> | |
| %1163 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_109 : tensor<1024x1024xf32>) outs(%32 : tensor<1024x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x1024xf32> | |
| %1164 = linalg.fill ins(%cst_514 : f32) outs(%27 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %1165 = linalg.matmul ins(%51, %1163 : tensor<2x1024xf32>, tensor<1024x1024xf32>) outs(%1164 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %1166 = tensor.extract_slice %1165[0, 0] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1167 = tensor.extract_slice %1165[0, 512] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1168 = tensor.expand_shape %1167 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1169 = tensor.expand_shape %1166 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1170 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1169, %cst_511 : tensor<2x512x1x1xf32>, tensor<i64>) outs(%933 : tensor<2x512x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x1x1xf32> | |
| %1171 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1162, %1170 : tensor<2x512x32x32xf32>, tensor<2x512x1x1xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %1172 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1168, %1171 : tensor<2x512x1x1xf32>, tensor<2x512x32x32xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %1173 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1172 : tensor<2x512x32x32xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %1174 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1173, %1107 : tensor<2x512x32x32xf32>, tensor<2x512x32x32xf32>) outs(%903 : tensor<2x512x32x32xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x32x32xf32> | |
| %1175 = linalg.init_tensor [2, 512, 16, 16] : tensor<2x512x16x16xf32> | |
| %1176 = linalg.fill ins(%cst_514 : f32) outs(%1175 : tensor<2x512x16x16xf32>) -> tensor<2x512x16x16xf32> | |
| %1177 = linalg.pooling_nchw_sum {dilations = dense<1> : vector<2xi64>, strides = dense<2> : vector<2xi64>} ins(%1174, %348 : tensor<2x512x32x32xf32>, tensor<2x2xf32>) outs(%1176 : tensor<2x512x16x16xf32>) -> tensor<2x512x16x16xf32> | |
| %1178 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1177 : tensor<2x512x16x16xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_522 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1179 = tensor.pad %1178 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x512x16x16xf32> to tensor<2x512x18x18xf32> | |
| %1180 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_111 : tensor<512xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1181 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1179, %cst_110 : tensor<2x512x18x18xf32>, tensor<512x512x3x3xf32>) outs(%1180 : tensor<2x512x16x16xf32>) -> tensor<2x512x16x16xf32> | |
| %1182 = tensor.collapse_shape %1181 [[0], [1], [2, 3]] : tensor<2x512x16x16xf32> into tensor<2x512x256xf32> | |
| %1183 = tensor.expand_shape %1182 [[0], [1, 2], [3]] : tensor<2x512x256xf32> into tensor<2x1x512x256xf32> | |
| %1184 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1185 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1183 : tensor<2x1x512x256xf32>) outs(%1184 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1186 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1185 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1187 = linalg.init_tensor [2, 1, 512, 256] : tensor<2x1x512x256xf32> | |
| %1188 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1183, %1186 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1189 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1188 : tensor<2x1x512x256xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1190 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1191 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1189 : tensor<2x1x512x256xf32>) outs(%1190 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1192 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1191 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1193 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1194 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1183 : tensor<2x1x512x256xf32>) outs(%1193 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1195 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1194 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1196 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1192, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1197 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1196 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1198 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1183, %1195 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1199 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1198, %1197 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1200 = tensor.collapse_shape %1199 [[0], [1, 2], [3]] : tensor<2x1x512x256xf32> into tensor<2x512x256xf32> | |
| %1201 = tensor.expand_shape %1200 [[0], [1], [2, 3]] : tensor<2x512x256xf32> into tensor<2x512x16x16xf32> | |
| %1202 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_112 : tensor<1024x1024xf32>) outs(%32 : tensor<1024x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x1024xf32> | |
| %1203 = linalg.fill ins(%cst_514 : f32) outs(%27 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %1204 = linalg.matmul ins(%51, %1202 : tensor<2x1024xf32>, tensor<1024x1024xf32>) outs(%1203 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %1205 = tensor.extract_slice %1204[0, 0] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1206 = tensor.extract_slice %1204[0, 512] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1207 = tensor.expand_shape %1206 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1208 = tensor.expand_shape %1205 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1209 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1208, %cst_511 : tensor<2x512x1x1xf32>, tensor<i64>) outs(%933 : tensor<2x512x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x1x1xf32> | |
| %1210 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1201, %1209 : tensor<2x512x16x16xf32>, tensor<2x512x1x1xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1211 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1207, %1210 : tensor<2x512x1x1xf32>, tensor<2x512x16x16xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1212 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1211 : tensor<2x512x16x16xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1213 = tensor.pad %1212 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x512x16x16xf32> to tensor<2x512x18x18xf32> | |
| %1214 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_114 : tensor<512xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1215 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1213, %cst_113 : tensor<2x512x18x18xf32>, tensor<512x512x3x3xf32>) outs(%1214 : tensor<2x512x16x16xf32>) -> tensor<2x512x16x16xf32> | |
| %1216 = tensor.collapse_shape %1215 [[0], [1], [2, 3]] : tensor<2x512x16x16xf32> into tensor<2x512x256xf32> | |
| %1217 = tensor.expand_shape %1216 [[0], [1, 2], [3]] : tensor<2x512x256xf32> into tensor<2x1x512x256xf32> | |
| %1218 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1219 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1217 : tensor<2x1x512x256xf32>) outs(%1218 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1220 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1219 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1221 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1217, %1220 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1222 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1221 : tensor<2x1x512x256xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1223 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1224 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1222 : tensor<2x1x512x256xf32>) outs(%1223 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1225 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1224 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1226 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1227 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1217 : tensor<2x1x512x256xf32>) outs(%1226 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1228 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1227 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1229 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1225, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1230 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1229 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1231 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1217, %1228 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1232 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1231, %1230 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1233 = tensor.collapse_shape %1232 [[0], [1, 2], [3]] : tensor<2x1x512x256xf32> into tensor<2x512x256xf32> | |
| %1234 = tensor.expand_shape %1233 [[0], [1], [2, 3]] : tensor<2x512x256xf32> into tensor<2x512x16x16xf32> | |
| %1235 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_115 : tensor<1024x1024xf32>) outs(%32 : tensor<1024x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x1024xf32> | |
| %1236 = linalg.fill ins(%cst_514 : f32) outs(%27 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %1237 = linalg.matmul ins(%51, %1235 : tensor<2x1024xf32>, tensor<1024x1024xf32>) outs(%1236 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %1238 = tensor.extract_slice %1237[0, 0] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1239 = tensor.extract_slice %1237[0, 512] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1240 = tensor.expand_shape %1239 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1241 = tensor.expand_shape %1238 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1242 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1241, %cst_511 : tensor<2x512x1x1xf32>, tensor<i64>) outs(%933 : tensor<2x512x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x1x1xf32> | |
| %1243 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1234, %1242 : tensor<2x512x16x16xf32>, tensor<2x512x1x1xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1244 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1240, %1243 : tensor<2x512x1x1xf32>, tensor<2x512x16x16xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1245 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1244 : tensor<2x512x16x16xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1246 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1245, %1178 : tensor<2x512x16x16xf32>, tensor<2x512x16x16xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1247 = tensor.collapse_shape %1246 [[0], [1], [2, 3]] : tensor<2x512x16x16xf32> into tensor<2x512x256xf32> | |
| %1248 = tensor.expand_shape %1247 [[0], [1, 2], [3]] : tensor<2x512x256xf32> into tensor<2x1x512x256xf32> | |
| %1249 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1250 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1248 : tensor<2x1x512x256xf32>) outs(%1249 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1251 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1250 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1252 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1248, %1251 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1253 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1252 : tensor<2x1x512x256xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1254 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1255 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1253 : tensor<2x1x512x256xf32>) outs(%1254 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1256 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1255 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1257 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1258 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1248 : tensor<2x1x512x256xf32>) outs(%1257 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1259 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1258 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1260 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1256, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1261 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1260 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1262 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1248, %1259 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1263 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1262, %1261 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1264 = tensor.collapse_shape %1263 [[0], [1, 2], [3]] : tensor<2x1x512x256xf32> into tensor<2x512x256xf32> | |
| %1265 = tensor.expand_shape %1264 [[0], [1], [2, 3]] : tensor<2x512x256xf32> into tensor<2x512x16x16xf32> | |
| %1266 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1265, %cst_368 : tensor<2x512x16x16xf32>, tensor<512x1x1xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1267 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1266, %cst_369 : tensor<2x512x16x16xf32>, tensor<512x1x1xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1268 = linalg.init_tensor [2, 1536, 16, 16] : tensor<2x1536x16x16xf32> | |
| %1269 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_117 : tensor<1536xf32>) outs(%1268 : tensor<2x1536x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1536x16x16xf32> | |
| %1270 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1267, %cst_116 : tensor<2x512x16x16xf32>, tensor<1536x512x1x1xf32>) outs(%1269 : tensor<2x1536x16x16xf32>) -> tensor<2x1536x16x16xf32> | |
| %1271 = tensor.collapse_shape %1270 [[0], [1], [2, 3]] : tensor<2x1536x16x16xf32> into tensor<2x1536x256xf32> | |
| %1272 = tensor.expand_shape %1271 [[0], [1, 2], [3]] : tensor<2x1536x256xf32> into tensor<2x24x64x256xf32> | |
| %1273 = linalg.init_tensor [2, 24, 256, 64] : tensor<2x24x256x64xf32> | |
| %1274 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1272 : tensor<2x24x64x256xf32>) outs(%1273 : tensor<2x24x256x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x24x256x64xf32> | |
| %1275 = tensor.extract_slice %1274[0, 0, 0, 0] [2, 8, 256, 64] [1, 1, 1, 1] : tensor<2x24x256x64xf32> to tensor<2x8x256x64xf32> | |
| %1276 = tensor.extract_slice %1274[0, 8, 0, 0] [2, 8, 256, 64] [1, 1, 1, 1] : tensor<2x24x256x64xf32> to tensor<2x8x256x64xf32> | |
| %1277 = tensor.extract_slice %1274[0, 16, 0, 0] [2, 8, 256, 64] [1, 1, 1, 1] : tensor<2x24x256x64xf32> to tensor<2x8x256x64xf32> | |
| %1278 = linalg.init_tensor [2, 8, 256, 64] : tensor<2x8x256x64xf32> | |
| %1279 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1275, %cst_512 : tensor<2x8x256x64xf32>, tensor<f64>) outs(%1278 : tensor<2x8x256x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x8x256x64xf32> | |
| %1280 = linalg.init_tensor [2, 8, 64, 256] : tensor<2x8x64x256xf32> | |
| %1281 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1276 : tensor<2x8x256x64xf32>) outs(%1280 : tensor<2x8x64x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x8x64x256xf32> | |
| %1282 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1281, %cst_512 : tensor<2x8x64x256xf32>, tensor<f64>) outs(%1280 : tensor<2x8x64x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x8x64x256xf32> | |
| %1283 = tensor.collapse_shape %1279 [[0, 1], [2], [3]] : tensor<2x8x256x64xf32> into tensor<16x256x64xf32> | |
| %1284 = tensor.collapse_shape %1282 [[0, 1], [2], [3]] : tensor<2x8x64x256xf32> into tensor<16x64x256xf32> | |
| %1285 = linalg.init_tensor [16, 256, 256] : tensor<16x256x256xf32> | |
| %1286 = linalg.fill ins(%cst_514 : f32) outs(%1285 : tensor<16x256x256xf32>) -> tensor<16x256x256xf32> | |
| %1287 = linalg.batch_matmul ins(%1283, %1284 : tensor<16x256x64xf32>, tensor<16x64x256xf32>) outs(%1286 : tensor<16x256x256xf32>) -> tensor<16x256x256xf32> | |
| %1288 = tensor.expand_shape %1287 [[0, 1], [2], [3]] : tensor<16x256x256xf32> into tensor<2x8x256x256xf32> | |
| %1289 = linalg.init_tensor [2, 8, 256, 1] : tensor<2x8x256x1xi64> | |
| %1290 = linalg.fill ins(%c0_i64 : i64) outs(%1289 : tensor<2x8x256x1xi64>) -> tensor<2x8x256x1xi64> | |
| %1291 = linalg.init_tensor [2, 8, 256, 1] : tensor<2x8x256x1xf32> | |
| %1292 = linalg.fill ins(%cst_515 : f32) outs(%1291 : tensor<2x8x256x1xf32>) -> tensor<2x8x256x1xf32> | |
| %1293:2 = linalg.generic {indexing_maps = [#map8, #map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1288 : tensor<2x8x256x256xf32>) outs(%1292, %1290 : tensor<2x8x256x1xf32>, tensor<2x8x256x1xi64>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: i64): | |
| %5340 = linalg.index 3 : index | |
| %5341 = arith.index_cast %5340 : index to i64 | |
| %5342 = arith.cmpf ogt, %arg3, %arg4 : f32 | |
| %5343 = arith.select %5342, %arg3, %arg4 : f32 | |
| %5344 = arith.select %5342, %5341, %arg5 : i64 | |
| linalg.yield %5343, %5344 : f32, i64 | |
| } -> (tensor<2x8x256x1xf32>, tensor<2x8x256x1xi64>) | |
| %1294 = linalg.init_tensor [2, 8, 256, 256] : tensor<2x8x256x256xf32> | |
| %1295 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1288, %1293#0 : tensor<2x8x256x256xf32>, tensor<2x8x256x1xf32>) outs(%1294 : tensor<2x8x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x8x256x256xf32> | |
| %1296 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1295 : tensor<2x8x256x256xf32>) outs(%1294 : tensor<2x8x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.exp %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x8x256x256xf32> | |
| %1297 = linalg.fill ins(%cst_514 : f32) outs(%1291 : tensor<2x8x256x1xf32>) -> tensor<2x8x256x1xf32> | |
| %1298 = linalg.generic {indexing_maps = [#map8, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1296 : tensor<2x8x256x256xf32>) outs(%1297 : tensor<2x8x256x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x8x256x1xf32> | |
| %1299 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1296, %1298 : tensor<2x8x256x256xf32>, tensor<2x8x256x1xf32>) outs(%1294 : tensor<2x8x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.divf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x8x256x256xf32> | |
| %1300 = tensor.collapse_shape %1299 [[0, 1], [2], [3]] : tensor<2x8x256x256xf32> into tensor<16x256x256xf32> | |
| %1301 = tensor.collapse_shape %1277 [[0, 1], [2], [3]] : tensor<2x8x256x64xf32> into tensor<16x256x64xf32> | |
| %1302 = linalg.init_tensor [16, 256, 64] : tensor<16x256x64xf32> | |
| %1303 = linalg.fill ins(%cst_514 : f32) outs(%1302 : tensor<16x256x64xf32>) -> tensor<16x256x64xf32> | |
| %1304 = linalg.batch_matmul ins(%1300, %1301 : tensor<16x256x256xf32>, tensor<16x256x64xf32>) outs(%1303 : tensor<16x256x64xf32>) -> tensor<16x256x64xf32> | |
| %1305 = tensor.expand_shape %1304 [[0, 1], [2], [3]] : tensor<16x256x64xf32> into tensor<2x8x256x64xf32> | |
| %1306 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1305 : tensor<2x8x256x64xf32>) outs(%1280 : tensor<2x8x64x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x8x64x256xf32> | |
| %1307 = tensor.collapse_shape %1306 [[0], [1, 2], [3]] : tensor<2x8x64x256xf32> into tensor<2x512x256xf32> | |
| %1308 = tensor.expand_shape %1307 [[0], [1], [2, 3]] : tensor<2x512x256xf32> into tensor<2x512x16x16xf32> | |
| %1309 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_119 : tensor<512xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1310 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1308, %cst_118 : tensor<2x512x16x16xf32>, tensor<512x512x1x1xf32>) outs(%1309 : tensor<2x512x16x16xf32>) -> tensor<2x512x16x16xf32> | |
| %1311 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1246, %1310 : tensor<2x512x16x16xf32>, tensor<2x512x16x16xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1312 = tensor.pad %1311 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x512x16x16xf32> to tensor<2x512x18x18xf32> | |
| %1313 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_121 : tensor<512xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1314 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1312, %cst_120 : tensor<2x512x18x18xf32>, tensor<512x512x3x3xf32>) outs(%1313 : tensor<2x512x16x16xf32>) -> tensor<2x512x16x16xf32> | |
| %1315 = tensor.collapse_shape %1314 [[0], [1], [2, 3]] : tensor<2x512x16x16xf32> into tensor<2x512x256xf32> | |
| %1316 = tensor.expand_shape %1315 [[0], [1, 2], [3]] : tensor<2x512x256xf32> into tensor<2x1x512x256xf32> | |
| %1317 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1318 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1316 : tensor<2x1x512x256xf32>) outs(%1317 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1319 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1318 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1320 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1316, %1319 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1321 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1320 : tensor<2x1x512x256xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1322 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1323 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1321 : tensor<2x1x512x256xf32>) outs(%1322 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1324 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1323 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1325 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1326 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1316 : tensor<2x1x512x256xf32>) outs(%1325 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1327 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1326 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1328 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1324, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1329 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1328 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1330 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1316, %1327 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1331 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1330, %1329 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1332 = tensor.collapse_shape %1331 [[0], [1, 2], [3]] : tensor<2x1x512x256xf32> into tensor<2x512x256xf32> | |
| %1333 = tensor.expand_shape %1332 [[0], [1], [2, 3]] : tensor<2x512x256xf32> into tensor<2x512x16x16xf32> | |
| %1334 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_122 : tensor<1024x1024xf32>) outs(%32 : tensor<1024x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x1024xf32> | |
| %1335 = linalg.fill ins(%cst_514 : f32) outs(%27 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %1336 = linalg.matmul ins(%51, %1334 : tensor<2x1024xf32>, tensor<1024x1024xf32>) outs(%1335 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %1337 = tensor.extract_slice %1336[0, 0] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1338 = tensor.extract_slice %1336[0, 512] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1339 = tensor.expand_shape %1338 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1340 = tensor.expand_shape %1337 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1341 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1340, %cst_511 : tensor<2x512x1x1xf32>, tensor<i64>) outs(%933 : tensor<2x512x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x1x1xf32> | |
| %1342 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1333, %1341 : tensor<2x512x16x16xf32>, tensor<2x512x1x1xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1343 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1339, %1342 : tensor<2x512x1x1xf32>, tensor<2x512x16x16xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1344 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1343 : tensor<2x512x16x16xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1345 = tensor.pad %1344 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x512x16x16xf32> to tensor<2x512x18x18xf32> | |
| %1346 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_124 : tensor<512xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1347 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1345, %cst_123 : tensor<2x512x18x18xf32>, tensor<512x512x3x3xf32>) outs(%1346 : tensor<2x512x16x16xf32>) -> tensor<2x512x16x16xf32> | |
| %1348 = tensor.collapse_shape %1347 [[0], [1], [2, 3]] : tensor<2x512x16x16xf32> into tensor<2x512x256xf32> | |
| %1349 = tensor.expand_shape %1348 [[0], [1, 2], [3]] : tensor<2x512x256xf32> into tensor<2x1x512x256xf32> | |
| %1350 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1351 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1349 : tensor<2x1x512x256xf32>) outs(%1350 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1352 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1351 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1353 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1349, %1352 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1354 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1353 : tensor<2x1x512x256xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1355 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1356 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1354 : tensor<2x1x512x256xf32>) outs(%1355 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1357 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1356 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1358 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1359 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1349 : tensor<2x1x512x256xf32>) outs(%1358 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1360 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1359 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1361 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1357, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1362 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1361 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1363 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1349, %1360 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1364 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1363, %1362 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1365 = tensor.collapse_shape %1364 [[0], [1, 2], [3]] : tensor<2x1x512x256xf32> into tensor<2x512x256xf32> | |
| %1366 = tensor.expand_shape %1365 [[0], [1], [2, 3]] : tensor<2x512x256xf32> into tensor<2x512x16x16xf32> | |
| %1367 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_125 : tensor<1024x1024xf32>) outs(%32 : tensor<1024x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x1024xf32> | |
| %1368 = linalg.fill ins(%cst_514 : f32) outs(%27 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %1369 = linalg.matmul ins(%51, %1367 : tensor<2x1024xf32>, tensor<1024x1024xf32>) outs(%1368 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %1370 = tensor.extract_slice %1369[0, 0] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1371 = tensor.extract_slice %1369[0, 512] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1372 = tensor.expand_shape %1371 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1373 = tensor.expand_shape %1370 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1374 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1373, %cst_511 : tensor<2x512x1x1xf32>, tensor<i64>) outs(%933 : tensor<2x512x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x1x1xf32> | |
| %1375 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1366, %1374 : tensor<2x512x16x16xf32>, tensor<2x512x1x1xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1376 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1372, %1375 : tensor<2x512x1x1xf32>, tensor<2x512x16x16xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1377 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1376 : tensor<2x512x16x16xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1378 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1377, %1311 : tensor<2x512x16x16xf32>, tensor<2x512x16x16xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1379 = tensor.collapse_shape %1378 [[0], [1], [2, 3]] : tensor<2x512x16x16xf32> into tensor<2x512x256xf32> | |
| %1380 = tensor.expand_shape %1379 [[0], [1, 2], [3]] : tensor<2x512x256xf32> into tensor<2x1x512x256xf32> | |
| %1381 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1382 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1380 : tensor<2x1x512x256xf32>) outs(%1381 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1383 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1382 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1384 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1380, %1383 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1385 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1384 : tensor<2x1x512x256xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1386 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1387 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1385 : tensor<2x1x512x256xf32>) outs(%1386 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1388 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1387 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1389 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1390 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1380 : tensor<2x1x512x256xf32>) outs(%1389 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1391 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1390 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1392 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1388, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1393 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1392 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1394 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1380, %1391 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1395 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1394, %1393 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1396 = tensor.collapse_shape %1395 [[0], [1, 2], [3]] : tensor<2x1x512x256xf32> into tensor<2x512x256xf32> | |
| %1397 = tensor.expand_shape %1396 [[0], [1], [2, 3]] : tensor<2x512x256xf32> into tensor<2x512x16x16xf32> | |
| %1398 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1397, %cst_368 : tensor<2x512x16x16xf32>, tensor<512x1x1xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1399 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1398, %cst_369 : tensor<2x512x16x16xf32>, tensor<512x1x1xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1400 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_127 : tensor<1536xf32>) outs(%1268 : tensor<2x1536x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1536x16x16xf32> | |
| %1401 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1399, %cst_126 : tensor<2x512x16x16xf32>, tensor<1536x512x1x1xf32>) outs(%1400 : tensor<2x1536x16x16xf32>) -> tensor<2x1536x16x16xf32> | |
| %1402 = tensor.collapse_shape %1401 [[0], [1], [2, 3]] : tensor<2x1536x16x16xf32> into tensor<2x1536x256xf32> | |
| %1403 = tensor.expand_shape %1402 [[0], [1, 2], [3]] : tensor<2x1536x256xf32> into tensor<2x24x64x256xf32> | |
| %1404 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1403 : tensor<2x24x64x256xf32>) outs(%1273 : tensor<2x24x256x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x24x256x64xf32> | |
| %1405 = tensor.extract_slice %1404[0, 0, 0, 0] [2, 8, 256, 64] [1, 1, 1, 1] : tensor<2x24x256x64xf32> to tensor<2x8x256x64xf32> | |
| %1406 = tensor.extract_slice %1404[0, 8, 0, 0] [2, 8, 256, 64] [1, 1, 1, 1] : tensor<2x24x256x64xf32> to tensor<2x8x256x64xf32> | |
| %1407 = tensor.extract_slice %1404[0, 16, 0, 0] [2, 8, 256, 64] [1, 1, 1, 1] : tensor<2x24x256x64xf32> to tensor<2x8x256x64xf32> | |
| %1408 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1405, %cst_512 : tensor<2x8x256x64xf32>, tensor<f64>) outs(%1278 : tensor<2x8x256x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x8x256x64xf32> | |
| %1409 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1406 : tensor<2x8x256x64xf32>) outs(%1280 : tensor<2x8x64x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x8x64x256xf32> | |
| %1410 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1409, %cst_512 : tensor<2x8x64x256xf32>, tensor<f64>) outs(%1280 : tensor<2x8x64x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x8x64x256xf32> | |
| %1411 = tensor.collapse_shape %1408 [[0, 1], [2], [3]] : tensor<2x8x256x64xf32> into tensor<16x256x64xf32> | |
| %1412 = tensor.collapse_shape %1410 [[0, 1], [2], [3]] : tensor<2x8x64x256xf32> into tensor<16x64x256xf32> | |
| %1413 = linalg.fill ins(%cst_514 : f32) outs(%1285 : tensor<16x256x256xf32>) -> tensor<16x256x256xf32> | |
| %1414 = linalg.batch_matmul ins(%1411, %1412 : tensor<16x256x64xf32>, tensor<16x64x256xf32>) outs(%1413 : tensor<16x256x256xf32>) -> tensor<16x256x256xf32> | |
| %1415 = tensor.expand_shape %1414 [[0, 1], [2], [3]] : tensor<16x256x256xf32> into tensor<2x8x256x256xf32> | |
| %1416 = linalg.fill ins(%c0_i64 : i64) outs(%1289 : tensor<2x8x256x1xi64>) -> tensor<2x8x256x1xi64> | |
| %1417 = linalg.fill ins(%cst_515 : f32) outs(%1291 : tensor<2x8x256x1xf32>) -> tensor<2x8x256x1xf32> | |
| %1418:2 = linalg.generic {indexing_maps = [#map8, #map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1415 : tensor<2x8x256x256xf32>) outs(%1417, %1416 : tensor<2x8x256x1xf32>, tensor<2x8x256x1xi64>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: i64): | |
| %5340 = linalg.index 3 : index | |
| %5341 = arith.index_cast %5340 : index to i64 | |
| %5342 = arith.cmpf ogt, %arg3, %arg4 : f32 | |
| %5343 = arith.select %5342, %arg3, %arg4 : f32 | |
| %5344 = arith.select %5342, %5341, %arg5 : i64 | |
| linalg.yield %5343, %5344 : f32, i64 | |
| } -> (tensor<2x8x256x1xf32>, tensor<2x8x256x1xi64>) | |
| %1419 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1415, %1418#0 : tensor<2x8x256x256xf32>, tensor<2x8x256x1xf32>) outs(%1294 : tensor<2x8x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x8x256x256xf32> | |
| %1420 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1419 : tensor<2x8x256x256xf32>) outs(%1294 : tensor<2x8x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.exp %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x8x256x256xf32> | |
| %1421 = linalg.fill ins(%cst_514 : f32) outs(%1291 : tensor<2x8x256x1xf32>) -> tensor<2x8x256x1xf32> | |
| %1422 = linalg.generic {indexing_maps = [#map8, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1420 : tensor<2x8x256x256xf32>) outs(%1421 : tensor<2x8x256x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x8x256x1xf32> | |
| %1423 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1420, %1422 : tensor<2x8x256x256xf32>, tensor<2x8x256x1xf32>) outs(%1294 : tensor<2x8x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.divf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x8x256x256xf32> | |
| %1424 = tensor.collapse_shape %1423 [[0, 1], [2], [3]] : tensor<2x8x256x256xf32> into tensor<16x256x256xf32> | |
| %1425 = tensor.collapse_shape %1407 [[0, 1], [2], [3]] : tensor<2x8x256x64xf32> into tensor<16x256x64xf32> | |
| %1426 = linalg.fill ins(%cst_514 : f32) outs(%1302 : tensor<16x256x64xf32>) -> tensor<16x256x64xf32> | |
| %1427 = linalg.batch_matmul ins(%1424, %1425 : tensor<16x256x256xf32>, tensor<16x256x64xf32>) outs(%1426 : tensor<16x256x64xf32>) -> tensor<16x256x64xf32> | |
| %1428 = tensor.expand_shape %1427 [[0, 1], [2], [3]] : tensor<16x256x64xf32> into tensor<2x8x256x64xf32> | |
| %1429 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1428 : tensor<2x8x256x64xf32>) outs(%1280 : tensor<2x8x64x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x8x64x256xf32> | |
| %1430 = tensor.collapse_shape %1429 [[0], [1, 2], [3]] : tensor<2x8x64x256xf32> into tensor<2x512x256xf32> | |
| %1431 = tensor.expand_shape %1430 [[0], [1], [2, 3]] : tensor<2x512x256xf32> into tensor<2x512x16x16xf32> | |
| %1432 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_129 : tensor<512xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1433 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1431, %cst_128 : tensor<2x512x16x16xf32>, tensor<512x512x1x1xf32>) outs(%1432 : tensor<2x512x16x16xf32>) -> tensor<2x512x16x16xf32> | |
| %1434 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1378, %1433 : tensor<2x512x16x16xf32>, tensor<2x512x16x16xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1435 = tensor.pad %1434 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x512x16x16xf32> to tensor<2x512x18x18xf32> | |
| %1436 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_131 : tensor<512xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1437 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1435, %cst_130 : tensor<2x512x18x18xf32>, tensor<512x512x3x3xf32>) outs(%1436 : tensor<2x512x16x16xf32>) -> tensor<2x512x16x16xf32> | |
| %1438 = tensor.collapse_shape %1437 [[0], [1], [2, 3]] : tensor<2x512x16x16xf32> into tensor<2x512x256xf32> | |
| %1439 = tensor.expand_shape %1438 [[0], [1, 2], [3]] : tensor<2x512x256xf32> into tensor<2x1x512x256xf32> | |
| %1440 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1441 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1439 : tensor<2x1x512x256xf32>) outs(%1440 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1442 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1441 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1443 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1439, %1442 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1444 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1443 : tensor<2x1x512x256xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1445 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1446 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1444 : tensor<2x1x512x256xf32>) outs(%1445 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1447 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1446 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1448 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1449 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1439 : tensor<2x1x512x256xf32>) outs(%1448 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1450 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1449 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1451 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1447, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1452 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1451 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1453 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1439, %1450 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1454 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1453, %1452 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1455 = tensor.collapse_shape %1454 [[0], [1, 2], [3]] : tensor<2x1x512x256xf32> into tensor<2x512x256xf32> | |
| %1456 = tensor.expand_shape %1455 [[0], [1], [2, 3]] : tensor<2x512x256xf32> into tensor<2x512x16x16xf32> | |
| %1457 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_132 : tensor<1024x1024xf32>) outs(%32 : tensor<1024x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x1024xf32> | |
| %1458 = linalg.fill ins(%cst_514 : f32) outs(%27 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %1459 = linalg.matmul ins(%51, %1457 : tensor<2x1024xf32>, tensor<1024x1024xf32>) outs(%1458 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %1460 = tensor.extract_slice %1459[0, 0] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1461 = tensor.extract_slice %1459[0, 512] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1462 = tensor.expand_shape %1461 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1463 = tensor.expand_shape %1460 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1464 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1463, %cst_511 : tensor<2x512x1x1xf32>, tensor<i64>) outs(%933 : tensor<2x512x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x1x1xf32> | |
| %1465 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1456, %1464 : tensor<2x512x16x16xf32>, tensor<2x512x1x1xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1466 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1462, %1465 : tensor<2x512x1x1xf32>, tensor<2x512x16x16xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1467 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1466 : tensor<2x512x16x16xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1468 = tensor.pad %1467 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x512x16x16xf32> to tensor<2x512x18x18xf32> | |
| %1469 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_134 : tensor<512xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1470 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1468, %cst_133 : tensor<2x512x18x18xf32>, tensor<512x512x3x3xf32>) outs(%1469 : tensor<2x512x16x16xf32>) -> tensor<2x512x16x16xf32> | |
| %1471 = tensor.collapse_shape %1470 [[0], [1], [2, 3]] : tensor<2x512x16x16xf32> into tensor<2x512x256xf32> | |
| %1472 = tensor.expand_shape %1471 [[0], [1, 2], [3]] : tensor<2x512x256xf32> into tensor<2x1x512x256xf32> | |
| %1473 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1474 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1472 : tensor<2x1x512x256xf32>) outs(%1473 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1475 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1474 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1476 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1472, %1475 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1477 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1476 : tensor<2x1x512x256xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1478 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1479 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1477 : tensor<2x1x512x256xf32>) outs(%1478 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1480 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1479 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1481 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1482 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1472 : tensor<2x1x512x256xf32>) outs(%1481 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1483 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1482 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1484 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1480, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1485 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1484 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1486 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1472, %1483 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1487 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1486, %1485 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1488 = tensor.collapse_shape %1487 [[0], [1, 2], [3]] : tensor<2x1x512x256xf32> into tensor<2x512x256xf32> | |
| %1489 = tensor.expand_shape %1488 [[0], [1], [2, 3]] : tensor<2x512x256xf32> into tensor<2x512x16x16xf32> | |
| %1490 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_135 : tensor<1024x1024xf32>) outs(%32 : tensor<1024x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x1024xf32> | |
| %1491 = linalg.fill ins(%cst_514 : f32) outs(%27 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %1492 = linalg.matmul ins(%51, %1490 : tensor<2x1024xf32>, tensor<1024x1024xf32>) outs(%1491 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %1493 = tensor.extract_slice %1492[0, 0] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1494 = tensor.extract_slice %1492[0, 512] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1495 = tensor.expand_shape %1494 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1496 = tensor.expand_shape %1493 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1497 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1496, %cst_511 : tensor<2x512x1x1xf32>, tensor<i64>) outs(%933 : tensor<2x512x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x1x1xf32> | |
| %1498 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1489, %1497 : tensor<2x512x16x16xf32>, tensor<2x512x1x1xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1499 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1495, %1498 : tensor<2x512x1x1xf32>, tensor<2x512x16x16xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1500 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1499 : tensor<2x512x16x16xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1501 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1500, %1434 : tensor<2x512x16x16xf32>, tensor<2x512x16x16xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1502 = tensor.collapse_shape %1501 [[0], [1], [2, 3]] : tensor<2x512x16x16xf32> into tensor<2x512x256xf32> | |
| %1503 = tensor.expand_shape %1502 [[0], [1, 2], [3]] : tensor<2x512x256xf32> into tensor<2x1x512x256xf32> | |
| %1504 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1505 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1503 : tensor<2x1x512x256xf32>) outs(%1504 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1506 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1505 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1507 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1503, %1506 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1508 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1507 : tensor<2x1x512x256xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1509 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1510 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1508 : tensor<2x1x512x256xf32>) outs(%1509 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1511 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1510 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1512 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1513 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1503 : tensor<2x1x512x256xf32>) outs(%1512 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1514 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1513 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1515 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1511, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1516 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1515 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1517 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1503, %1514 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1518 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1517, %1516 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1519 = tensor.collapse_shape %1518 [[0], [1, 2], [3]] : tensor<2x1x512x256xf32> into tensor<2x512x256xf32> | |
| %1520 = tensor.expand_shape %1519 [[0], [1], [2, 3]] : tensor<2x512x256xf32> into tensor<2x512x16x16xf32> | |
| %1521 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1520, %cst_368 : tensor<2x512x16x16xf32>, tensor<512x1x1xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1522 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1521, %cst_369 : tensor<2x512x16x16xf32>, tensor<512x1x1xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1523 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_137 : tensor<1536xf32>) outs(%1268 : tensor<2x1536x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1536x16x16xf32> | |
| %1524 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1522, %cst_136 : tensor<2x512x16x16xf32>, tensor<1536x512x1x1xf32>) outs(%1523 : tensor<2x1536x16x16xf32>) -> tensor<2x1536x16x16xf32> | |
| %1525 = tensor.collapse_shape %1524 [[0], [1], [2, 3]] : tensor<2x1536x16x16xf32> into tensor<2x1536x256xf32> | |
| %1526 = tensor.expand_shape %1525 [[0], [1, 2], [3]] : tensor<2x1536x256xf32> into tensor<2x24x64x256xf32> | |
| %1527 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1526 : tensor<2x24x64x256xf32>) outs(%1273 : tensor<2x24x256x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x24x256x64xf32> | |
| %1528 = tensor.extract_slice %1527[0, 0, 0, 0] [2, 8, 256, 64] [1, 1, 1, 1] : tensor<2x24x256x64xf32> to tensor<2x8x256x64xf32> | |
| %1529 = tensor.extract_slice %1527[0, 8, 0, 0] [2, 8, 256, 64] [1, 1, 1, 1] : tensor<2x24x256x64xf32> to tensor<2x8x256x64xf32> | |
| %1530 = tensor.extract_slice %1527[0, 16, 0, 0] [2, 8, 256, 64] [1, 1, 1, 1] : tensor<2x24x256x64xf32> to tensor<2x8x256x64xf32> | |
| %1531 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1528, %cst_512 : tensor<2x8x256x64xf32>, tensor<f64>) outs(%1278 : tensor<2x8x256x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x8x256x64xf32> | |
| %1532 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1529 : tensor<2x8x256x64xf32>) outs(%1280 : tensor<2x8x64x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x8x64x256xf32> | |
| %1533 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1532, %cst_512 : tensor<2x8x64x256xf32>, tensor<f64>) outs(%1280 : tensor<2x8x64x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x8x64x256xf32> | |
| %1534 = tensor.collapse_shape %1531 [[0, 1], [2], [3]] : tensor<2x8x256x64xf32> into tensor<16x256x64xf32> | |
| %1535 = tensor.collapse_shape %1533 [[0, 1], [2], [3]] : tensor<2x8x64x256xf32> into tensor<16x64x256xf32> | |
| %1536 = linalg.fill ins(%cst_514 : f32) outs(%1285 : tensor<16x256x256xf32>) -> tensor<16x256x256xf32> | |
| %1537 = linalg.batch_matmul ins(%1534, %1535 : tensor<16x256x64xf32>, tensor<16x64x256xf32>) outs(%1536 : tensor<16x256x256xf32>) -> tensor<16x256x256xf32> | |
| %1538 = tensor.expand_shape %1537 [[0, 1], [2], [3]] : tensor<16x256x256xf32> into tensor<2x8x256x256xf32> | |
| %1539 = linalg.fill ins(%c0_i64 : i64) outs(%1289 : tensor<2x8x256x1xi64>) -> tensor<2x8x256x1xi64> | |
| %1540 = linalg.fill ins(%cst_515 : f32) outs(%1291 : tensor<2x8x256x1xf32>) -> tensor<2x8x256x1xf32> | |
| %1541:2 = linalg.generic {indexing_maps = [#map8, #map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1538 : tensor<2x8x256x256xf32>) outs(%1540, %1539 : tensor<2x8x256x1xf32>, tensor<2x8x256x1xi64>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: i64): | |
| %5340 = linalg.index 3 : index | |
| %5341 = arith.index_cast %5340 : index to i64 | |
| %5342 = arith.cmpf ogt, %arg3, %arg4 : f32 | |
| %5343 = arith.select %5342, %arg3, %arg4 : f32 | |
| %5344 = arith.select %5342, %5341, %arg5 : i64 | |
| linalg.yield %5343, %5344 : f32, i64 | |
| } -> (tensor<2x8x256x1xf32>, tensor<2x8x256x1xi64>) | |
| %1542 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1538, %1541#0 : tensor<2x8x256x256xf32>, tensor<2x8x256x1xf32>) outs(%1294 : tensor<2x8x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x8x256x256xf32> | |
| %1543 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1542 : tensor<2x8x256x256xf32>) outs(%1294 : tensor<2x8x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.exp %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x8x256x256xf32> | |
| %1544 = linalg.fill ins(%cst_514 : f32) outs(%1291 : tensor<2x8x256x1xf32>) -> tensor<2x8x256x1xf32> | |
| %1545 = linalg.generic {indexing_maps = [#map8, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1543 : tensor<2x8x256x256xf32>) outs(%1544 : tensor<2x8x256x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x8x256x1xf32> | |
| %1546 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1543, %1545 : tensor<2x8x256x256xf32>, tensor<2x8x256x1xf32>) outs(%1294 : tensor<2x8x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.divf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x8x256x256xf32> | |
| %1547 = tensor.collapse_shape %1546 [[0, 1], [2], [3]] : tensor<2x8x256x256xf32> into tensor<16x256x256xf32> | |
| %1548 = tensor.collapse_shape %1530 [[0, 1], [2], [3]] : tensor<2x8x256x64xf32> into tensor<16x256x64xf32> | |
| %1549 = linalg.fill ins(%cst_514 : f32) outs(%1302 : tensor<16x256x64xf32>) -> tensor<16x256x64xf32> | |
| %1550 = linalg.batch_matmul ins(%1547, %1548 : tensor<16x256x256xf32>, tensor<16x256x64xf32>) outs(%1549 : tensor<16x256x64xf32>) -> tensor<16x256x64xf32> | |
| %1551 = tensor.expand_shape %1550 [[0, 1], [2], [3]] : tensor<16x256x64xf32> into tensor<2x8x256x64xf32> | |
| %1552 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1551 : tensor<2x8x256x64xf32>) outs(%1280 : tensor<2x8x64x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x8x64x256xf32> | |
| %1553 = tensor.collapse_shape %1552 [[0], [1, 2], [3]] : tensor<2x8x64x256xf32> into tensor<2x512x256xf32> | |
| %1554 = tensor.expand_shape %1553 [[0], [1], [2, 3]] : tensor<2x512x256xf32> into tensor<2x512x16x16xf32> | |
| %1555 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_139 : tensor<512xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1556 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1554, %cst_138 : tensor<2x512x16x16xf32>, tensor<512x512x1x1xf32>) outs(%1555 : tensor<2x512x16x16xf32>) -> tensor<2x512x16x16xf32> | |
| %1557 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1501, %1556 : tensor<2x512x16x16xf32>, tensor<2x512x16x16xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1558 = tensor.pad %1557 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x512x16x16xf32> to tensor<2x512x18x18xf32> | |
| %1559 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_141 : tensor<512xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1560 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1558, %cst_140 : tensor<2x512x18x18xf32>, tensor<512x512x3x3xf32>) outs(%1559 : tensor<2x512x16x16xf32>) -> tensor<2x512x16x16xf32> | |
| %1561 = tensor.collapse_shape %1560 [[0], [1], [2, 3]] : tensor<2x512x16x16xf32> into tensor<2x512x256xf32> | |
| %1562 = tensor.expand_shape %1561 [[0], [1, 2], [3]] : tensor<2x512x256xf32> into tensor<2x1x512x256xf32> | |
| %1563 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1564 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1562 : tensor<2x1x512x256xf32>) outs(%1563 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1565 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1564 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1566 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1562, %1565 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1567 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1566 : tensor<2x1x512x256xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1568 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1569 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1567 : tensor<2x1x512x256xf32>) outs(%1568 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1570 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1569 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1571 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1572 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1562 : tensor<2x1x512x256xf32>) outs(%1571 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1573 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1572 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1574 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1570, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1575 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1574 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1576 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1562, %1573 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1577 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1576, %1575 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1578 = tensor.collapse_shape %1577 [[0], [1, 2], [3]] : tensor<2x1x512x256xf32> into tensor<2x512x256xf32> | |
| %1579 = tensor.expand_shape %1578 [[0], [1], [2, 3]] : tensor<2x512x256xf32> into tensor<2x512x16x16xf32> | |
| %1580 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_142 : tensor<1024x1024xf32>) outs(%32 : tensor<1024x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x1024xf32> | |
| %1581 = linalg.fill ins(%cst_514 : f32) outs(%27 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %1582 = linalg.matmul ins(%51, %1580 : tensor<2x1024xf32>, tensor<1024x1024xf32>) outs(%1581 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %1583 = tensor.extract_slice %1582[0, 0] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1584 = tensor.extract_slice %1582[0, 512] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1585 = tensor.expand_shape %1584 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1586 = tensor.expand_shape %1583 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1587 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1586, %cst_511 : tensor<2x512x1x1xf32>, tensor<i64>) outs(%933 : tensor<2x512x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x1x1xf32> | |
| %1588 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1579, %1587 : tensor<2x512x16x16xf32>, tensor<2x512x1x1xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1589 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1585, %1588 : tensor<2x512x1x1xf32>, tensor<2x512x16x16xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1590 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1589 : tensor<2x512x16x16xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1591 = tensor.pad %1590 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x512x16x16xf32> to tensor<2x512x18x18xf32> | |
| %1592 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_144 : tensor<512xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1593 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1591, %cst_143 : tensor<2x512x18x18xf32>, tensor<512x512x3x3xf32>) outs(%1592 : tensor<2x512x16x16xf32>) -> tensor<2x512x16x16xf32> | |
| %1594 = tensor.collapse_shape %1593 [[0], [1], [2, 3]] : tensor<2x512x16x16xf32> into tensor<2x512x256xf32> | |
| %1595 = tensor.expand_shape %1594 [[0], [1, 2], [3]] : tensor<2x512x256xf32> into tensor<2x1x512x256xf32> | |
| %1596 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1597 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1595 : tensor<2x1x512x256xf32>) outs(%1596 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1598 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1597 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1599 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1595, %1598 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1600 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1599 : tensor<2x1x512x256xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1601 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1602 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1600 : tensor<2x1x512x256xf32>) outs(%1601 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1603 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1602 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1604 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1605 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1595 : tensor<2x1x512x256xf32>) outs(%1604 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1606 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1605 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1607 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1603, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1608 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1607 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1609 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1595, %1606 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1610 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1609, %1608 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1611 = tensor.collapse_shape %1610 [[0], [1, 2], [3]] : tensor<2x1x512x256xf32> into tensor<2x512x256xf32> | |
| %1612 = tensor.expand_shape %1611 [[0], [1], [2, 3]] : tensor<2x512x256xf32> into tensor<2x512x16x16xf32> | |
| %1613 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_145 : tensor<1024x1024xf32>) outs(%32 : tensor<1024x1024xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x1024xf32> | |
| %1614 = linalg.fill ins(%cst_514 : f32) outs(%27 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %1615 = linalg.matmul ins(%51, %1613 : tensor<2x1024xf32>, tensor<1024x1024xf32>) outs(%1614 : tensor<2x1024xf32>) -> tensor<2x1024xf32> | |
| %1616 = tensor.extract_slice %1615[0, 0] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1617 = tensor.extract_slice %1615[0, 512] [2, 512] [1, 1] : tensor<2x1024xf32> to tensor<2x512xf32> | |
| %1618 = tensor.expand_shape %1617 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1619 = tensor.expand_shape %1616 [[0], [1, 2, 3]] : tensor<2x512xf32> into tensor<2x512x1x1xf32> | |
| %1620 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1619, %cst_511 : tensor<2x512x1x1xf32>, tensor<i64>) outs(%933 : tensor<2x512x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x1x1xf32> | |
| %1621 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1612, %1620 : tensor<2x512x16x16xf32>, tensor<2x512x1x1xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1622 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1618, %1621 : tensor<2x512x1x1xf32>, tensor<2x512x16x16xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1623 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1622 : tensor<2x512x16x16xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1624 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1623, %1557 : tensor<2x512x16x16xf32>, tensor<2x512x16x16xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1625 = tensor.collapse_shape %1624 [[0], [1], [2, 3]] : tensor<2x512x16x16xf32> into tensor<2x512x256xf32> | |
| %1626 = tensor.expand_shape %1625 [[0], [1, 2], [3]] : tensor<2x512x256xf32> into tensor<2x1x512x256xf32> | |
| %1627 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1628 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1626 : tensor<2x1x512x256xf32>) outs(%1627 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1629 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1628 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1630 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1626, %1629 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1631 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1630 : tensor<2x1x512x256xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1632 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1633 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1631 : tensor<2x1x512x256xf32>) outs(%1632 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1634 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1633 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1635 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1636 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1626 : tensor<2x1x512x256xf32>) outs(%1635 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1637 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1636 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_520 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1638 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1634, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1639 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1638 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1640 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1626, %1637 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1641 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1640, %1639 : tensor<2x1x512x256xf32>, tensor<2x1x1x1xf32>) outs(%1187 : tensor<2x1x512x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x512x256xf32> | |
| %1642 = tensor.collapse_shape %1641 [[0], [1, 2], [3]] : tensor<2x1x512x256xf32> into tensor<2x512x256xf32> | |
| %1643 = tensor.expand_shape %1642 [[0], [1], [2, 3]] : tensor<2x512x256xf32> into tensor<2x512x16x16xf32> | |
| %1644 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1643, %cst_368 : tensor<2x512x16x16xf32>, tensor<512x1x1xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1645 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1644, %cst_369 : tensor<2x512x16x16xf32>, tensor<512x1x1xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1646 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_147 : tensor<1536xf32>) outs(%1268 : tensor<2x1536x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1536x16x16xf32> | |
| %1647 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1645, %cst_146 : tensor<2x512x16x16xf32>, tensor<1536x512x1x1xf32>) outs(%1646 : tensor<2x1536x16x16xf32>) -> tensor<2x1536x16x16xf32> | |
| %1648 = tensor.collapse_shape %1647 [[0], [1], [2, 3]] : tensor<2x1536x16x16xf32> into tensor<2x1536x256xf32> | |
| %1649 = tensor.expand_shape %1648 [[0], [1, 2], [3]] : tensor<2x1536x256xf32> into tensor<2x24x64x256xf32> | |
| %1650 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1649 : tensor<2x24x64x256xf32>) outs(%1273 : tensor<2x24x256x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x24x256x64xf32> | |
| %1651 = tensor.extract_slice %1650[0, 0, 0, 0] [2, 8, 256, 64] [1, 1, 1, 1] : tensor<2x24x256x64xf32> to tensor<2x8x256x64xf32> | |
| %1652 = tensor.extract_slice %1650[0, 8, 0, 0] [2, 8, 256, 64] [1, 1, 1, 1] : tensor<2x24x256x64xf32> to tensor<2x8x256x64xf32> | |
| %1653 = tensor.extract_slice %1650[0, 16, 0, 0] [2, 8, 256, 64] [1, 1, 1, 1] : tensor<2x24x256x64xf32> to tensor<2x8x256x64xf32> | |
| %1654 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1651, %cst_512 : tensor<2x8x256x64xf32>, tensor<f64>) outs(%1278 : tensor<2x8x256x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x8x256x64xf32> | |
| %1655 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1652 : tensor<2x8x256x64xf32>) outs(%1280 : tensor<2x8x64x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x8x64x256xf32> | |
| %1656 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1655, %cst_512 : tensor<2x8x64x256xf32>, tensor<f64>) outs(%1280 : tensor<2x8x64x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x8x64x256xf32> | |
| %1657 = tensor.collapse_shape %1654 [[0, 1], [2], [3]] : tensor<2x8x256x64xf32> into tensor<16x256x64xf32> | |
| %1658 = tensor.collapse_shape %1656 [[0, 1], [2], [3]] : tensor<2x8x64x256xf32> into tensor<16x64x256xf32> | |
| %1659 = linalg.fill ins(%cst_514 : f32) outs(%1285 : tensor<16x256x256xf32>) -> tensor<16x256x256xf32> | |
| %1660 = linalg.batch_matmul ins(%1657, %1658 : tensor<16x256x64xf32>, tensor<16x64x256xf32>) outs(%1659 : tensor<16x256x256xf32>) -> tensor<16x256x256xf32> | |
| %1661 = tensor.expand_shape %1660 [[0, 1], [2], [3]] : tensor<16x256x256xf32> into tensor<2x8x256x256xf32> | |
| %1662 = linalg.fill ins(%c0_i64 : i64) outs(%1289 : tensor<2x8x256x1xi64>) -> tensor<2x8x256x1xi64> | |
| %1663 = linalg.fill ins(%cst_515 : f32) outs(%1291 : tensor<2x8x256x1xf32>) -> tensor<2x8x256x1xf32> | |
| %1664:2 = linalg.generic {indexing_maps = [#map8, #map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1661 : tensor<2x8x256x256xf32>) outs(%1663, %1662 : tensor<2x8x256x1xf32>, tensor<2x8x256x1xi64>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: i64): | |
| %5340 = linalg.index 3 : index | |
| %5341 = arith.index_cast %5340 : index to i64 | |
| %5342 = arith.cmpf ogt, %arg3, %arg4 : f32 | |
| %5343 = arith.select %5342, %arg3, %arg4 : f32 | |
| %5344 = arith.select %5342, %5341, %arg5 : i64 | |
| linalg.yield %5343, %5344 : f32, i64 | |
| } -> (tensor<2x8x256x1xf32>, tensor<2x8x256x1xi64>) | |
| %1665 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1661, %1664#0 : tensor<2x8x256x256xf32>, tensor<2x8x256x1xf32>) outs(%1294 : tensor<2x8x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x8x256x256xf32> | |
| %1666 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1665 : tensor<2x8x256x256xf32>) outs(%1294 : tensor<2x8x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.exp %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x8x256x256xf32> | |
| %1667 = linalg.fill ins(%cst_514 : f32) outs(%1291 : tensor<2x8x256x1xf32>) -> tensor<2x8x256x1xf32> | |
| %1668 = linalg.generic {indexing_maps = [#map8, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1666 : tensor<2x8x256x256xf32>) outs(%1667 : tensor<2x8x256x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x8x256x1xf32> | |
| %1669 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1666, %1668 : tensor<2x8x256x256xf32>, tensor<2x8x256x1xf32>) outs(%1294 : tensor<2x8x256x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.divf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x8x256x256xf32> | |
| %1670 = tensor.collapse_shape %1669 [[0, 1], [2], [3]] : tensor<2x8x256x256xf32> into tensor<16x256x256xf32> | |
| %1671 = tensor.collapse_shape %1653 [[0, 1], [2], [3]] : tensor<2x8x256x64xf32> into tensor<16x256x64xf32> | |
| %1672 = linalg.fill ins(%cst_514 : f32) outs(%1302 : tensor<16x256x64xf32>) -> tensor<16x256x64xf32> | |
| %1673 = linalg.batch_matmul ins(%1670, %1671 : tensor<16x256x256xf32>, tensor<16x256x64xf32>) outs(%1672 : tensor<16x256x64xf32>) -> tensor<16x256x64xf32> | |
| %1674 = tensor.expand_shape %1673 [[0, 1], [2], [3]] : tensor<16x256x64xf32> into tensor<2x8x256x64xf32> | |
| %1675 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1674 : tensor<2x8x256x64xf32>) outs(%1280 : tensor<2x8x64x256xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x8x64x256xf32> | |
| %1676 = tensor.collapse_shape %1675 [[0], [1, 2], [3]] : tensor<2x8x64x256xf32> into tensor<2x512x256xf32> | |
| %1677 = tensor.expand_shape %1676 [[0], [1], [2, 3]] : tensor<2x512x256xf32> into tensor<2x512x16x16xf32> | |
| %1678 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_149 : tensor<512xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1679 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1677, %cst_148 : tensor<2x512x16x16xf32>, tensor<512x512x1x1xf32>) outs(%1678 : tensor<2x512x16x16xf32>) -> tensor<2x512x16x16xf32> | |
| %1680 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1624, %1679 : tensor<2x512x16x16xf32>, tensor<2x512x16x16xf32>) outs(%1175 : tensor<2x512x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x16x16xf32> | |
| %1681 = linalg.init_tensor [2, 512, 8, 8] : tensor<2x512x8x8xf32> | |
| %1682 = linalg.fill ins(%cst_514 : f32) outs(%1681 : tensor<2x512x8x8xf32>) -> tensor<2x512x8x8xf32> | |
| %1683 = linalg.pooling_nchw_sum {dilations = dense<1> : vector<2xi64>, strides = dense<2> : vector<2xi64>} ins(%1680, %348 : tensor<2x512x16x16xf32>, tensor<2x2xf32>) outs(%1682 : tensor<2x512x8x8xf32>) -> tensor<2x512x8x8xf32> | |
| %1684 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1683 : tensor<2x512x8x8xf32>) outs(%1681 : tensor<2x512x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_522 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x512x8x8xf32> | |
| %1685 = tensor.pad %1684 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x512x8x8xf32> to tensor<2x512x10x10xf32> | |
| %1686 = linalg.init_tensor [2, 1024, 8, 8] : tensor<2x1024x8x8xf32> | |
| %1687 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_151 : tensor<1024xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1688 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1685, %cst_150 : tensor<2x512x10x10xf32>, tensor<1024x512x3x3xf32>) outs(%1687 : tensor<2x1024x8x8xf32>) -> tensor<2x1024x8x8xf32> | |
| %1689 = tensor.collapse_shape %1688 [[0], [1], [2, 3]] : tensor<2x1024x8x8xf32> into tensor<2x1024x64xf32> | |
| %1690 = tensor.expand_shape %1689 [[0], [1, 2], [3]] : tensor<2x1024x64xf32> into tensor<2x1x1024x64xf32> | |
| %1691 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1692 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1690 : tensor<2x1x1024x64xf32>) outs(%1691 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1693 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1692 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1694 = linalg.init_tensor [2, 1, 1024, 64] : tensor<2x1x1024x64xf32> | |
| %1695 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1690, %1693 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1696 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1695 : tensor<2x1x1024x64xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1697 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1698 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1696 : tensor<2x1x1024x64xf32>) outs(%1697 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1699 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1698 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1700 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1701 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1690 : tensor<2x1x1024x64xf32>) outs(%1700 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1702 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1701 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1703 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1699, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1704 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1703 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1705 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1690, %1702 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1706 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1705, %1704 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1707 = tensor.collapse_shape %1706 [[0], [1, 2], [3]] : tensor<2x1x1024x64xf32> into tensor<2x1024x64xf32> | |
| %1708 = tensor.expand_shape %1707 [[0], [1], [2, 3]] : tensor<2x1024x64xf32> into tensor<2x1024x8x8xf32> | |
| %1709 = linalg.init_tensor [1024, 2048] : tensor<1024x2048xf32> | |
| %1710 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_152 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %1711 = linalg.init_tensor [2, 2048] : tensor<2x2048xf32> | |
| %1712 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %1713 = linalg.matmul ins(%51, %1710 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%1712 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %1714 = tensor.extract_slice %1713[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %1715 = tensor.extract_slice %1713[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %1716 = tensor.expand_shape %1715 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %1717 = tensor.expand_shape %1714 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %1718 = linalg.init_tensor [2, 1024, 1, 1] : tensor<2x1024x1x1xf32> | |
| %1719 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1717, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %1720 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1708, %1719 : tensor<2x1024x8x8xf32>, tensor<2x1024x1x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1721 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1716, %1720 : tensor<2x1024x1x1xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1722 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1721 : tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1723 = tensor.pad %1722 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x8x8xf32> to tensor<2x1024x10x10xf32> | |
| %1724 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_154 : tensor<1024xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1725 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1723, %cst_153 : tensor<2x1024x10x10xf32>, tensor<1024x1024x3x3xf32>) outs(%1724 : tensor<2x1024x8x8xf32>) -> tensor<2x1024x8x8xf32> | |
| %1726 = tensor.collapse_shape %1725 [[0], [1], [2, 3]] : tensor<2x1024x8x8xf32> into tensor<2x1024x64xf32> | |
| %1727 = tensor.expand_shape %1726 [[0], [1, 2], [3]] : tensor<2x1024x64xf32> into tensor<2x1x1024x64xf32> | |
| %1728 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1729 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1727 : tensor<2x1x1024x64xf32>) outs(%1728 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1730 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1729 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1731 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1727, %1730 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1732 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1731 : tensor<2x1x1024x64xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1733 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1734 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1732 : tensor<2x1x1024x64xf32>) outs(%1733 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1735 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1734 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1736 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1737 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1727 : tensor<2x1x1024x64xf32>) outs(%1736 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1738 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1737 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1739 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1735, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1740 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1739 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1741 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1727, %1738 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1742 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1741, %1740 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1743 = tensor.collapse_shape %1742 [[0], [1, 2], [3]] : tensor<2x1x1024x64xf32> into tensor<2x1024x64xf32> | |
| %1744 = tensor.expand_shape %1743 [[0], [1], [2, 3]] : tensor<2x1024x64xf32> into tensor<2x1024x8x8xf32> | |
| %1745 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_155 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %1746 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %1747 = linalg.matmul ins(%51, %1745 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%1746 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %1748 = tensor.extract_slice %1747[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %1749 = tensor.extract_slice %1747[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %1750 = tensor.expand_shape %1749 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %1751 = tensor.expand_shape %1748 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %1752 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1751, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %1753 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1744, %1752 : tensor<2x1024x8x8xf32>, tensor<2x1024x1x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1754 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1750, %1753 : tensor<2x1024x1x1xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1755 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1754 : tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1756 = linalg.fill ins(%cst_514 : f32) outs(%1686 : tensor<2x1024x8x8xf32>) -> tensor<2x1024x8x8xf32> | |
| %1757 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1684, %cst_156 : tensor<2x512x8x8xf32>, tensor<1024x512x1x1xf32>) outs(%1756 : tensor<2x1024x8x8xf32>) -> tensor<2x1024x8x8xf32> | |
| %1758 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1755, %1757 : tensor<2x1024x8x8xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1759 = tensor.collapse_shape %1758 [[0], [1], [2, 3]] : tensor<2x1024x8x8xf32> into tensor<2x1024x64xf32> | |
| %1760 = tensor.expand_shape %1759 [[0], [1, 2], [3]] : tensor<2x1024x64xf32> into tensor<2x1x1024x64xf32> | |
| %1761 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1762 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1760 : tensor<2x1x1024x64xf32>) outs(%1761 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1763 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1762 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1764 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1760, %1763 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1765 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1764 : tensor<2x1x1024x64xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1766 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1767 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1765 : tensor<2x1x1024x64xf32>) outs(%1766 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1768 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1767 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1769 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1770 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1760 : tensor<2x1x1024x64xf32>) outs(%1769 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1771 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1770 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1772 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1768, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1773 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1772 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1774 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1760, %1771 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1775 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1774, %1773 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1776 = tensor.collapse_shape %1775 [[0], [1, 2], [3]] : tensor<2x1x1024x64xf32> into tensor<2x1024x64xf32> | |
| %1777 = tensor.expand_shape %1776 [[0], [1], [2, 3]] : tensor<2x1024x64xf32> into tensor<2x1024x8x8xf32> | |
| %1778 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1777, %cst_306 : tensor<2x1024x8x8xf32>, tensor<1024x1x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1779 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1778, %cst_307 : tensor<2x1024x8x8xf32>, tensor<1024x1x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1780 = linalg.init_tensor [2, 3072, 8, 8] : tensor<2x3072x8x8xf32> | |
| %1781 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_158 : tensor<3072xf32>) outs(%1780 : tensor<2x3072x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x3072x8x8xf32> | |
| %1782 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1779, %cst_157 : tensor<2x1024x8x8xf32>, tensor<3072x1024x1x1xf32>) outs(%1781 : tensor<2x3072x8x8xf32>) -> tensor<2x3072x8x8xf32> | |
| %1783 = tensor.collapse_shape %1782 [[0], [1], [2, 3]] : tensor<2x3072x8x8xf32> into tensor<2x3072x64xf32> | |
| %1784 = tensor.expand_shape %1783 [[0], [1, 2], [3]] : tensor<2x3072x64xf32> into tensor<2x48x64x64xf32> | |
| %1785 = linalg.init_tensor [2, 48, 64, 64] : tensor<2x48x64x64xf32> | |
| %1786 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1784 : tensor<2x48x64x64xf32>) outs(%1785 : tensor<2x48x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x48x64x64xf32> | |
| %1787 = tensor.extract_slice %1786[0, 0, 0, 0] [2, 16, 64, 64] [1, 1, 1, 1] : tensor<2x48x64x64xf32> to tensor<2x16x64x64xf32> | |
| %1788 = tensor.extract_slice %1786[0, 16, 0, 0] [2, 16, 64, 64] [1, 1, 1, 1] : tensor<2x48x64x64xf32> to tensor<2x16x64x64xf32> | |
| %1789 = tensor.extract_slice %1786[0, 32, 0, 0] [2, 16, 64, 64] [1, 1, 1, 1] : tensor<2x48x64x64xf32> to tensor<2x16x64x64xf32> | |
| %1790 = linalg.init_tensor [2, 16, 64, 64] : tensor<2x16x64x64xf32> | |
| %1791 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1787, %cst_512 : tensor<2x16x64x64xf32>, tensor<f64>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %1792 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1788 : tensor<2x16x64x64xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %1793 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1792, %cst_512 : tensor<2x16x64x64xf32>, tensor<f64>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %1794 = tensor.collapse_shape %1791 [[0, 1], [2], [3]] : tensor<2x16x64x64xf32> into tensor<32x64x64xf32> | |
| %1795 = tensor.collapse_shape %1793 [[0, 1], [2], [3]] : tensor<2x16x64x64xf32> into tensor<32x64x64xf32> | |
| %1796 = linalg.init_tensor [32, 64, 64] : tensor<32x64x64xf32> | |
| %1797 = linalg.fill ins(%cst_514 : f32) outs(%1796 : tensor<32x64x64xf32>) -> tensor<32x64x64xf32> | |
| %1798 = linalg.batch_matmul ins(%1794, %1795 : tensor<32x64x64xf32>, tensor<32x64x64xf32>) outs(%1797 : tensor<32x64x64xf32>) -> tensor<32x64x64xf32> | |
| %1799 = tensor.expand_shape %1798 [[0, 1], [2], [3]] : tensor<32x64x64xf32> into tensor<2x16x64x64xf32> | |
| %1800 = linalg.init_tensor [2, 16, 64, 1] : tensor<2x16x64x1xi64> | |
| %1801 = linalg.fill ins(%c0_i64 : i64) outs(%1800 : tensor<2x16x64x1xi64>) -> tensor<2x16x64x1xi64> | |
| %1802 = linalg.init_tensor [2, 16, 64, 1] : tensor<2x16x64x1xf32> | |
| %1803 = linalg.fill ins(%cst_515 : f32) outs(%1802 : tensor<2x16x64x1xf32>) -> tensor<2x16x64x1xf32> | |
| %1804:2 = linalg.generic {indexing_maps = [#map8, #map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1799 : tensor<2x16x64x64xf32>) outs(%1803, %1801 : tensor<2x16x64x1xf32>, tensor<2x16x64x1xi64>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: i64): | |
| %5340 = linalg.index 3 : index | |
| %5341 = arith.index_cast %5340 : index to i64 | |
| %5342 = arith.cmpf ogt, %arg3, %arg4 : f32 | |
| %5343 = arith.select %5342, %arg3, %arg4 : f32 | |
| %5344 = arith.select %5342, %5341, %arg5 : i64 | |
| linalg.yield %5343, %5344 : f32, i64 | |
| } -> (tensor<2x16x64x1xf32>, tensor<2x16x64x1xi64>) | |
| %1805 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1799, %1804#0 : tensor<2x16x64x64xf32>, tensor<2x16x64x1xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %1806 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1805 : tensor<2x16x64x64xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.exp %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %1807 = linalg.fill ins(%cst_514 : f32) outs(%1802 : tensor<2x16x64x1xf32>) -> tensor<2x16x64x1xf32> | |
| %1808 = linalg.generic {indexing_maps = [#map8, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1806 : tensor<2x16x64x64xf32>) outs(%1807 : tensor<2x16x64x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x64x1xf32> | |
| %1809 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1806, %1808 : tensor<2x16x64x64xf32>, tensor<2x16x64x1xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.divf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %1810 = tensor.collapse_shape %1809 [[0, 1], [2], [3]] : tensor<2x16x64x64xf32> into tensor<32x64x64xf32> | |
| %1811 = tensor.collapse_shape %1789 [[0, 1], [2], [3]] : tensor<2x16x64x64xf32> into tensor<32x64x64xf32> | |
| %1812 = linalg.fill ins(%cst_514 : f32) outs(%1796 : tensor<32x64x64xf32>) -> tensor<32x64x64xf32> | |
| %1813 = linalg.batch_matmul ins(%1810, %1811 : tensor<32x64x64xf32>, tensor<32x64x64xf32>) outs(%1812 : tensor<32x64x64xf32>) -> tensor<32x64x64xf32> | |
| %1814 = tensor.expand_shape %1813 [[0, 1], [2], [3]] : tensor<32x64x64xf32> into tensor<2x16x64x64xf32> | |
| %1815 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1814 : tensor<2x16x64x64xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %1816 = tensor.collapse_shape %1815 [[0], [1, 2], [3]] : tensor<2x16x64x64xf32> into tensor<2x1024x64xf32> | |
| %1817 = tensor.expand_shape %1816 [[0], [1], [2, 3]] : tensor<2x1024x64xf32> into tensor<2x1024x8x8xf32> | |
| %1818 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_160 : tensor<1024xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1819 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1817, %cst_159 : tensor<2x1024x8x8xf32>, tensor<1024x1024x1x1xf32>) outs(%1818 : tensor<2x1024x8x8xf32>) -> tensor<2x1024x8x8xf32> | |
| %1820 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1758, %1819 : tensor<2x1024x8x8xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1821 = tensor.pad %1820 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x8x8xf32> to tensor<2x1024x10x10xf32> | |
| %1822 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_162 : tensor<1024xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1823 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1821, %cst_161 : tensor<2x1024x10x10xf32>, tensor<1024x1024x3x3xf32>) outs(%1822 : tensor<2x1024x8x8xf32>) -> tensor<2x1024x8x8xf32> | |
| %1824 = tensor.collapse_shape %1823 [[0], [1], [2, 3]] : tensor<2x1024x8x8xf32> into tensor<2x1024x64xf32> | |
| %1825 = tensor.expand_shape %1824 [[0], [1, 2], [3]] : tensor<2x1024x64xf32> into tensor<2x1x1024x64xf32> | |
| %1826 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1827 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1825 : tensor<2x1x1024x64xf32>) outs(%1826 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1828 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1827 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1829 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1825, %1828 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1830 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1829 : tensor<2x1x1024x64xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1831 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1832 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1830 : tensor<2x1x1024x64xf32>) outs(%1831 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1833 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1832 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1834 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1835 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1825 : tensor<2x1x1024x64xf32>) outs(%1834 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1836 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1835 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1837 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1833, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1838 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1837 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1839 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1825, %1836 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1840 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1839, %1838 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1841 = tensor.collapse_shape %1840 [[0], [1, 2], [3]] : tensor<2x1x1024x64xf32> into tensor<2x1024x64xf32> | |
| %1842 = tensor.expand_shape %1841 [[0], [1], [2, 3]] : tensor<2x1024x64xf32> into tensor<2x1024x8x8xf32> | |
| %1843 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_163 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %1844 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %1845 = linalg.matmul ins(%51, %1843 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%1844 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %1846 = tensor.extract_slice %1845[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %1847 = tensor.extract_slice %1845[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %1848 = tensor.expand_shape %1847 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %1849 = tensor.expand_shape %1846 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %1850 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1849, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %1851 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1842, %1850 : tensor<2x1024x8x8xf32>, tensor<2x1024x1x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1852 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1848, %1851 : tensor<2x1024x1x1xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1853 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1852 : tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1854 = tensor.pad %1853 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x8x8xf32> to tensor<2x1024x10x10xf32> | |
| %1855 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_165 : tensor<1024xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1856 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1854, %cst_164 : tensor<2x1024x10x10xf32>, tensor<1024x1024x3x3xf32>) outs(%1855 : tensor<2x1024x8x8xf32>) -> tensor<2x1024x8x8xf32> | |
| %1857 = tensor.collapse_shape %1856 [[0], [1], [2, 3]] : tensor<2x1024x8x8xf32> into tensor<2x1024x64xf32> | |
| %1858 = tensor.expand_shape %1857 [[0], [1, 2], [3]] : tensor<2x1024x64xf32> into tensor<2x1x1024x64xf32> | |
| %1859 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1860 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1858 : tensor<2x1x1024x64xf32>) outs(%1859 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1861 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1860 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1862 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1858, %1861 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1863 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1862 : tensor<2x1x1024x64xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1864 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1865 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1863 : tensor<2x1x1024x64xf32>) outs(%1864 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1866 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1865 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1867 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1868 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1858 : tensor<2x1x1024x64xf32>) outs(%1867 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1869 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1868 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1870 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1866, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1871 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1870 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1872 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1858, %1869 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1873 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1872, %1871 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1874 = tensor.collapse_shape %1873 [[0], [1, 2], [3]] : tensor<2x1x1024x64xf32> into tensor<2x1024x64xf32> | |
| %1875 = tensor.expand_shape %1874 [[0], [1], [2, 3]] : tensor<2x1024x64xf32> into tensor<2x1024x8x8xf32> | |
| %1876 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_166 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %1877 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %1878 = linalg.matmul ins(%51, %1876 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%1877 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %1879 = tensor.extract_slice %1878[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %1880 = tensor.extract_slice %1878[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %1881 = tensor.expand_shape %1880 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %1882 = tensor.expand_shape %1879 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %1883 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1882, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %1884 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1875, %1883 : tensor<2x1024x8x8xf32>, tensor<2x1024x1x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1885 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1881, %1884 : tensor<2x1024x1x1xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1886 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1885 : tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1887 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1886, %1820 : tensor<2x1024x8x8xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1888 = tensor.collapse_shape %1887 [[0], [1], [2, 3]] : tensor<2x1024x8x8xf32> into tensor<2x1024x64xf32> | |
| %1889 = tensor.expand_shape %1888 [[0], [1, 2], [3]] : tensor<2x1024x64xf32> into tensor<2x1x1024x64xf32> | |
| %1890 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1891 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1889 : tensor<2x1x1024x64xf32>) outs(%1890 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1892 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1891 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1893 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1889, %1892 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1894 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1893 : tensor<2x1x1024x64xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1895 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1896 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1894 : tensor<2x1x1024x64xf32>) outs(%1895 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1897 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1896 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1898 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1899 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1889 : tensor<2x1x1024x64xf32>) outs(%1898 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1900 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1899 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1901 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1897, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1902 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1901 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1903 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1889, %1900 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1904 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1903, %1902 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1905 = tensor.collapse_shape %1904 [[0], [1, 2], [3]] : tensor<2x1x1024x64xf32> into tensor<2x1024x64xf32> | |
| %1906 = tensor.expand_shape %1905 [[0], [1], [2, 3]] : tensor<2x1024x64xf32> into tensor<2x1024x8x8xf32> | |
| %1907 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1906, %cst_306 : tensor<2x1024x8x8xf32>, tensor<1024x1x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1908 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1907, %cst_307 : tensor<2x1024x8x8xf32>, tensor<1024x1x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1909 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_168 : tensor<3072xf32>) outs(%1780 : tensor<2x3072x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x3072x8x8xf32> | |
| %1910 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1908, %cst_167 : tensor<2x1024x8x8xf32>, tensor<3072x1024x1x1xf32>) outs(%1909 : tensor<2x3072x8x8xf32>) -> tensor<2x3072x8x8xf32> | |
| %1911 = tensor.collapse_shape %1910 [[0], [1], [2, 3]] : tensor<2x3072x8x8xf32> into tensor<2x3072x64xf32> | |
| %1912 = tensor.expand_shape %1911 [[0], [1, 2], [3]] : tensor<2x3072x64xf32> into tensor<2x48x64x64xf32> | |
| %1913 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1912 : tensor<2x48x64x64xf32>) outs(%1785 : tensor<2x48x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x48x64x64xf32> | |
| %1914 = tensor.extract_slice %1913[0, 0, 0, 0] [2, 16, 64, 64] [1, 1, 1, 1] : tensor<2x48x64x64xf32> to tensor<2x16x64x64xf32> | |
| %1915 = tensor.extract_slice %1913[0, 16, 0, 0] [2, 16, 64, 64] [1, 1, 1, 1] : tensor<2x48x64x64xf32> to tensor<2x16x64x64xf32> | |
| %1916 = tensor.extract_slice %1913[0, 32, 0, 0] [2, 16, 64, 64] [1, 1, 1, 1] : tensor<2x48x64x64xf32> to tensor<2x16x64x64xf32> | |
| %1917 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1914, %cst_512 : tensor<2x16x64x64xf32>, tensor<f64>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %1918 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1915 : tensor<2x16x64x64xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %1919 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1918, %cst_512 : tensor<2x16x64x64xf32>, tensor<f64>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %1920 = tensor.collapse_shape %1917 [[0, 1], [2], [3]] : tensor<2x16x64x64xf32> into tensor<32x64x64xf32> | |
| %1921 = tensor.collapse_shape %1919 [[0, 1], [2], [3]] : tensor<2x16x64x64xf32> into tensor<32x64x64xf32> | |
| %1922 = linalg.fill ins(%cst_514 : f32) outs(%1796 : tensor<32x64x64xf32>) -> tensor<32x64x64xf32> | |
| %1923 = linalg.batch_matmul ins(%1920, %1921 : tensor<32x64x64xf32>, tensor<32x64x64xf32>) outs(%1922 : tensor<32x64x64xf32>) -> tensor<32x64x64xf32> | |
| %1924 = tensor.expand_shape %1923 [[0, 1], [2], [3]] : tensor<32x64x64xf32> into tensor<2x16x64x64xf32> | |
| %1925 = linalg.fill ins(%c0_i64 : i64) outs(%1800 : tensor<2x16x64x1xi64>) -> tensor<2x16x64x1xi64> | |
| %1926 = linalg.fill ins(%cst_515 : f32) outs(%1802 : tensor<2x16x64x1xf32>) -> tensor<2x16x64x1xf32> | |
| %1927:2 = linalg.generic {indexing_maps = [#map8, #map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1924 : tensor<2x16x64x64xf32>) outs(%1926, %1925 : tensor<2x16x64x1xf32>, tensor<2x16x64x1xi64>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: i64): | |
| %5340 = linalg.index 3 : index | |
| %5341 = arith.index_cast %5340 : index to i64 | |
| %5342 = arith.cmpf ogt, %arg3, %arg4 : f32 | |
| %5343 = arith.select %5342, %arg3, %arg4 : f32 | |
| %5344 = arith.select %5342, %5341, %arg5 : i64 | |
| linalg.yield %5343, %5344 : f32, i64 | |
| } -> (tensor<2x16x64x1xf32>, tensor<2x16x64x1xi64>) | |
| %1928 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1924, %1927#0 : tensor<2x16x64x64xf32>, tensor<2x16x64x1xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %1929 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1928 : tensor<2x16x64x64xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.exp %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %1930 = linalg.fill ins(%cst_514 : f32) outs(%1802 : tensor<2x16x64x1xf32>) -> tensor<2x16x64x1xf32> | |
| %1931 = linalg.generic {indexing_maps = [#map8, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1929 : tensor<2x16x64x64xf32>) outs(%1930 : tensor<2x16x64x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x64x1xf32> | |
| %1932 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1929, %1931 : tensor<2x16x64x64xf32>, tensor<2x16x64x1xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.divf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %1933 = tensor.collapse_shape %1932 [[0, 1], [2], [3]] : tensor<2x16x64x64xf32> into tensor<32x64x64xf32> | |
| %1934 = tensor.collapse_shape %1916 [[0, 1], [2], [3]] : tensor<2x16x64x64xf32> into tensor<32x64x64xf32> | |
| %1935 = linalg.fill ins(%cst_514 : f32) outs(%1796 : tensor<32x64x64xf32>) -> tensor<32x64x64xf32> | |
| %1936 = linalg.batch_matmul ins(%1933, %1934 : tensor<32x64x64xf32>, tensor<32x64x64xf32>) outs(%1935 : tensor<32x64x64xf32>) -> tensor<32x64x64xf32> | |
| %1937 = tensor.expand_shape %1936 [[0, 1], [2], [3]] : tensor<32x64x64xf32> into tensor<2x16x64x64xf32> | |
| %1938 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1937 : tensor<2x16x64x64xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %1939 = tensor.collapse_shape %1938 [[0], [1, 2], [3]] : tensor<2x16x64x64xf32> into tensor<2x1024x64xf32> | |
| %1940 = tensor.expand_shape %1939 [[0], [1], [2, 3]] : tensor<2x1024x64xf32> into tensor<2x1024x8x8xf32> | |
| %1941 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_170 : tensor<1024xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1942 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1940, %cst_169 : tensor<2x1024x8x8xf32>, tensor<1024x1024x1x1xf32>) outs(%1941 : tensor<2x1024x8x8xf32>) -> tensor<2x1024x8x8xf32> | |
| %1943 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1887, %1942 : tensor<2x1024x8x8xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1944 = tensor.pad %1943 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x8x8xf32> to tensor<2x1024x10x10xf32> | |
| %1945 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_172 : tensor<1024xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1946 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1944, %cst_171 : tensor<2x1024x10x10xf32>, tensor<1024x1024x3x3xf32>) outs(%1945 : tensor<2x1024x8x8xf32>) -> tensor<2x1024x8x8xf32> | |
| %1947 = tensor.collapse_shape %1946 [[0], [1], [2, 3]] : tensor<2x1024x8x8xf32> into tensor<2x1024x64xf32> | |
| %1948 = tensor.expand_shape %1947 [[0], [1, 2], [3]] : tensor<2x1024x64xf32> into tensor<2x1x1024x64xf32> | |
| %1949 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1950 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1948 : tensor<2x1x1024x64xf32>) outs(%1949 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1951 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1950 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1952 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1948, %1951 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1953 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1952 : tensor<2x1x1024x64xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1954 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1955 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1953 : tensor<2x1x1024x64xf32>) outs(%1954 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1956 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1955 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1957 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1958 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1948 : tensor<2x1x1024x64xf32>) outs(%1957 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1959 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1958 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1960 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1956, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1961 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1960 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1962 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1948, %1959 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1963 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1962, %1961 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1964 = tensor.collapse_shape %1963 [[0], [1, 2], [3]] : tensor<2x1x1024x64xf32> into tensor<2x1024x64xf32> | |
| %1965 = tensor.expand_shape %1964 [[0], [1], [2, 3]] : tensor<2x1024x64xf32> into tensor<2x1024x8x8xf32> | |
| %1966 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_173 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %1967 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %1968 = linalg.matmul ins(%51, %1966 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%1967 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %1969 = tensor.extract_slice %1968[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %1970 = tensor.extract_slice %1968[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %1971 = tensor.expand_shape %1970 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %1972 = tensor.expand_shape %1969 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %1973 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1972, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %1974 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1965, %1973 : tensor<2x1024x8x8xf32>, tensor<2x1024x1x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1975 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1971, %1974 : tensor<2x1024x1x1xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1976 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1975 : tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1977 = tensor.pad %1976 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x8x8xf32> to tensor<2x1024x10x10xf32> | |
| %1978 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_175 : tensor<1024xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %1979 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1977, %cst_174 : tensor<2x1024x10x10xf32>, tensor<1024x1024x3x3xf32>) outs(%1978 : tensor<2x1024x8x8xf32>) -> tensor<2x1024x8x8xf32> | |
| %1980 = tensor.collapse_shape %1979 [[0], [1], [2, 3]] : tensor<2x1024x8x8xf32> into tensor<2x1024x64xf32> | |
| %1981 = tensor.expand_shape %1980 [[0], [1, 2], [3]] : tensor<2x1024x64xf32> into tensor<2x1x1024x64xf32> | |
| %1982 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1983 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1981 : tensor<2x1x1024x64xf32>) outs(%1982 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1984 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1983 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1985 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1981, %1984 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1986 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1985 : tensor<2x1x1024x64xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1987 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1988 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1986 : tensor<2x1x1024x64xf32>) outs(%1987 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1989 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1988 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1990 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %1991 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1981 : tensor<2x1x1024x64xf32>) outs(%1990 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1992 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1991 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1993 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1989, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1994 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1993 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %1995 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1981, %1992 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1996 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1995, %1994 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %1997 = tensor.collapse_shape %1996 [[0], [1, 2], [3]] : tensor<2x1x1024x64xf32> into tensor<2x1024x64xf32> | |
| %1998 = tensor.expand_shape %1997 [[0], [1], [2, 3]] : tensor<2x1024x64xf32> into tensor<2x1024x8x8xf32> | |
| %1999 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_176 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %2000 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2001 = linalg.matmul ins(%51, %1999 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%2000 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2002 = tensor.extract_slice %2001[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2003 = tensor.extract_slice %2001[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2004 = tensor.expand_shape %2003 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2005 = tensor.expand_shape %2002 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2006 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2005, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %2007 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1998, %2006 : tensor<2x1024x8x8xf32>, tensor<2x1024x1x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %2008 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2004, %2007 : tensor<2x1024x1x1xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %2009 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2008 : tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %2010 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2009, %1943 : tensor<2x1024x8x8xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %2011 = tensor.collapse_shape %2010 [[0], [1], [2, 3]] : tensor<2x1024x8x8xf32> into tensor<2x1024x64xf32> | |
| %2012 = tensor.expand_shape %2011 [[0], [1, 2], [3]] : tensor<2x1024x64xf32> into tensor<2x1x1024x64xf32> | |
| %2013 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2014 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2012 : tensor<2x1x1024x64xf32>) outs(%2013 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2015 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2014 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2016 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2012, %2015 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %2017 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2016 : tensor<2x1x1024x64xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %2018 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2019 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2017 : tensor<2x1x1024x64xf32>) outs(%2018 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2020 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2019 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2021 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2022 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2012 : tensor<2x1x1024x64xf32>) outs(%2021 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2023 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2022 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2024 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2020, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2025 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2024 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2026 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2012, %2023 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %2027 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2026, %2025 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %2028 = tensor.collapse_shape %2027 [[0], [1, 2], [3]] : tensor<2x1x1024x64xf32> into tensor<2x1024x64xf32> | |
| %2029 = tensor.expand_shape %2028 [[0], [1], [2, 3]] : tensor<2x1024x64xf32> into tensor<2x1024x8x8xf32> | |
| %2030 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2029, %cst_306 : tensor<2x1024x8x8xf32>, tensor<1024x1x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %2031 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2030, %cst_307 : tensor<2x1024x8x8xf32>, tensor<1024x1x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %2032 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_178 : tensor<3072xf32>) outs(%1780 : tensor<2x3072x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x3072x8x8xf32> | |
| %2033 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2031, %cst_177 : tensor<2x1024x8x8xf32>, tensor<3072x1024x1x1xf32>) outs(%2032 : tensor<2x3072x8x8xf32>) -> tensor<2x3072x8x8xf32> | |
| %2034 = tensor.collapse_shape %2033 [[0], [1], [2, 3]] : tensor<2x3072x8x8xf32> into tensor<2x3072x64xf32> | |
| %2035 = tensor.expand_shape %2034 [[0], [1, 2], [3]] : tensor<2x3072x64xf32> into tensor<2x48x64x64xf32> | |
| %2036 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2035 : tensor<2x48x64x64xf32>) outs(%1785 : tensor<2x48x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x48x64x64xf32> | |
| %2037 = tensor.extract_slice %2036[0, 0, 0, 0] [2, 16, 64, 64] [1, 1, 1, 1] : tensor<2x48x64x64xf32> to tensor<2x16x64x64xf32> | |
| %2038 = tensor.extract_slice %2036[0, 16, 0, 0] [2, 16, 64, 64] [1, 1, 1, 1] : tensor<2x48x64x64xf32> to tensor<2x16x64x64xf32> | |
| %2039 = tensor.extract_slice %2036[0, 32, 0, 0] [2, 16, 64, 64] [1, 1, 1, 1] : tensor<2x48x64x64xf32> to tensor<2x16x64x64xf32> | |
| %2040 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2037, %cst_512 : tensor<2x16x64x64xf32>, tensor<f64>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %2041 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2038 : tensor<2x16x64x64xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %2042 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2041, %cst_512 : tensor<2x16x64x64xf32>, tensor<f64>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %2043 = tensor.collapse_shape %2040 [[0, 1], [2], [3]] : tensor<2x16x64x64xf32> into tensor<32x64x64xf32> | |
| %2044 = tensor.collapse_shape %2042 [[0, 1], [2], [3]] : tensor<2x16x64x64xf32> into tensor<32x64x64xf32> | |
| %2045 = linalg.fill ins(%cst_514 : f32) outs(%1796 : tensor<32x64x64xf32>) -> tensor<32x64x64xf32> | |
| %2046 = linalg.batch_matmul ins(%2043, %2044 : tensor<32x64x64xf32>, tensor<32x64x64xf32>) outs(%2045 : tensor<32x64x64xf32>) -> tensor<32x64x64xf32> | |
| %2047 = tensor.expand_shape %2046 [[0, 1], [2], [3]] : tensor<32x64x64xf32> into tensor<2x16x64x64xf32> | |
| %2048 = linalg.fill ins(%c0_i64 : i64) outs(%1800 : tensor<2x16x64x1xi64>) -> tensor<2x16x64x1xi64> | |
| %2049 = linalg.fill ins(%cst_515 : f32) outs(%1802 : tensor<2x16x64x1xf32>) -> tensor<2x16x64x1xf32> | |
| %2050:2 = linalg.generic {indexing_maps = [#map8, #map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2047 : tensor<2x16x64x64xf32>) outs(%2049, %2048 : tensor<2x16x64x1xf32>, tensor<2x16x64x1xi64>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: i64): | |
| %5340 = linalg.index 3 : index | |
| %5341 = arith.index_cast %5340 : index to i64 | |
| %5342 = arith.cmpf ogt, %arg3, %arg4 : f32 | |
| %5343 = arith.select %5342, %arg3, %arg4 : f32 | |
| %5344 = arith.select %5342, %5341, %arg5 : i64 | |
| linalg.yield %5343, %5344 : f32, i64 | |
| } -> (tensor<2x16x64x1xf32>, tensor<2x16x64x1xi64>) | |
| %2051 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2047, %2050#0 : tensor<2x16x64x64xf32>, tensor<2x16x64x1xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %2052 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2051 : tensor<2x16x64x64xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.exp %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %2053 = linalg.fill ins(%cst_514 : f32) outs(%1802 : tensor<2x16x64x1xf32>) -> tensor<2x16x64x1xf32> | |
| %2054 = linalg.generic {indexing_maps = [#map8, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2052 : tensor<2x16x64x64xf32>) outs(%2053 : tensor<2x16x64x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x64x1xf32> | |
| %2055 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2052, %2054 : tensor<2x16x64x64xf32>, tensor<2x16x64x1xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.divf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %2056 = tensor.collapse_shape %2055 [[0, 1], [2], [3]] : tensor<2x16x64x64xf32> into tensor<32x64x64xf32> | |
| %2057 = tensor.collapse_shape %2039 [[0, 1], [2], [3]] : tensor<2x16x64x64xf32> into tensor<32x64x64xf32> | |
| %2058 = linalg.fill ins(%cst_514 : f32) outs(%1796 : tensor<32x64x64xf32>) -> tensor<32x64x64xf32> | |
| %2059 = linalg.batch_matmul ins(%2056, %2057 : tensor<32x64x64xf32>, tensor<32x64x64xf32>) outs(%2058 : tensor<32x64x64xf32>) -> tensor<32x64x64xf32> | |
| %2060 = tensor.expand_shape %2059 [[0, 1], [2], [3]] : tensor<32x64x64xf32> into tensor<2x16x64x64xf32> | |
| %2061 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2060 : tensor<2x16x64x64xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %2062 = tensor.collapse_shape %2061 [[0], [1, 2], [3]] : tensor<2x16x64x64xf32> into tensor<2x1024x64xf32> | |
| %2063 = tensor.expand_shape %2062 [[0], [1], [2, 3]] : tensor<2x1024x64xf32> into tensor<2x1024x8x8xf32> | |
| %2064 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_180 : tensor<1024xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %2065 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2063, %cst_179 : tensor<2x1024x8x8xf32>, tensor<1024x1024x1x1xf32>) outs(%2064 : tensor<2x1024x8x8xf32>) -> tensor<2x1024x8x8xf32> | |
| %2066 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2010, %2065 : tensor<2x1024x8x8xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %2067 = tensor.pad %2066 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x8x8xf32> to tensor<2x1024x10x10xf32> | |
| %2068 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_182 : tensor<1024xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %2069 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2067, %cst_181 : tensor<2x1024x10x10xf32>, tensor<1024x1024x3x3xf32>) outs(%2068 : tensor<2x1024x8x8xf32>) -> tensor<2x1024x8x8xf32> | |
| %2070 = tensor.collapse_shape %2069 [[0], [1], [2, 3]] : tensor<2x1024x8x8xf32> into tensor<2x1024x64xf32> | |
| %2071 = tensor.expand_shape %2070 [[0], [1, 2], [3]] : tensor<2x1024x64xf32> into tensor<2x1x1024x64xf32> | |
| %2072 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2073 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2071 : tensor<2x1x1024x64xf32>) outs(%2072 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2074 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2073 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2075 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2071, %2074 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %2076 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2075 : tensor<2x1x1024x64xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %2077 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2078 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2076 : tensor<2x1x1024x64xf32>) outs(%2077 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2079 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2078 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2080 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2081 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2071 : tensor<2x1x1024x64xf32>) outs(%2080 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2082 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2081 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2083 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2079, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2084 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2083 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2085 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2071, %2082 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %2086 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2085, %2084 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %2087 = tensor.collapse_shape %2086 [[0], [1, 2], [3]] : tensor<2x1x1024x64xf32> into tensor<2x1024x64xf32> | |
| %2088 = tensor.expand_shape %2087 [[0], [1], [2, 3]] : tensor<2x1024x64xf32> into tensor<2x1024x8x8xf32> | |
| %2089 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_183 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %2090 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2091 = linalg.matmul ins(%51, %2089 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%2090 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2092 = tensor.extract_slice %2091[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2093 = tensor.extract_slice %2091[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2094 = tensor.expand_shape %2093 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2095 = tensor.expand_shape %2092 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2096 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2095, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %2097 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2088, %2096 : tensor<2x1024x8x8xf32>, tensor<2x1024x1x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %2098 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2094, %2097 : tensor<2x1024x1x1xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %2099 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2098 : tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %2100 = tensor.pad %2099 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x8x8xf32> to tensor<2x1024x10x10xf32> | |
| %2101 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_185 : tensor<1024xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %2102 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2100, %cst_184 : tensor<2x1024x10x10xf32>, tensor<1024x1024x3x3xf32>) outs(%2101 : tensor<2x1024x8x8xf32>) -> tensor<2x1024x8x8xf32> | |
| %2103 = tensor.collapse_shape %2102 [[0], [1], [2, 3]] : tensor<2x1024x8x8xf32> into tensor<2x1024x64xf32> | |
| %2104 = tensor.expand_shape %2103 [[0], [1, 2], [3]] : tensor<2x1024x64xf32> into tensor<2x1x1024x64xf32> | |
| %2105 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2106 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2104 : tensor<2x1x1024x64xf32>) outs(%2105 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2107 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2106 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2108 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2104, %2107 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %2109 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2108 : tensor<2x1x1024x64xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %2110 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2111 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2109 : tensor<2x1x1024x64xf32>) outs(%2110 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2112 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2111 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2113 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2114 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2104 : tensor<2x1x1024x64xf32>) outs(%2113 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2115 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2114 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2116 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2112, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2117 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2116 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2118 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2104, %2115 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %2119 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2118, %2117 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %2120 = tensor.collapse_shape %2119 [[0], [1, 2], [3]] : tensor<2x1x1024x64xf32> into tensor<2x1024x64xf32> | |
| %2121 = tensor.expand_shape %2120 [[0], [1], [2, 3]] : tensor<2x1024x64xf32> into tensor<2x1024x8x8xf32> | |
| %2122 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_186 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %2123 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2124 = linalg.matmul ins(%51, %2122 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%2123 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2125 = tensor.extract_slice %2124[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2126 = tensor.extract_slice %2124[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2127 = tensor.expand_shape %2126 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2128 = tensor.expand_shape %2125 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2129 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2128, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %2130 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2121, %2129 : tensor<2x1024x8x8xf32>, tensor<2x1024x1x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %2131 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2127, %2130 : tensor<2x1024x1x1xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %2132 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2131 : tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %2133 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2132, %2066 : tensor<2x1024x8x8xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %2134 = tensor.collapse_shape %2133 [[0], [1], [2, 3]] : tensor<2x1024x8x8xf32> into tensor<2x1024x64xf32> | |
| %2135 = tensor.expand_shape %2134 [[0], [1, 2], [3]] : tensor<2x1024x64xf32> into tensor<2x1x1024x64xf32> | |
| %2136 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2137 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2135 : tensor<2x1x1024x64xf32>) outs(%2136 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2138 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2137 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2139 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2135, %2138 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %2140 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2139 : tensor<2x1x1024x64xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %2141 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2142 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2140 : tensor<2x1x1024x64xf32>) outs(%2141 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2143 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2142 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2144 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2145 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2135 : tensor<2x1x1024x64xf32>) outs(%2144 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2146 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2145 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2147 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2143, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2148 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2147 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2149 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2135, %2146 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %2150 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2149, %2148 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %2151 = tensor.collapse_shape %2150 [[0], [1, 2], [3]] : tensor<2x1x1024x64xf32> into tensor<2x1024x64xf32> | |
| %2152 = tensor.expand_shape %2151 [[0], [1], [2, 3]] : tensor<2x1024x64xf32> into tensor<2x1024x8x8xf32> | |
| %2153 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2152, %cst_306 : tensor<2x1024x8x8xf32>, tensor<1024x1x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %2154 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2153, %cst_307 : tensor<2x1024x8x8xf32>, tensor<1024x1x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %2155 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_188 : tensor<3072xf32>) outs(%1780 : tensor<2x3072x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x3072x8x8xf32> | |
| %2156 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2154, %cst_187 : tensor<2x1024x8x8xf32>, tensor<3072x1024x1x1xf32>) outs(%2155 : tensor<2x3072x8x8xf32>) -> tensor<2x3072x8x8xf32> | |
| %2157 = tensor.collapse_shape %2156 [[0], [1], [2, 3]] : tensor<2x3072x8x8xf32> into tensor<2x3072x64xf32> | |
| %2158 = tensor.expand_shape %2157 [[0], [1, 2], [3]] : tensor<2x3072x64xf32> into tensor<2x48x64x64xf32> | |
| %2159 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2158 : tensor<2x48x64x64xf32>) outs(%1785 : tensor<2x48x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x48x64x64xf32> | |
| %2160 = tensor.extract_slice %2159[0, 0, 0, 0] [2, 16, 64, 64] [1, 1, 1, 1] : tensor<2x48x64x64xf32> to tensor<2x16x64x64xf32> | |
| %2161 = tensor.extract_slice %2159[0, 16, 0, 0] [2, 16, 64, 64] [1, 1, 1, 1] : tensor<2x48x64x64xf32> to tensor<2x16x64x64xf32> | |
| %2162 = tensor.extract_slice %2159[0, 32, 0, 0] [2, 16, 64, 64] [1, 1, 1, 1] : tensor<2x48x64x64xf32> to tensor<2x16x64x64xf32> | |
| %2163 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2160, %cst_512 : tensor<2x16x64x64xf32>, tensor<f64>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %2164 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2161 : tensor<2x16x64x64xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %2165 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2164, %cst_512 : tensor<2x16x64x64xf32>, tensor<f64>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %2166 = tensor.collapse_shape %2163 [[0, 1], [2], [3]] : tensor<2x16x64x64xf32> into tensor<32x64x64xf32> | |
| %2167 = tensor.collapse_shape %2165 [[0, 1], [2], [3]] : tensor<2x16x64x64xf32> into tensor<32x64x64xf32> | |
| %2168 = linalg.fill ins(%cst_514 : f32) outs(%1796 : tensor<32x64x64xf32>) -> tensor<32x64x64xf32> | |
| %2169 = linalg.batch_matmul ins(%2166, %2167 : tensor<32x64x64xf32>, tensor<32x64x64xf32>) outs(%2168 : tensor<32x64x64xf32>) -> tensor<32x64x64xf32> | |
| %2170 = tensor.expand_shape %2169 [[0, 1], [2], [3]] : tensor<32x64x64xf32> into tensor<2x16x64x64xf32> | |
| %2171 = linalg.fill ins(%c0_i64 : i64) outs(%1800 : tensor<2x16x64x1xi64>) -> tensor<2x16x64x1xi64> | |
| %2172 = linalg.fill ins(%cst_515 : f32) outs(%1802 : tensor<2x16x64x1xf32>) -> tensor<2x16x64x1xf32> | |
| %2173:2 = linalg.generic {indexing_maps = [#map8, #map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2170 : tensor<2x16x64x64xf32>) outs(%2172, %2171 : tensor<2x16x64x1xf32>, tensor<2x16x64x1xi64>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: i64): | |
| %5340 = linalg.index 3 : index | |
| %5341 = arith.index_cast %5340 : index to i64 | |
| %5342 = arith.cmpf ogt, %arg3, %arg4 : f32 | |
| %5343 = arith.select %5342, %arg3, %arg4 : f32 | |
| %5344 = arith.select %5342, %5341, %arg5 : i64 | |
| linalg.yield %5343, %5344 : f32, i64 | |
| } -> (tensor<2x16x64x1xf32>, tensor<2x16x64x1xi64>) | |
| %2174 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2170, %2173#0 : tensor<2x16x64x64xf32>, tensor<2x16x64x1xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %2175 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2174 : tensor<2x16x64x64xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.exp %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %2176 = linalg.fill ins(%cst_514 : f32) outs(%1802 : tensor<2x16x64x1xf32>) -> tensor<2x16x64x1xf32> | |
| %2177 = linalg.generic {indexing_maps = [#map8, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2175 : tensor<2x16x64x64xf32>) outs(%2176 : tensor<2x16x64x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x64x1xf32> | |
| %2178 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2175, %2177 : tensor<2x16x64x64xf32>, tensor<2x16x64x1xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.divf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %2179 = tensor.collapse_shape %2178 [[0, 1], [2], [3]] : tensor<2x16x64x64xf32> into tensor<32x64x64xf32> | |
| %2180 = tensor.collapse_shape %2162 [[0, 1], [2], [3]] : tensor<2x16x64x64xf32> into tensor<32x64x64xf32> | |
| %2181 = linalg.fill ins(%cst_514 : f32) outs(%1796 : tensor<32x64x64xf32>) -> tensor<32x64x64xf32> | |
| %2182 = linalg.batch_matmul ins(%2179, %2180 : tensor<32x64x64xf32>, tensor<32x64x64xf32>) outs(%2181 : tensor<32x64x64xf32>) -> tensor<32x64x64xf32> | |
| %2183 = tensor.expand_shape %2182 [[0, 1], [2], [3]] : tensor<32x64x64xf32> into tensor<2x16x64x64xf32> | |
| %2184 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2183 : tensor<2x16x64x64xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %2185 = tensor.collapse_shape %2184 [[0], [1, 2], [3]] : tensor<2x16x64x64xf32> into tensor<2x1024x64xf32> | |
| %2186 = tensor.expand_shape %2185 [[0], [1], [2, 3]] : tensor<2x1024x64xf32> into tensor<2x1024x8x8xf32> | |
| %2187 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_190 : tensor<1024xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %2188 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2186, %cst_189 : tensor<2x1024x8x8xf32>, tensor<1024x1024x1x1xf32>) outs(%2187 : tensor<2x1024x8x8xf32>) -> tensor<2x1024x8x8xf32> | |
| %2189 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2133, %2188 : tensor<2x1024x8x8xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %2190 = linalg.init_tensor [2, 1024, 4, 4] : tensor<2x1024x4x4xf32> | |
| %2191 = linalg.fill ins(%cst_514 : f32) outs(%2190 : tensor<2x1024x4x4xf32>) -> tensor<2x1024x4x4xf32> | |
| %2192 = linalg.pooling_nchw_sum {dilations = dense<1> : vector<2xi64>, strides = dense<2> : vector<2xi64>} ins(%2189, %348 : tensor<2x1024x8x8xf32>, tensor<2x2xf32>) outs(%2191 : tensor<2x1024x4x4xf32>) -> tensor<2x1024x4x4xf32> | |
| %2193 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2192 : tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_522 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2194 = tensor.pad %2193 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x4x4xf32> to tensor<2x1024x6x6xf32> | |
| %2195 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_192 : tensor<1024xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2196 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2194, %cst_191 : tensor<2x1024x6x6xf32>, tensor<1024x1024x3x3xf32>) outs(%2195 : tensor<2x1024x4x4xf32>) -> tensor<2x1024x4x4xf32> | |
| %2197 = tensor.collapse_shape %2196 [[0], [1], [2, 3]] : tensor<2x1024x4x4xf32> into tensor<2x1024x16xf32> | |
| %2198 = tensor.expand_shape %2197 [[0], [1, 2], [3]] : tensor<2x1024x16xf32> into tensor<2x1x1024x16xf32> | |
| %2199 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2200 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2198 : tensor<2x1x1024x16xf32>) outs(%2199 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2201 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2200 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2202 = linalg.init_tensor [2, 1, 1024, 16] : tensor<2x1x1024x16xf32> | |
| %2203 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2198, %2201 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2204 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2203 : tensor<2x1x1024x16xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2205 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2206 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2204 : tensor<2x1x1024x16xf32>) outs(%2205 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2207 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2206 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2208 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2209 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2198 : tensor<2x1x1024x16xf32>) outs(%2208 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2210 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2209 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2211 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2207, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2212 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2211 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2213 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2198, %2210 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2214 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2213, %2212 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2215 = tensor.collapse_shape %2214 [[0], [1, 2], [3]] : tensor<2x1x1024x16xf32> into tensor<2x1024x16xf32> | |
| %2216 = tensor.expand_shape %2215 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %2217 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_193 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %2218 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2219 = linalg.matmul ins(%51, %2217 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%2218 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2220 = tensor.extract_slice %2219[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2221 = tensor.extract_slice %2219[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2222 = tensor.expand_shape %2221 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2223 = tensor.expand_shape %2220 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2224 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2223, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %2225 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2216, %2224 : tensor<2x1024x4x4xf32>, tensor<2x1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2226 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2222, %2225 : tensor<2x1024x1x1xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2227 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2226 : tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2228 = tensor.pad %2227 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x4x4xf32> to tensor<2x1024x6x6xf32> | |
| %2229 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_195 : tensor<1024xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2230 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2228, %cst_194 : tensor<2x1024x6x6xf32>, tensor<1024x1024x3x3xf32>) outs(%2229 : tensor<2x1024x4x4xf32>) -> tensor<2x1024x4x4xf32> | |
| %2231 = tensor.collapse_shape %2230 [[0], [1], [2, 3]] : tensor<2x1024x4x4xf32> into tensor<2x1024x16xf32> | |
| %2232 = tensor.expand_shape %2231 [[0], [1, 2], [3]] : tensor<2x1024x16xf32> into tensor<2x1x1024x16xf32> | |
| %2233 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2234 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2232 : tensor<2x1x1024x16xf32>) outs(%2233 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2235 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2234 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2236 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2232, %2235 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2237 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2236 : tensor<2x1x1024x16xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2238 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2239 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2237 : tensor<2x1x1024x16xf32>) outs(%2238 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2240 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2239 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2241 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2242 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2232 : tensor<2x1x1024x16xf32>) outs(%2241 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2243 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2242 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2244 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2240, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2245 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2244 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2246 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2232, %2243 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2247 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2246, %2245 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2248 = tensor.collapse_shape %2247 [[0], [1, 2], [3]] : tensor<2x1x1024x16xf32> into tensor<2x1024x16xf32> | |
| %2249 = tensor.expand_shape %2248 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %2250 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_196 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %2251 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2252 = linalg.matmul ins(%51, %2250 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%2251 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2253 = tensor.extract_slice %2252[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2254 = tensor.extract_slice %2252[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2255 = tensor.expand_shape %2254 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2256 = tensor.expand_shape %2253 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2257 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2256, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %2258 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2249, %2257 : tensor<2x1024x4x4xf32>, tensor<2x1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2259 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2255, %2258 : tensor<2x1024x1x1xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2260 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2259 : tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2261 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2260, %2193 : tensor<2x1024x4x4xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2262 = tensor.collapse_shape %2261 [[0], [1], [2, 3]] : tensor<2x1024x4x4xf32> into tensor<2x1024x16xf32> | |
| %2263 = tensor.expand_shape %2262 [[0], [1, 2], [3]] : tensor<2x1024x16xf32> into tensor<2x1x1024x16xf32> | |
| %2264 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2265 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2263 : tensor<2x1x1024x16xf32>) outs(%2264 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2266 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2265 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2267 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2263, %2266 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2268 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2267 : tensor<2x1x1024x16xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2269 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2270 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2268 : tensor<2x1x1024x16xf32>) outs(%2269 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2271 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2270 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2272 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2273 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2263 : tensor<2x1x1024x16xf32>) outs(%2272 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2274 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2273 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2275 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2271, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2276 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2275 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2277 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2263, %2274 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2278 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2277, %2276 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2279 = tensor.collapse_shape %2278 [[0], [1, 2], [3]] : tensor<2x1x1024x16xf32> into tensor<2x1024x16xf32> | |
| %2280 = tensor.expand_shape %2279 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %2281 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2280, %cst_306 : tensor<2x1024x4x4xf32>, tensor<1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2282 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2281, %cst_307 : tensor<2x1024x4x4xf32>, tensor<1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2283 = linalg.init_tensor [2, 3072, 4, 4] : tensor<2x3072x4x4xf32> | |
| %2284 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_198 : tensor<3072xf32>) outs(%2283 : tensor<2x3072x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x3072x4x4xf32> | |
| %2285 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2282, %cst_197 : tensor<2x1024x4x4xf32>, tensor<3072x1024x1x1xf32>) outs(%2284 : tensor<2x3072x4x4xf32>) -> tensor<2x3072x4x4xf32> | |
| %2286 = tensor.collapse_shape %2285 [[0], [1], [2, 3]] : tensor<2x3072x4x4xf32> into tensor<2x3072x16xf32> | |
| %2287 = tensor.expand_shape %2286 [[0], [1, 2], [3]] : tensor<2x3072x16xf32> into tensor<2x48x64x16xf32> | |
| %2288 = linalg.init_tensor [2, 48, 16, 64] : tensor<2x48x16x64xf32> | |
| %2289 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2287 : tensor<2x48x64x16xf32>) outs(%2288 : tensor<2x48x16x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x48x16x64xf32> | |
| %2290 = tensor.extract_slice %2289[0, 0, 0, 0] [2, 16, 16, 64] [1, 1, 1, 1] : tensor<2x48x16x64xf32> to tensor<2x16x16x64xf32> | |
| %2291 = tensor.extract_slice %2289[0, 16, 0, 0] [2, 16, 16, 64] [1, 1, 1, 1] : tensor<2x48x16x64xf32> to tensor<2x16x16x64xf32> | |
| %2292 = tensor.extract_slice %2289[0, 32, 0, 0] [2, 16, 16, 64] [1, 1, 1, 1] : tensor<2x48x16x64xf32> to tensor<2x16x16x64xf32> | |
| %2293 = linalg.init_tensor [2, 16, 16, 64] : tensor<2x16x16x64xf32> | |
| %2294 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2290, %cst_512 : tensor<2x16x16x64xf32>, tensor<f64>) outs(%2293 : tensor<2x16x16x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x16x64xf32> | |
| %2295 = linalg.init_tensor [2, 16, 64, 16] : tensor<2x16x64x16xf32> | |
| %2296 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2291 : tensor<2x16x16x64xf32>) outs(%2295 : tensor<2x16x64x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x16xf32> | |
| %2297 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2296, %cst_512 : tensor<2x16x64x16xf32>, tensor<f64>) outs(%2295 : tensor<2x16x64x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x64x16xf32> | |
| %2298 = tensor.collapse_shape %2294 [[0, 1], [2], [3]] : tensor<2x16x16x64xf32> into tensor<32x16x64xf32> | |
| %2299 = tensor.collapse_shape %2297 [[0, 1], [2], [3]] : tensor<2x16x64x16xf32> into tensor<32x64x16xf32> | |
| %2300 = linalg.init_tensor [32, 16, 16] : tensor<32x16x16xf32> | |
| %2301 = linalg.fill ins(%cst_514 : f32) outs(%2300 : tensor<32x16x16xf32>) -> tensor<32x16x16xf32> | |
| %2302 = linalg.batch_matmul ins(%2298, %2299 : tensor<32x16x64xf32>, tensor<32x64x16xf32>) outs(%2301 : tensor<32x16x16xf32>) -> tensor<32x16x16xf32> | |
| %2303 = tensor.expand_shape %2302 [[0, 1], [2], [3]] : tensor<32x16x16xf32> into tensor<2x16x16x16xf32> | |
| %2304 = linalg.init_tensor [2, 16, 16, 1] : tensor<2x16x16x1xi64> | |
| %2305 = linalg.fill ins(%c0_i64 : i64) outs(%2304 : tensor<2x16x16x1xi64>) -> tensor<2x16x16x1xi64> | |
| %2306 = linalg.init_tensor [2, 16, 16, 1] : tensor<2x16x16x1xf32> | |
| %2307 = linalg.fill ins(%cst_515 : f32) outs(%2306 : tensor<2x16x16x1xf32>) -> tensor<2x16x16x1xf32> | |
| %2308:2 = linalg.generic {indexing_maps = [#map8, #map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2303 : tensor<2x16x16x16xf32>) outs(%2307, %2305 : tensor<2x16x16x1xf32>, tensor<2x16x16x1xi64>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: i64): | |
| %5340 = linalg.index 3 : index | |
| %5341 = arith.index_cast %5340 : index to i64 | |
| %5342 = arith.cmpf ogt, %arg3, %arg4 : f32 | |
| %5343 = arith.select %5342, %arg3, %arg4 : f32 | |
| %5344 = arith.select %5342, %5341, %arg5 : i64 | |
| linalg.yield %5343, %5344 : f32, i64 | |
| } -> (tensor<2x16x16x1xf32>, tensor<2x16x16x1xi64>) | |
| %2309 = linalg.init_tensor [2, 16, 16, 16] : tensor<2x16x16x16xf32> | |
| %2310 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2303, %2308#0 : tensor<2x16x16x16xf32>, tensor<2x16x16x1xf32>) outs(%2309 : tensor<2x16x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x16x16x16xf32> | |
| %2311 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2310 : tensor<2x16x16x16xf32>) outs(%2309 : tensor<2x16x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.exp %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x16x16xf32> | |
| %2312 = linalg.fill ins(%cst_514 : f32) outs(%2306 : tensor<2x16x16x1xf32>) -> tensor<2x16x16x1xf32> | |
| %2313 = linalg.generic {indexing_maps = [#map8, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2311 : tensor<2x16x16x16xf32>) outs(%2312 : tensor<2x16x16x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x16x1xf32> | |
| %2314 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2311, %2313 : tensor<2x16x16x16xf32>, tensor<2x16x16x1xf32>) outs(%2309 : tensor<2x16x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.divf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x16x16xf32> | |
| %2315 = tensor.collapse_shape %2314 [[0, 1], [2], [3]] : tensor<2x16x16x16xf32> into tensor<32x16x16xf32> | |
| %2316 = tensor.collapse_shape %2292 [[0, 1], [2], [3]] : tensor<2x16x16x64xf32> into tensor<32x16x64xf32> | |
| %2317 = linalg.init_tensor [32, 16, 64] : tensor<32x16x64xf32> | |
| %2318 = linalg.fill ins(%cst_514 : f32) outs(%2317 : tensor<32x16x64xf32>) -> tensor<32x16x64xf32> | |
| %2319 = linalg.batch_matmul ins(%2315, %2316 : tensor<32x16x16xf32>, tensor<32x16x64xf32>) outs(%2318 : tensor<32x16x64xf32>) -> tensor<32x16x64xf32> | |
| %2320 = tensor.expand_shape %2319 [[0, 1], [2], [3]] : tensor<32x16x64xf32> into tensor<2x16x16x64xf32> | |
| %2321 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2320 : tensor<2x16x16x64xf32>) outs(%2295 : tensor<2x16x64x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x16xf32> | |
| %2322 = tensor.collapse_shape %2321 [[0], [1, 2], [3]] : tensor<2x16x64x16xf32> into tensor<2x1024x16xf32> | |
| %2323 = tensor.expand_shape %2322 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %2324 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_200 : tensor<1024xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2325 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2323, %cst_199 : tensor<2x1024x4x4xf32>, tensor<1024x1024x1x1xf32>) outs(%2324 : tensor<2x1024x4x4xf32>) -> tensor<2x1024x4x4xf32> | |
| %2326 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2261, %2325 : tensor<2x1024x4x4xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2327 = tensor.pad %2326 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x4x4xf32> to tensor<2x1024x6x6xf32> | |
| %2328 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_202 : tensor<1024xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2329 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2327, %cst_201 : tensor<2x1024x6x6xf32>, tensor<1024x1024x3x3xf32>) outs(%2328 : tensor<2x1024x4x4xf32>) -> tensor<2x1024x4x4xf32> | |
| %2330 = tensor.collapse_shape %2329 [[0], [1], [2, 3]] : tensor<2x1024x4x4xf32> into tensor<2x1024x16xf32> | |
| %2331 = tensor.expand_shape %2330 [[0], [1, 2], [3]] : tensor<2x1024x16xf32> into tensor<2x1x1024x16xf32> | |
| %2332 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2333 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2331 : tensor<2x1x1024x16xf32>) outs(%2332 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2334 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2333 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2335 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2331, %2334 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2336 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2335 : tensor<2x1x1024x16xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2337 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2338 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2336 : tensor<2x1x1024x16xf32>) outs(%2337 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2339 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2338 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2340 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2341 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2331 : tensor<2x1x1024x16xf32>) outs(%2340 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2342 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2341 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2343 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2339, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2344 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2343 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2345 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2331, %2342 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2346 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2345, %2344 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2347 = tensor.collapse_shape %2346 [[0], [1, 2], [3]] : tensor<2x1x1024x16xf32> into tensor<2x1024x16xf32> | |
| %2348 = tensor.expand_shape %2347 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %2349 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_203 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %2350 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2351 = linalg.matmul ins(%51, %2349 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%2350 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2352 = tensor.extract_slice %2351[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2353 = tensor.extract_slice %2351[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2354 = tensor.expand_shape %2353 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2355 = tensor.expand_shape %2352 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2356 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2355, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %2357 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2348, %2356 : tensor<2x1024x4x4xf32>, tensor<2x1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2358 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2354, %2357 : tensor<2x1024x1x1xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2359 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2358 : tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2360 = tensor.pad %2359 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x4x4xf32> to tensor<2x1024x6x6xf32> | |
| %2361 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_205 : tensor<1024xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2362 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2360, %cst_204 : tensor<2x1024x6x6xf32>, tensor<1024x1024x3x3xf32>) outs(%2361 : tensor<2x1024x4x4xf32>) -> tensor<2x1024x4x4xf32> | |
| %2363 = tensor.collapse_shape %2362 [[0], [1], [2, 3]] : tensor<2x1024x4x4xf32> into tensor<2x1024x16xf32> | |
| %2364 = tensor.expand_shape %2363 [[0], [1, 2], [3]] : tensor<2x1024x16xf32> into tensor<2x1x1024x16xf32> | |
| %2365 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2366 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2364 : tensor<2x1x1024x16xf32>) outs(%2365 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2367 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2366 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2368 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2364, %2367 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2369 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2368 : tensor<2x1x1024x16xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2370 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2371 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2369 : tensor<2x1x1024x16xf32>) outs(%2370 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2372 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2371 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2373 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2374 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2364 : tensor<2x1x1024x16xf32>) outs(%2373 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2375 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2374 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2376 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2372, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2377 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2376 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2378 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2364, %2375 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2379 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2378, %2377 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2380 = tensor.collapse_shape %2379 [[0], [1, 2], [3]] : tensor<2x1x1024x16xf32> into tensor<2x1024x16xf32> | |
| %2381 = tensor.expand_shape %2380 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %2382 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_206 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %2383 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2384 = linalg.matmul ins(%51, %2382 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%2383 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2385 = tensor.extract_slice %2384[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2386 = tensor.extract_slice %2384[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2387 = tensor.expand_shape %2386 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2388 = tensor.expand_shape %2385 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2389 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2388, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %2390 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2381, %2389 : tensor<2x1024x4x4xf32>, tensor<2x1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2391 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2387, %2390 : tensor<2x1024x1x1xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2392 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2391 : tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2393 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2392, %2326 : tensor<2x1024x4x4xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2394 = tensor.collapse_shape %2393 [[0], [1], [2, 3]] : tensor<2x1024x4x4xf32> into tensor<2x1024x16xf32> | |
| %2395 = tensor.expand_shape %2394 [[0], [1, 2], [3]] : tensor<2x1024x16xf32> into tensor<2x1x1024x16xf32> | |
| %2396 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2397 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2395 : tensor<2x1x1024x16xf32>) outs(%2396 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2398 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2397 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2399 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2395, %2398 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2400 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2399 : tensor<2x1x1024x16xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2401 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2402 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2400 : tensor<2x1x1024x16xf32>) outs(%2401 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2403 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2402 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2404 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2405 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2395 : tensor<2x1x1024x16xf32>) outs(%2404 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2406 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2405 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2407 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2403, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2408 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2407 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2409 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2395, %2406 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2410 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2409, %2408 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2411 = tensor.collapse_shape %2410 [[0], [1, 2], [3]] : tensor<2x1x1024x16xf32> into tensor<2x1024x16xf32> | |
| %2412 = tensor.expand_shape %2411 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %2413 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2412, %cst_306 : tensor<2x1024x4x4xf32>, tensor<1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2414 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2413, %cst_307 : tensor<2x1024x4x4xf32>, tensor<1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2415 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_208 : tensor<3072xf32>) outs(%2283 : tensor<2x3072x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x3072x4x4xf32> | |
| %2416 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2414, %cst_207 : tensor<2x1024x4x4xf32>, tensor<3072x1024x1x1xf32>) outs(%2415 : tensor<2x3072x4x4xf32>) -> tensor<2x3072x4x4xf32> | |
| %2417 = tensor.collapse_shape %2416 [[0], [1], [2, 3]] : tensor<2x3072x4x4xf32> into tensor<2x3072x16xf32> | |
| %2418 = tensor.expand_shape %2417 [[0], [1, 2], [3]] : tensor<2x3072x16xf32> into tensor<2x48x64x16xf32> | |
| %2419 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2418 : tensor<2x48x64x16xf32>) outs(%2288 : tensor<2x48x16x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x48x16x64xf32> | |
| %2420 = tensor.extract_slice %2419[0, 0, 0, 0] [2, 16, 16, 64] [1, 1, 1, 1] : tensor<2x48x16x64xf32> to tensor<2x16x16x64xf32> | |
| %2421 = tensor.extract_slice %2419[0, 16, 0, 0] [2, 16, 16, 64] [1, 1, 1, 1] : tensor<2x48x16x64xf32> to tensor<2x16x16x64xf32> | |
| %2422 = tensor.extract_slice %2419[0, 32, 0, 0] [2, 16, 16, 64] [1, 1, 1, 1] : tensor<2x48x16x64xf32> to tensor<2x16x16x64xf32> | |
| %2423 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2420, %cst_512 : tensor<2x16x16x64xf32>, tensor<f64>) outs(%2293 : tensor<2x16x16x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x16x64xf32> | |
| %2424 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2421 : tensor<2x16x16x64xf32>) outs(%2295 : tensor<2x16x64x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x16xf32> | |
| %2425 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2424, %cst_512 : tensor<2x16x64x16xf32>, tensor<f64>) outs(%2295 : tensor<2x16x64x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x64x16xf32> | |
| %2426 = tensor.collapse_shape %2423 [[0, 1], [2], [3]] : tensor<2x16x16x64xf32> into tensor<32x16x64xf32> | |
| %2427 = tensor.collapse_shape %2425 [[0, 1], [2], [3]] : tensor<2x16x64x16xf32> into tensor<32x64x16xf32> | |
| %2428 = linalg.fill ins(%cst_514 : f32) outs(%2300 : tensor<32x16x16xf32>) -> tensor<32x16x16xf32> | |
| %2429 = linalg.batch_matmul ins(%2426, %2427 : tensor<32x16x64xf32>, tensor<32x64x16xf32>) outs(%2428 : tensor<32x16x16xf32>) -> tensor<32x16x16xf32> | |
| %2430 = tensor.expand_shape %2429 [[0, 1], [2], [3]] : tensor<32x16x16xf32> into tensor<2x16x16x16xf32> | |
| %2431 = linalg.fill ins(%c0_i64 : i64) outs(%2304 : tensor<2x16x16x1xi64>) -> tensor<2x16x16x1xi64> | |
| %2432 = linalg.fill ins(%cst_515 : f32) outs(%2306 : tensor<2x16x16x1xf32>) -> tensor<2x16x16x1xf32> | |
| %2433:2 = linalg.generic {indexing_maps = [#map8, #map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2430 : tensor<2x16x16x16xf32>) outs(%2432, %2431 : tensor<2x16x16x1xf32>, tensor<2x16x16x1xi64>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: i64): | |
| %5340 = linalg.index 3 : index | |
| %5341 = arith.index_cast %5340 : index to i64 | |
| %5342 = arith.cmpf ogt, %arg3, %arg4 : f32 | |
| %5343 = arith.select %5342, %arg3, %arg4 : f32 | |
| %5344 = arith.select %5342, %5341, %arg5 : i64 | |
| linalg.yield %5343, %5344 : f32, i64 | |
| } -> (tensor<2x16x16x1xf32>, tensor<2x16x16x1xi64>) | |
| %2434 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2430, %2433#0 : tensor<2x16x16x16xf32>, tensor<2x16x16x1xf32>) outs(%2309 : tensor<2x16x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x16x16x16xf32> | |
| %2435 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2434 : tensor<2x16x16x16xf32>) outs(%2309 : tensor<2x16x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.exp %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x16x16xf32> | |
| %2436 = linalg.fill ins(%cst_514 : f32) outs(%2306 : tensor<2x16x16x1xf32>) -> tensor<2x16x16x1xf32> | |
| %2437 = linalg.generic {indexing_maps = [#map8, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2435 : tensor<2x16x16x16xf32>) outs(%2436 : tensor<2x16x16x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x16x1xf32> | |
| %2438 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2435, %2437 : tensor<2x16x16x16xf32>, tensor<2x16x16x1xf32>) outs(%2309 : tensor<2x16x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.divf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x16x16xf32> | |
| %2439 = tensor.collapse_shape %2438 [[0, 1], [2], [3]] : tensor<2x16x16x16xf32> into tensor<32x16x16xf32> | |
| %2440 = tensor.collapse_shape %2422 [[0, 1], [2], [3]] : tensor<2x16x16x64xf32> into tensor<32x16x64xf32> | |
| %2441 = linalg.fill ins(%cst_514 : f32) outs(%2317 : tensor<32x16x64xf32>) -> tensor<32x16x64xf32> | |
| %2442 = linalg.batch_matmul ins(%2439, %2440 : tensor<32x16x16xf32>, tensor<32x16x64xf32>) outs(%2441 : tensor<32x16x64xf32>) -> tensor<32x16x64xf32> | |
| %2443 = tensor.expand_shape %2442 [[0, 1], [2], [3]] : tensor<32x16x64xf32> into tensor<2x16x16x64xf32> | |
| %2444 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2443 : tensor<2x16x16x64xf32>) outs(%2295 : tensor<2x16x64x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x16xf32> | |
| %2445 = tensor.collapse_shape %2444 [[0], [1, 2], [3]] : tensor<2x16x64x16xf32> into tensor<2x1024x16xf32> | |
| %2446 = tensor.expand_shape %2445 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %2447 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_210 : tensor<1024xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2448 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2446, %cst_209 : tensor<2x1024x4x4xf32>, tensor<1024x1024x1x1xf32>) outs(%2447 : tensor<2x1024x4x4xf32>) -> tensor<2x1024x4x4xf32> | |
| %2449 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2393, %2448 : tensor<2x1024x4x4xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2450 = tensor.pad %2449 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x4x4xf32> to tensor<2x1024x6x6xf32> | |
| %2451 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_212 : tensor<1024xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2452 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2450, %cst_211 : tensor<2x1024x6x6xf32>, tensor<1024x1024x3x3xf32>) outs(%2451 : tensor<2x1024x4x4xf32>) -> tensor<2x1024x4x4xf32> | |
| %2453 = tensor.collapse_shape %2452 [[0], [1], [2, 3]] : tensor<2x1024x4x4xf32> into tensor<2x1024x16xf32> | |
| %2454 = tensor.expand_shape %2453 [[0], [1, 2], [3]] : tensor<2x1024x16xf32> into tensor<2x1x1024x16xf32> | |
| %2455 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2456 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2454 : tensor<2x1x1024x16xf32>) outs(%2455 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2457 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2456 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2458 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2454, %2457 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2459 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2458 : tensor<2x1x1024x16xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2460 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2461 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2459 : tensor<2x1x1024x16xf32>) outs(%2460 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2462 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2461 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2463 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2464 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2454 : tensor<2x1x1024x16xf32>) outs(%2463 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2465 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2464 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2466 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2462, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2467 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2466 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2468 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2454, %2465 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2469 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2468, %2467 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2470 = tensor.collapse_shape %2469 [[0], [1, 2], [3]] : tensor<2x1x1024x16xf32> into tensor<2x1024x16xf32> | |
| %2471 = tensor.expand_shape %2470 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %2472 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_213 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %2473 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2474 = linalg.matmul ins(%51, %2472 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%2473 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2475 = tensor.extract_slice %2474[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2476 = tensor.extract_slice %2474[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2477 = tensor.expand_shape %2476 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2478 = tensor.expand_shape %2475 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2479 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2478, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %2480 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2471, %2479 : tensor<2x1024x4x4xf32>, tensor<2x1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2481 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2477, %2480 : tensor<2x1024x1x1xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2482 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2481 : tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2483 = tensor.pad %2482 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x4x4xf32> to tensor<2x1024x6x6xf32> | |
| %2484 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_215 : tensor<1024xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2485 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2483, %cst_214 : tensor<2x1024x6x6xf32>, tensor<1024x1024x3x3xf32>) outs(%2484 : tensor<2x1024x4x4xf32>) -> tensor<2x1024x4x4xf32> | |
| %2486 = tensor.collapse_shape %2485 [[0], [1], [2, 3]] : tensor<2x1024x4x4xf32> into tensor<2x1024x16xf32> | |
| %2487 = tensor.expand_shape %2486 [[0], [1, 2], [3]] : tensor<2x1024x16xf32> into tensor<2x1x1024x16xf32> | |
| %2488 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2489 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2487 : tensor<2x1x1024x16xf32>) outs(%2488 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2490 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2489 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2491 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2487, %2490 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2492 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2491 : tensor<2x1x1024x16xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2493 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2494 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2492 : tensor<2x1x1024x16xf32>) outs(%2493 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2495 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2494 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2496 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2497 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2487 : tensor<2x1x1024x16xf32>) outs(%2496 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2498 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2497 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2499 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2495, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2500 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2499 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2501 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2487, %2498 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2502 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2501, %2500 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2503 = tensor.collapse_shape %2502 [[0], [1, 2], [3]] : tensor<2x1x1024x16xf32> into tensor<2x1024x16xf32> | |
| %2504 = tensor.expand_shape %2503 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %2505 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_216 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %2506 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2507 = linalg.matmul ins(%51, %2505 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%2506 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2508 = tensor.extract_slice %2507[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2509 = tensor.extract_slice %2507[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2510 = tensor.expand_shape %2509 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2511 = tensor.expand_shape %2508 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2512 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2511, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %2513 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2504, %2512 : tensor<2x1024x4x4xf32>, tensor<2x1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2514 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2510, %2513 : tensor<2x1024x1x1xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2515 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2514 : tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2516 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2515, %2449 : tensor<2x1024x4x4xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2517 = tensor.collapse_shape %2516 [[0], [1], [2, 3]] : tensor<2x1024x4x4xf32> into tensor<2x1024x16xf32> | |
| %2518 = tensor.expand_shape %2517 [[0], [1, 2], [3]] : tensor<2x1024x16xf32> into tensor<2x1x1024x16xf32> | |
| %2519 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2520 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2518 : tensor<2x1x1024x16xf32>) outs(%2519 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2521 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2520 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2522 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2518, %2521 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2523 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2522 : tensor<2x1x1024x16xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2524 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2525 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2523 : tensor<2x1x1024x16xf32>) outs(%2524 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2526 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2525 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2527 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2528 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2518 : tensor<2x1x1024x16xf32>) outs(%2527 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2529 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2528 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2530 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2526, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2531 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2530 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2532 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2518, %2529 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2533 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2532, %2531 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2534 = tensor.collapse_shape %2533 [[0], [1, 2], [3]] : tensor<2x1x1024x16xf32> into tensor<2x1024x16xf32> | |
| %2535 = tensor.expand_shape %2534 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %2536 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2535, %cst_306 : tensor<2x1024x4x4xf32>, tensor<1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2537 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2536, %cst_307 : tensor<2x1024x4x4xf32>, tensor<1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2538 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_218 : tensor<3072xf32>) outs(%2283 : tensor<2x3072x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x3072x4x4xf32> | |
| %2539 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2537, %cst_217 : tensor<2x1024x4x4xf32>, tensor<3072x1024x1x1xf32>) outs(%2538 : tensor<2x3072x4x4xf32>) -> tensor<2x3072x4x4xf32> | |
| %2540 = tensor.collapse_shape %2539 [[0], [1], [2, 3]] : tensor<2x3072x4x4xf32> into tensor<2x3072x16xf32> | |
| %2541 = tensor.expand_shape %2540 [[0], [1, 2], [3]] : tensor<2x3072x16xf32> into tensor<2x48x64x16xf32> | |
| %2542 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2541 : tensor<2x48x64x16xf32>) outs(%2288 : tensor<2x48x16x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x48x16x64xf32> | |
| %2543 = tensor.extract_slice %2542[0, 0, 0, 0] [2, 16, 16, 64] [1, 1, 1, 1] : tensor<2x48x16x64xf32> to tensor<2x16x16x64xf32> | |
| %2544 = tensor.extract_slice %2542[0, 16, 0, 0] [2, 16, 16, 64] [1, 1, 1, 1] : tensor<2x48x16x64xf32> to tensor<2x16x16x64xf32> | |
| %2545 = tensor.extract_slice %2542[0, 32, 0, 0] [2, 16, 16, 64] [1, 1, 1, 1] : tensor<2x48x16x64xf32> to tensor<2x16x16x64xf32> | |
| %2546 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2543, %cst_512 : tensor<2x16x16x64xf32>, tensor<f64>) outs(%2293 : tensor<2x16x16x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x16x64xf32> | |
| %2547 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2544 : tensor<2x16x16x64xf32>) outs(%2295 : tensor<2x16x64x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x16xf32> | |
| %2548 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2547, %cst_512 : tensor<2x16x64x16xf32>, tensor<f64>) outs(%2295 : tensor<2x16x64x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x64x16xf32> | |
| %2549 = tensor.collapse_shape %2546 [[0, 1], [2], [3]] : tensor<2x16x16x64xf32> into tensor<32x16x64xf32> | |
| %2550 = tensor.collapse_shape %2548 [[0, 1], [2], [3]] : tensor<2x16x64x16xf32> into tensor<32x64x16xf32> | |
| %2551 = linalg.fill ins(%cst_514 : f32) outs(%2300 : tensor<32x16x16xf32>) -> tensor<32x16x16xf32> | |
| %2552 = linalg.batch_matmul ins(%2549, %2550 : tensor<32x16x64xf32>, tensor<32x64x16xf32>) outs(%2551 : tensor<32x16x16xf32>) -> tensor<32x16x16xf32> | |
| %2553 = tensor.expand_shape %2552 [[0, 1], [2], [3]] : tensor<32x16x16xf32> into tensor<2x16x16x16xf32> | |
| %2554 = linalg.fill ins(%c0_i64 : i64) outs(%2304 : tensor<2x16x16x1xi64>) -> tensor<2x16x16x1xi64> | |
| %2555 = linalg.fill ins(%cst_515 : f32) outs(%2306 : tensor<2x16x16x1xf32>) -> tensor<2x16x16x1xf32> | |
| %2556:2 = linalg.generic {indexing_maps = [#map8, #map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2553 : tensor<2x16x16x16xf32>) outs(%2555, %2554 : tensor<2x16x16x1xf32>, tensor<2x16x16x1xi64>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: i64): | |
| %5340 = linalg.index 3 : index | |
| %5341 = arith.index_cast %5340 : index to i64 | |
| %5342 = arith.cmpf ogt, %arg3, %arg4 : f32 | |
| %5343 = arith.select %5342, %arg3, %arg4 : f32 | |
| %5344 = arith.select %5342, %5341, %arg5 : i64 | |
| linalg.yield %5343, %5344 : f32, i64 | |
| } -> (tensor<2x16x16x1xf32>, tensor<2x16x16x1xi64>) | |
| %2557 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2553, %2556#0 : tensor<2x16x16x16xf32>, tensor<2x16x16x1xf32>) outs(%2309 : tensor<2x16x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x16x16x16xf32> | |
| %2558 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2557 : tensor<2x16x16x16xf32>) outs(%2309 : tensor<2x16x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.exp %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x16x16xf32> | |
| %2559 = linalg.fill ins(%cst_514 : f32) outs(%2306 : tensor<2x16x16x1xf32>) -> tensor<2x16x16x1xf32> | |
| %2560 = linalg.generic {indexing_maps = [#map8, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2558 : tensor<2x16x16x16xf32>) outs(%2559 : tensor<2x16x16x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x16x1xf32> | |
| %2561 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2558, %2560 : tensor<2x16x16x16xf32>, tensor<2x16x16x1xf32>) outs(%2309 : tensor<2x16x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.divf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x16x16xf32> | |
| %2562 = tensor.collapse_shape %2561 [[0, 1], [2], [3]] : tensor<2x16x16x16xf32> into tensor<32x16x16xf32> | |
| %2563 = tensor.collapse_shape %2545 [[0, 1], [2], [3]] : tensor<2x16x16x64xf32> into tensor<32x16x64xf32> | |
| %2564 = linalg.fill ins(%cst_514 : f32) outs(%2317 : tensor<32x16x64xf32>) -> tensor<32x16x64xf32> | |
| %2565 = linalg.batch_matmul ins(%2562, %2563 : tensor<32x16x16xf32>, tensor<32x16x64xf32>) outs(%2564 : tensor<32x16x64xf32>) -> tensor<32x16x64xf32> | |
| %2566 = tensor.expand_shape %2565 [[0, 1], [2], [3]] : tensor<32x16x64xf32> into tensor<2x16x16x64xf32> | |
| %2567 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2566 : tensor<2x16x16x64xf32>) outs(%2295 : tensor<2x16x64x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x16xf32> | |
| %2568 = tensor.collapse_shape %2567 [[0], [1, 2], [3]] : tensor<2x16x64x16xf32> into tensor<2x1024x16xf32> | |
| %2569 = tensor.expand_shape %2568 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %2570 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_220 : tensor<1024xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2571 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2569, %cst_219 : tensor<2x1024x4x4xf32>, tensor<1024x1024x1x1xf32>) outs(%2570 : tensor<2x1024x4x4xf32>) -> tensor<2x1024x4x4xf32> | |
| %2572 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2516, %2571 : tensor<2x1024x4x4xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2573 = tensor.pad %2572 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x4x4xf32> to tensor<2x1024x6x6xf32> | |
| %2574 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_222 : tensor<1024xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2575 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2573, %cst_221 : tensor<2x1024x6x6xf32>, tensor<1024x1024x3x3xf32>) outs(%2574 : tensor<2x1024x4x4xf32>) -> tensor<2x1024x4x4xf32> | |
| %2576 = tensor.collapse_shape %2575 [[0], [1], [2, 3]] : tensor<2x1024x4x4xf32> into tensor<2x1024x16xf32> | |
| %2577 = tensor.expand_shape %2576 [[0], [1, 2], [3]] : tensor<2x1024x16xf32> into tensor<2x1x1024x16xf32> | |
| %2578 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2579 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2577 : tensor<2x1x1024x16xf32>) outs(%2578 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2580 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2579 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2581 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2577, %2580 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2582 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2581 : tensor<2x1x1024x16xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2583 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2584 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2582 : tensor<2x1x1024x16xf32>) outs(%2583 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2585 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2584 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2586 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2587 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2577 : tensor<2x1x1024x16xf32>) outs(%2586 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2588 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2587 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2589 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2585, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2590 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2589 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2591 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2577, %2588 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2592 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2591, %2590 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2593 = tensor.collapse_shape %2592 [[0], [1, 2], [3]] : tensor<2x1x1024x16xf32> into tensor<2x1024x16xf32> | |
| %2594 = tensor.expand_shape %2593 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %2595 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_223 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %2596 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2597 = linalg.matmul ins(%51, %2595 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%2596 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2598 = tensor.extract_slice %2597[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2599 = tensor.extract_slice %2597[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2600 = tensor.expand_shape %2599 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2601 = tensor.expand_shape %2598 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2602 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2601, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %2603 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2594, %2602 : tensor<2x1024x4x4xf32>, tensor<2x1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2604 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2600, %2603 : tensor<2x1024x1x1xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2605 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2604 : tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2606 = tensor.pad %2605 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x4x4xf32> to tensor<2x1024x6x6xf32> | |
| %2607 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_225 : tensor<1024xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2608 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2606, %cst_224 : tensor<2x1024x6x6xf32>, tensor<1024x1024x3x3xf32>) outs(%2607 : tensor<2x1024x4x4xf32>) -> tensor<2x1024x4x4xf32> | |
| %2609 = tensor.collapse_shape %2608 [[0], [1], [2, 3]] : tensor<2x1024x4x4xf32> into tensor<2x1024x16xf32> | |
| %2610 = tensor.expand_shape %2609 [[0], [1, 2], [3]] : tensor<2x1024x16xf32> into tensor<2x1x1024x16xf32> | |
| %2611 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2612 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2610 : tensor<2x1x1024x16xf32>) outs(%2611 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2613 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2612 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2614 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2610, %2613 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2615 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2614 : tensor<2x1x1024x16xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2616 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2617 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2615 : tensor<2x1x1024x16xf32>) outs(%2616 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2618 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2617 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2619 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2620 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2610 : tensor<2x1x1024x16xf32>) outs(%2619 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2621 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2620 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2622 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2618, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2623 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2622 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2624 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2610, %2621 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2625 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2624, %2623 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2626 = tensor.collapse_shape %2625 [[0], [1, 2], [3]] : tensor<2x1x1024x16xf32> into tensor<2x1024x16xf32> | |
| %2627 = tensor.expand_shape %2626 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %2628 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_226 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %2629 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2630 = linalg.matmul ins(%51, %2628 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%2629 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2631 = tensor.extract_slice %2630[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2632 = tensor.extract_slice %2630[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2633 = tensor.expand_shape %2632 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2634 = tensor.expand_shape %2631 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2635 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2634, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %2636 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2627, %2635 : tensor<2x1024x4x4xf32>, tensor<2x1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2637 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2633, %2636 : tensor<2x1024x1x1xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2638 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2637 : tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2639 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2638, %2572 : tensor<2x1024x4x4xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2640 = tensor.collapse_shape %2639 [[0], [1], [2, 3]] : tensor<2x1024x4x4xf32> into tensor<2x1024x16xf32> | |
| %2641 = tensor.expand_shape %2640 [[0], [1, 2], [3]] : tensor<2x1024x16xf32> into tensor<2x1x1024x16xf32> | |
| %2642 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2643 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2641 : tensor<2x1x1024x16xf32>) outs(%2642 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2644 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2643 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2645 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2641, %2644 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2646 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2645 : tensor<2x1x1024x16xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2647 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2648 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2646 : tensor<2x1x1024x16xf32>) outs(%2647 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2649 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2648 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2650 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2651 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2641 : tensor<2x1x1024x16xf32>) outs(%2650 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2652 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2651 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2653 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2649, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2654 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2653 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2655 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2641, %2652 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2656 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2655, %2654 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2657 = tensor.collapse_shape %2656 [[0], [1, 2], [3]] : tensor<2x1x1024x16xf32> into tensor<2x1024x16xf32> | |
| %2658 = tensor.expand_shape %2657 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %2659 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2658, %cst_306 : tensor<2x1024x4x4xf32>, tensor<1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2660 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2659, %cst_307 : tensor<2x1024x4x4xf32>, tensor<1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2661 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_228 : tensor<3072xf32>) outs(%2283 : tensor<2x3072x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x3072x4x4xf32> | |
| %2662 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2660, %cst_227 : tensor<2x1024x4x4xf32>, tensor<3072x1024x1x1xf32>) outs(%2661 : tensor<2x3072x4x4xf32>) -> tensor<2x3072x4x4xf32> | |
| %2663 = tensor.collapse_shape %2662 [[0], [1], [2, 3]] : tensor<2x3072x4x4xf32> into tensor<2x3072x16xf32> | |
| %2664 = tensor.expand_shape %2663 [[0], [1, 2], [3]] : tensor<2x3072x16xf32> into tensor<2x48x64x16xf32> | |
| %2665 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2664 : tensor<2x48x64x16xf32>) outs(%2288 : tensor<2x48x16x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x48x16x64xf32> | |
| %2666 = tensor.extract_slice %2665[0, 0, 0, 0] [2, 16, 16, 64] [1, 1, 1, 1] : tensor<2x48x16x64xf32> to tensor<2x16x16x64xf32> | |
| %2667 = tensor.extract_slice %2665[0, 16, 0, 0] [2, 16, 16, 64] [1, 1, 1, 1] : tensor<2x48x16x64xf32> to tensor<2x16x16x64xf32> | |
| %2668 = tensor.extract_slice %2665[0, 32, 0, 0] [2, 16, 16, 64] [1, 1, 1, 1] : tensor<2x48x16x64xf32> to tensor<2x16x16x64xf32> | |
| %2669 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2666, %cst_512 : tensor<2x16x16x64xf32>, tensor<f64>) outs(%2293 : tensor<2x16x16x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x16x64xf32> | |
| %2670 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2667 : tensor<2x16x16x64xf32>) outs(%2295 : tensor<2x16x64x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x16xf32> | |
| %2671 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2670, %cst_512 : tensor<2x16x64x16xf32>, tensor<f64>) outs(%2295 : tensor<2x16x64x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x64x16xf32> | |
| %2672 = tensor.collapse_shape %2669 [[0, 1], [2], [3]] : tensor<2x16x16x64xf32> into tensor<32x16x64xf32> | |
| %2673 = tensor.collapse_shape %2671 [[0, 1], [2], [3]] : tensor<2x16x64x16xf32> into tensor<32x64x16xf32> | |
| %2674 = linalg.fill ins(%cst_514 : f32) outs(%2300 : tensor<32x16x16xf32>) -> tensor<32x16x16xf32> | |
| %2675 = linalg.batch_matmul ins(%2672, %2673 : tensor<32x16x64xf32>, tensor<32x64x16xf32>) outs(%2674 : tensor<32x16x16xf32>) -> tensor<32x16x16xf32> | |
| %2676 = tensor.expand_shape %2675 [[0, 1], [2], [3]] : tensor<32x16x16xf32> into tensor<2x16x16x16xf32> | |
| %2677 = linalg.fill ins(%c0_i64 : i64) outs(%2304 : tensor<2x16x16x1xi64>) -> tensor<2x16x16x1xi64> | |
| %2678 = linalg.fill ins(%cst_515 : f32) outs(%2306 : tensor<2x16x16x1xf32>) -> tensor<2x16x16x1xf32> | |
| %2679:2 = linalg.generic {indexing_maps = [#map8, #map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2676 : tensor<2x16x16x16xf32>) outs(%2678, %2677 : tensor<2x16x16x1xf32>, tensor<2x16x16x1xi64>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: i64): | |
| %5340 = linalg.index 3 : index | |
| %5341 = arith.index_cast %5340 : index to i64 | |
| %5342 = arith.cmpf ogt, %arg3, %arg4 : f32 | |
| %5343 = arith.select %5342, %arg3, %arg4 : f32 | |
| %5344 = arith.select %5342, %5341, %arg5 : i64 | |
| linalg.yield %5343, %5344 : f32, i64 | |
| } -> (tensor<2x16x16x1xf32>, tensor<2x16x16x1xi64>) | |
| %2680 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2676, %2679#0 : tensor<2x16x16x16xf32>, tensor<2x16x16x1xf32>) outs(%2309 : tensor<2x16x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x16x16x16xf32> | |
| %2681 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2680 : tensor<2x16x16x16xf32>) outs(%2309 : tensor<2x16x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.exp %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x16x16xf32> | |
| %2682 = linalg.fill ins(%cst_514 : f32) outs(%2306 : tensor<2x16x16x1xf32>) -> tensor<2x16x16x1xf32> | |
| %2683 = linalg.generic {indexing_maps = [#map8, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2681 : tensor<2x16x16x16xf32>) outs(%2682 : tensor<2x16x16x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x16x1xf32> | |
| %2684 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2681, %2683 : tensor<2x16x16x16xf32>, tensor<2x16x16x1xf32>) outs(%2309 : tensor<2x16x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.divf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x16x16xf32> | |
| %2685 = tensor.collapse_shape %2684 [[0, 1], [2], [3]] : tensor<2x16x16x16xf32> into tensor<32x16x16xf32> | |
| %2686 = tensor.collapse_shape %2668 [[0, 1], [2], [3]] : tensor<2x16x16x64xf32> into tensor<32x16x64xf32> | |
| %2687 = linalg.fill ins(%cst_514 : f32) outs(%2317 : tensor<32x16x64xf32>) -> tensor<32x16x64xf32> | |
| %2688 = linalg.batch_matmul ins(%2685, %2686 : tensor<32x16x16xf32>, tensor<32x16x64xf32>) outs(%2687 : tensor<32x16x64xf32>) -> tensor<32x16x64xf32> | |
| %2689 = tensor.expand_shape %2688 [[0, 1], [2], [3]] : tensor<32x16x64xf32> into tensor<2x16x16x64xf32> | |
| %2690 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2689 : tensor<2x16x16x64xf32>) outs(%2295 : tensor<2x16x64x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x16xf32> | |
| %2691 = tensor.collapse_shape %2690 [[0], [1, 2], [3]] : tensor<2x16x64x16xf32> into tensor<2x1024x16xf32> | |
| %2692 = tensor.expand_shape %2691 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %2693 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_230 : tensor<1024xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2694 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2692, %cst_229 : tensor<2x1024x4x4xf32>, tensor<1024x1024x1x1xf32>) outs(%2693 : tensor<2x1024x4x4xf32>) -> tensor<2x1024x4x4xf32> | |
| %2695 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2639, %2694 : tensor<2x1024x4x4xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2696 = tensor.pad %2695 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x4x4xf32> to tensor<2x1024x6x6xf32> | |
| %2697 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_232 : tensor<1024xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2698 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2696, %cst_231 : tensor<2x1024x6x6xf32>, tensor<1024x1024x3x3xf32>) outs(%2697 : tensor<2x1024x4x4xf32>) -> tensor<2x1024x4x4xf32> | |
| %2699 = tensor.collapse_shape %2698 [[0], [1], [2, 3]] : tensor<2x1024x4x4xf32> into tensor<2x1024x16xf32> | |
| %2700 = tensor.expand_shape %2699 [[0], [1, 2], [3]] : tensor<2x1024x16xf32> into tensor<2x1x1024x16xf32> | |
| %2701 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2702 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2700 : tensor<2x1x1024x16xf32>) outs(%2701 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2703 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2702 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2704 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2700, %2703 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2705 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2704 : tensor<2x1x1024x16xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2706 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2707 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2705 : tensor<2x1x1024x16xf32>) outs(%2706 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2708 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2707 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2709 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2710 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2700 : tensor<2x1x1024x16xf32>) outs(%2709 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2711 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2710 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2712 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2708, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2713 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2712 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2714 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2700, %2711 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2715 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2714, %2713 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2716 = tensor.collapse_shape %2715 [[0], [1, 2], [3]] : tensor<2x1x1024x16xf32> into tensor<2x1024x16xf32> | |
| %2717 = tensor.expand_shape %2716 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %2718 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_233 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %2719 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2720 = linalg.matmul ins(%51, %2718 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%2719 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2721 = tensor.extract_slice %2720[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2722 = tensor.extract_slice %2720[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2723 = tensor.expand_shape %2722 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2724 = tensor.expand_shape %2721 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2725 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2724, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %2726 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2717, %2725 : tensor<2x1024x4x4xf32>, tensor<2x1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2727 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2723, %2726 : tensor<2x1024x1x1xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2728 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2727 : tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2729 = tensor.pad %2728 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x4x4xf32> to tensor<2x1024x6x6xf32> | |
| %2730 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_235 : tensor<1024xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2731 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2729, %cst_234 : tensor<2x1024x6x6xf32>, tensor<1024x1024x3x3xf32>) outs(%2730 : tensor<2x1024x4x4xf32>) -> tensor<2x1024x4x4xf32> | |
| %2732 = tensor.collapse_shape %2731 [[0], [1], [2, 3]] : tensor<2x1024x4x4xf32> into tensor<2x1024x16xf32> | |
| %2733 = tensor.expand_shape %2732 [[0], [1, 2], [3]] : tensor<2x1024x16xf32> into tensor<2x1x1024x16xf32> | |
| %2734 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2735 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2733 : tensor<2x1x1024x16xf32>) outs(%2734 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2736 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2735 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2737 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2733, %2736 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2738 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2737 : tensor<2x1x1024x16xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2739 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2740 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2738 : tensor<2x1x1024x16xf32>) outs(%2739 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2741 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2740 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2742 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2743 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2733 : tensor<2x1x1024x16xf32>) outs(%2742 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2744 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2743 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2745 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2741, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2746 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2745 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2747 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2733, %2744 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2748 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2747, %2746 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2749 = tensor.collapse_shape %2748 [[0], [1, 2], [3]] : tensor<2x1x1024x16xf32> into tensor<2x1024x16xf32> | |
| %2750 = tensor.expand_shape %2749 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %2751 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_236 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %2752 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2753 = linalg.matmul ins(%51, %2751 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%2752 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2754 = tensor.extract_slice %2753[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2755 = tensor.extract_slice %2753[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2756 = tensor.expand_shape %2755 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2757 = tensor.expand_shape %2754 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2758 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2757, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %2759 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2750, %2758 : tensor<2x1024x4x4xf32>, tensor<2x1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2760 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2756, %2759 : tensor<2x1024x1x1xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2761 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2760 : tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2762 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2761, %2695 : tensor<2x1024x4x4xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2763 = tensor.collapse_shape %2762 [[0], [1], [2, 3]] : tensor<2x1024x4x4xf32> into tensor<2x1024x16xf32> | |
| %2764 = tensor.expand_shape %2763 [[0], [1, 2], [3]] : tensor<2x1024x16xf32> into tensor<2x1x1024x16xf32> | |
| %2765 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2766 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2764 : tensor<2x1x1024x16xf32>) outs(%2765 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2767 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2766 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2768 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2764, %2767 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2769 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2768 : tensor<2x1x1024x16xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2770 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2771 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2769 : tensor<2x1x1024x16xf32>) outs(%2770 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2772 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2771 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2773 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2774 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2764 : tensor<2x1x1024x16xf32>) outs(%2773 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2775 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2774 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2776 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2772, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2777 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2776 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2778 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2764, %2775 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2779 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2778, %2777 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2780 = tensor.collapse_shape %2779 [[0], [1, 2], [3]] : tensor<2x1x1024x16xf32> into tensor<2x1024x16xf32> | |
| %2781 = tensor.expand_shape %2780 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %2782 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2781, %cst_306 : tensor<2x1024x4x4xf32>, tensor<1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2783 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2782, %cst_307 : tensor<2x1024x4x4xf32>, tensor<1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2784 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_238 : tensor<3072xf32>) outs(%2283 : tensor<2x3072x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x3072x4x4xf32> | |
| %2785 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2783, %cst_237 : tensor<2x1024x4x4xf32>, tensor<3072x1024x1x1xf32>) outs(%2784 : tensor<2x3072x4x4xf32>) -> tensor<2x3072x4x4xf32> | |
| %2786 = tensor.collapse_shape %2785 [[0], [1], [2, 3]] : tensor<2x3072x4x4xf32> into tensor<2x3072x16xf32> | |
| %2787 = tensor.expand_shape %2786 [[0], [1, 2], [3]] : tensor<2x3072x16xf32> into tensor<2x48x64x16xf32> | |
| %2788 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2787 : tensor<2x48x64x16xf32>) outs(%2288 : tensor<2x48x16x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x48x16x64xf32> | |
| %2789 = tensor.extract_slice %2788[0, 0, 0, 0] [2, 16, 16, 64] [1, 1, 1, 1] : tensor<2x48x16x64xf32> to tensor<2x16x16x64xf32> | |
| %2790 = tensor.extract_slice %2788[0, 16, 0, 0] [2, 16, 16, 64] [1, 1, 1, 1] : tensor<2x48x16x64xf32> to tensor<2x16x16x64xf32> | |
| %2791 = tensor.extract_slice %2788[0, 32, 0, 0] [2, 16, 16, 64] [1, 1, 1, 1] : tensor<2x48x16x64xf32> to tensor<2x16x16x64xf32> | |
| %2792 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2789, %cst_512 : tensor<2x16x16x64xf32>, tensor<f64>) outs(%2293 : tensor<2x16x16x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x16x64xf32> | |
| %2793 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2790 : tensor<2x16x16x64xf32>) outs(%2295 : tensor<2x16x64x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x16xf32> | |
| %2794 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2793, %cst_512 : tensor<2x16x64x16xf32>, tensor<f64>) outs(%2295 : tensor<2x16x64x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x64x16xf32> | |
| %2795 = tensor.collapse_shape %2792 [[0, 1], [2], [3]] : tensor<2x16x16x64xf32> into tensor<32x16x64xf32> | |
| %2796 = tensor.collapse_shape %2794 [[0, 1], [2], [3]] : tensor<2x16x64x16xf32> into tensor<32x64x16xf32> | |
| %2797 = linalg.fill ins(%cst_514 : f32) outs(%2300 : tensor<32x16x16xf32>) -> tensor<32x16x16xf32> | |
| %2798 = linalg.batch_matmul ins(%2795, %2796 : tensor<32x16x64xf32>, tensor<32x64x16xf32>) outs(%2797 : tensor<32x16x16xf32>) -> tensor<32x16x16xf32> | |
| %2799 = tensor.expand_shape %2798 [[0, 1], [2], [3]] : tensor<32x16x16xf32> into tensor<2x16x16x16xf32> | |
| %2800 = linalg.fill ins(%c0_i64 : i64) outs(%2304 : tensor<2x16x16x1xi64>) -> tensor<2x16x16x1xi64> | |
| %2801 = linalg.fill ins(%cst_515 : f32) outs(%2306 : tensor<2x16x16x1xf32>) -> tensor<2x16x16x1xf32> | |
| %2802:2 = linalg.generic {indexing_maps = [#map8, #map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2799 : tensor<2x16x16x16xf32>) outs(%2801, %2800 : tensor<2x16x16x1xf32>, tensor<2x16x16x1xi64>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: i64): | |
| %5340 = linalg.index 3 : index | |
| %5341 = arith.index_cast %5340 : index to i64 | |
| %5342 = arith.cmpf ogt, %arg3, %arg4 : f32 | |
| %5343 = arith.select %5342, %arg3, %arg4 : f32 | |
| %5344 = arith.select %5342, %5341, %arg5 : i64 | |
| linalg.yield %5343, %5344 : f32, i64 | |
| } -> (tensor<2x16x16x1xf32>, tensor<2x16x16x1xi64>) | |
| %2803 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2799, %2802#0 : tensor<2x16x16x16xf32>, tensor<2x16x16x1xf32>) outs(%2309 : tensor<2x16x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x16x16x16xf32> | |
| %2804 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2803 : tensor<2x16x16x16xf32>) outs(%2309 : tensor<2x16x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.exp %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x16x16xf32> | |
| %2805 = linalg.fill ins(%cst_514 : f32) outs(%2306 : tensor<2x16x16x1xf32>) -> tensor<2x16x16x1xf32> | |
| %2806 = linalg.generic {indexing_maps = [#map8, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2804 : tensor<2x16x16x16xf32>) outs(%2805 : tensor<2x16x16x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x16x1xf32> | |
| %2807 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2804, %2806 : tensor<2x16x16x16xf32>, tensor<2x16x16x1xf32>) outs(%2309 : tensor<2x16x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.divf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x16x16xf32> | |
| %2808 = tensor.collapse_shape %2807 [[0, 1], [2], [3]] : tensor<2x16x16x16xf32> into tensor<32x16x16xf32> | |
| %2809 = tensor.collapse_shape %2791 [[0, 1], [2], [3]] : tensor<2x16x16x64xf32> into tensor<32x16x64xf32> | |
| %2810 = linalg.fill ins(%cst_514 : f32) outs(%2317 : tensor<32x16x64xf32>) -> tensor<32x16x64xf32> | |
| %2811 = linalg.batch_matmul ins(%2808, %2809 : tensor<32x16x16xf32>, tensor<32x16x64xf32>) outs(%2810 : tensor<32x16x64xf32>) -> tensor<32x16x64xf32> | |
| %2812 = tensor.expand_shape %2811 [[0, 1], [2], [3]] : tensor<32x16x64xf32> into tensor<2x16x16x64xf32> | |
| %2813 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2812 : tensor<2x16x16x64xf32>) outs(%2295 : tensor<2x16x64x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x16xf32> | |
| %2814 = tensor.collapse_shape %2813 [[0], [1, 2], [3]] : tensor<2x16x64x16xf32> into tensor<2x1024x16xf32> | |
| %2815 = tensor.expand_shape %2814 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %2816 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_240 : tensor<1024xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2817 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2815, %cst_239 : tensor<2x1024x4x4xf32>, tensor<1024x1024x1x1xf32>) outs(%2816 : tensor<2x1024x4x4xf32>) -> tensor<2x1024x4x4xf32> | |
| %2818 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2762, %2817 : tensor<2x1024x4x4xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2819 = tensor.pad %2818 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x4x4xf32> to tensor<2x1024x6x6xf32> | |
| %2820 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_242 : tensor<1024xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2821 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2819, %cst_241 : tensor<2x1024x6x6xf32>, tensor<1024x1024x3x3xf32>) outs(%2820 : tensor<2x1024x4x4xf32>) -> tensor<2x1024x4x4xf32> | |
| %2822 = tensor.collapse_shape %2821 [[0], [1], [2, 3]] : tensor<2x1024x4x4xf32> into tensor<2x1024x16xf32> | |
| %2823 = tensor.expand_shape %2822 [[0], [1, 2], [3]] : tensor<2x1024x16xf32> into tensor<2x1x1024x16xf32> | |
| %2824 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2825 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2823 : tensor<2x1x1024x16xf32>) outs(%2824 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2826 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2825 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2827 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2823, %2826 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2828 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2827 : tensor<2x1x1024x16xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2829 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2830 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2828 : tensor<2x1x1024x16xf32>) outs(%2829 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2831 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2830 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2832 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2833 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2823 : tensor<2x1x1024x16xf32>) outs(%2832 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2834 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2833 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2835 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2831, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2836 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2835 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2837 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2823, %2834 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2838 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2837, %2836 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2839 = tensor.collapse_shape %2838 [[0], [1, 2], [3]] : tensor<2x1x1024x16xf32> into tensor<2x1024x16xf32> | |
| %2840 = tensor.expand_shape %2839 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %2841 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_243 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %2842 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2843 = linalg.matmul ins(%51, %2841 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%2842 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2844 = tensor.extract_slice %2843[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2845 = tensor.extract_slice %2843[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2846 = tensor.expand_shape %2845 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2847 = tensor.expand_shape %2844 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2848 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2847, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %2849 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2840, %2848 : tensor<2x1024x4x4xf32>, tensor<2x1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2850 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2846, %2849 : tensor<2x1024x1x1xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2851 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2850 : tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2852 = tensor.pad %2851 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x4x4xf32> to tensor<2x1024x6x6xf32> | |
| %2853 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_245 : tensor<1024xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2854 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2852, %cst_244 : tensor<2x1024x6x6xf32>, tensor<1024x1024x3x3xf32>) outs(%2853 : tensor<2x1024x4x4xf32>) -> tensor<2x1024x4x4xf32> | |
| %2855 = tensor.collapse_shape %2854 [[0], [1], [2, 3]] : tensor<2x1024x4x4xf32> into tensor<2x1024x16xf32> | |
| %2856 = tensor.expand_shape %2855 [[0], [1, 2], [3]] : tensor<2x1024x16xf32> into tensor<2x1x1024x16xf32> | |
| %2857 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2858 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2856 : tensor<2x1x1024x16xf32>) outs(%2857 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2859 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2858 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2860 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2856, %2859 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2861 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2860 : tensor<2x1x1024x16xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2862 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2863 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2861 : tensor<2x1x1024x16xf32>) outs(%2862 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2864 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2863 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2865 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2866 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2856 : tensor<2x1x1024x16xf32>) outs(%2865 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2867 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2866 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2868 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2864, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2869 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2868 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2870 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2856, %2867 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2871 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2870, %2869 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2872 = tensor.collapse_shape %2871 [[0], [1, 2], [3]] : tensor<2x1x1024x16xf32> into tensor<2x1024x16xf32> | |
| %2873 = tensor.expand_shape %2872 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %2874 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_246 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %2875 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2876 = linalg.matmul ins(%51, %2874 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%2875 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2877 = tensor.extract_slice %2876[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2878 = tensor.extract_slice %2876[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2879 = tensor.expand_shape %2878 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2880 = tensor.expand_shape %2877 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2881 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2880, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %2882 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2873, %2881 : tensor<2x1024x4x4xf32>, tensor<2x1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2883 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2879, %2882 : tensor<2x1024x1x1xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2884 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2883 : tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2885 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2884, %2818 : tensor<2x1024x4x4xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2886 = tensor.collapse_shape %2885 [[0], [1], [2, 3]] : tensor<2x1024x4x4xf32> into tensor<2x1024x16xf32> | |
| %2887 = tensor.expand_shape %2886 [[0], [1, 2], [3]] : tensor<2x1024x16xf32> into tensor<2x1x1024x16xf32> | |
| %2888 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2889 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2887 : tensor<2x1x1024x16xf32>) outs(%2888 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2890 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2889 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2891 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2887, %2890 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2892 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2891 : tensor<2x1x1024x16xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2893 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2894 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2892 : tensor<2x1x1024x16xf32>) outs(%2893 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2895 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2894 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2896 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2897 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2887 : tensor<2x1x1024x16xf32>) outs(%2896 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2898 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2897 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2899 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2895, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2900 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2899 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2901 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2887, %2898 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2902 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2901, %2900 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2903 = tensor.collapse_shape %2902 [[0], [1, 2], [3]] : tensor<2x1x1024x16xf32> into tensor<2x1024x16xf32> | |
| %2904 = tensor.expand_shape %2903 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %2905 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2904, %cst_306 : tensor<2x1024x4x4xf32>, tensor<1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2906 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2905, %cst_307 : tensor<2x1024x4x4xf32>, tensor<1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2907 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_248 : tensor<3072xf32>) outs(%2283 : tensor<2x3072x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x3072x4x4xf32> | |
| %2908 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2906, %cst_247 : tensor<2x1024x4x4xf32>, tensor<3072x1024x1x1xf32>) outs(%2907 : tensor<2x3072x4x4xf32>) -> tensor<2x3072x4x4xf32> | |
| %2909 = tensor.collapse_shape %2908 [[0], [1], [2, 3]] : tensor<2x3072x4x4xf32> into tensor<2x3072x16xf32> | |
| %2910 = tensor.expand_shape %2909 [[0], [1, 2], [3]] : tensor<2x3072x16xf32> into tensor<2x48x64x16xf32> | |
| %2911 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2910 : tensor<2x48x64x16xf32>) outs(%2288 : tensor<2x48x16x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x48x16x64xf32> | |
| %2912 = tensor.extract_slice %2911[0, 0, 0, 0] [2, 16, 16, 64] [1, 1, 1, 1] : tensor<2x48x16x64xf32> to tensor<2x16x16x64xf32> | |
| %2913 = tensor.extract_slice %2911[0, 16, 0, 0] [2, 16, 16, 64] [1, 1, 1, 1] : tensor<2x48x16x64xf32> to tensor<2x16x16x64xf32> | |
| %2914 = tensor.extract_slice %2911[0, 32, 0, 0] [2, 16, 16, 64] [1, 1, 1, 1] : tensor<2x48x16x64xf32> to tensor<2x16x16x64xf32> | |
| %2915 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2912, %cst_512 : tensor<2x16x16x64xf32>, tensor<f64>) outs(%2293 : tensor<2x16x16x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x16x64xf32> | |
| %2916 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2913 : tensor<2x16x16x64xf32>) outs(%2295 : tensor<2x16x64x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x16xf32> | |
| %2917 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2916, %cst_512 : tensor<2x16x64x16xf32>, tensor<f64>) outs(%2295 : tensor<2x16x64x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x64x16xf32> | |
| %2918 = tensor.collapse_shape %2915 [[0, 1], [2], [3]] : tensor<2x16x16x64xf32> into tensor<32x16x64xf32> | |
| %2919 = tensor.collapse_shape %2917 [[0, 1], [2], [3]] : tensor<2x16x64x16xf32> into tensor<32x64x16xf32> | |
| %2920 = linalg.fill ins(%cst_514 : f32) outs(%2300 : tensor<32x16x16xf32>) -> tensor<32x16x16xf32> | |
| %2921 = linalg.batch_matmul ins(%2918, %2919 : tensor<32x16x64xf32>, tensor<32x64x16xf32>) outs(%2920 : tensor<32x16x16xf32>) -> tensor<32x16x16xf32> | |
| %2922 = tensor.expand_shape %2921 [[0, 1], [2], [3]] : tensor<32x16x16xf32> into tensor<2x16x16x16xf32> | |
| %2923 = linalg.fill ins(%c0_i64 : i64) outs(%2304 : tensor<2x16x16x1xi64>) -> tensor<2x16x16x1xi64> | |
| %2924 = linalg.fill ins(%cst_515 : f32) outs(%2306 : tensor<2x16x16x1xf32>) -> tensor<2x16x16x1xf32> | |
| %2925:2 = linalg.generic {indexing_maps = [#map8, #map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2922 : tensor<2x16x16x16xf32>) outs(%2924, %2923 : tensor<2x16x16x1xf32>, tensor<2x16x16x1xi64>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: i64): | |
| %5340 = linalg.index 3 : index | |
| %5341 = arith.index_cast %5340 : index to i64 | |
| %5342 = arith.cmpf ogt, %arg3, %arg4 : f32 | |
| %5343 = arith.select %5342, %arg3, %arg4 : f32 | |
| %5344 = arith.select %5342, %5341, %arg5 : i64 | |
| linalg.yield %5343, %5344 : f32, i64 | |
| } -> (tensor<2x16x16x1xf32>, tensor<2x16x16x1xi64>) | |
| %2926 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2922, %2925#0 : tensor<2x16x16x16xf32>, tensor<2x16x16x1xf32>) outs(%2309 : tensor<2x16x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x16x16x16xf32> | |
| %2927 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2926 : tensor<2x16x16x16xf32>) outs(%2309 : tensor<2x16x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.exp %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x16x16xf32> | |
| %2928 = linalg.fill ins(%cst_514 : f32) outs(%2306 : tensor<2x16x16x1xf32>) -> tensor<2x16x16x1xf32> | |
| %2929 = linalg.generic {indexing_maps = [#map8, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2927 : tensor<2x16x16x16xf32>) outs(%2928 : tensor<2x16x16x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x16x1xf32> | |
| %2930 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2927, %2929 : tensor<2x16x16x16xf32>, tensor<2x16x16x1xf32>) outs(%2309 : tensor<2x16x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.divf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x16x16xf32> | |
| %2931 = tensor.collapse_shape %2930 [[0, 1], [2], [3]] : tensor<2x16x16x16xf32> into tensor<32x16x16xf32> | |
| %2932 = tensor.collapse_shape %2914 [[0, 1], [2], [3]] : tensor<2x16x16x64xf32> into tensor<32x16x64xf32> | |
| %2933 = linalg.fill ins(%cst_514 : f32) outs(%2317 : tensor<32x16x64xf32>) -> tensor<32x16x64xf32> | |
| %2934 = linalg.batch_matmul ins(%2931, %2932 : tensor<32x16x16xf32>, tensor<32x16x64xf32>) outs(%2933 : tensor<32x16x64xf32>) -> tensor<32x16x64xf32> | |
| %2935 = tensor.expand_shape %2934 [[0, 1], [2], [3]] : tensor<32x16x64xf32> into tensor<2x16x16x64xf32> | |
| %2936 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2935 : tensor<2x16x16x64xf32>) outs(%2295 : tensor<2x16x64x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x16xf32> | |
| %2937 = tensor.collapse_shape %2936 [[0], [1, 2], [3]] : tensor<2x16x64x16xf32> into tensor<2x1024x16xf32> | |
| %2938 = tensor.expand_shape %2937 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %2939 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_250 : tensor<1024xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2940 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2938, %cst_249 : tensor<2x1024x4x4xf32>, tensor<1024x1024x1x1xf32>) outs(%2939 : tensor<2x1024x4x4xf32>) -> tensor<2x1024x4x4xf32> | |
| %2941 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2885, %2940 : tensor<2x1024x4x4xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2942 = tensor.pad %2941 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x4x4xf32> to tensor<2x1024x6x6xf32> | |
| %2943 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_252 : tensor<1024xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2944 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2942, %cst_251 : tensor<2x1024x6x6xf32>, tensor<1024x1024x3x3xf32>) outs(%2943 : tensor<2x1024x4x4xf32>) -> tensor<2x1024x4x4xf32> | |
| %2945 = tensor.collapse_shape %2944 [[0], [1], [2, 3]] : tensor<2x1024x4x4xf32> into tensor<2x1024x16xf32> | |
| %2946 = tensor.expand_shape %2945 [[0], [1, 2], [3]] : tensor<2x1024x16xf32> into tensor<2x1x1024x16xf32> | |
| %2947 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2948 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2946 : tensor<2x1x1024x16xf32>) outs(%2947 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2949 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2948 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2950 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2946, %2949 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2951 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2950 : tensor<2x1x1024x16xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2952 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2953 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2951 : tensor<2x1x1024x16xf32>) outs(%2952 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2954 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2953 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2955 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2956 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2946 : tensor<2x1x1024x16xf32>) outs(%2955 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2957 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2956 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2958 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2954, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2959 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2958 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2960 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2946, %2957 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2961 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2960, %2959 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2962 = tensor.collapse_shape %2961 [[0], [1, 2], [3]] : tensor<2x1x1024x16xf32> into tensor<2x1024x16xf32> | |
| %2963 = tensor.expand_shape %2962 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %2964 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_253 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %2965 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2966 = linalg.matmul ins(%51, %2964 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%2965 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2967 = tensor.extract_slice %2966[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2968 = tensor.extract_slice %2966[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %2969 = tensor.expand_shape %2968 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2970 = tensor.expand_shape %2967 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %2971 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2970, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %2972 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2963, %2971 : tensor<2x1024x4x4xf32>, tensor<2x1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2973 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2969, %2972 : tensor<2x1024x1x1xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2974 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2973 : tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2975 = tensor.pad %2974 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x4x4xf32> to tensor<2x1024x6x6xf32> | |
| %2976 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_255 : tensor<1024xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %2977 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%2975, %cst_254 : tensor<2x1024x6x6xf32>, tensor<1024x1024x3x3xf32>) outs(%2976 : tensor<2x1024x4x4xf32>) -> tensor<2x1024x4x4xf32> | |
| %2978 = tensor.collapse_shape %2977 [[0], [1], [2, 3]] : tensor<2x1024x4x4xf32> into tensor<2x1024x16xf32> | |
| %2979 = tensor.expand_shape %2978 [[0], [1, 2], [3]] : tensor<2x1024x16xf32> into tensor<2x1x1024x16xf32> | |
| %2980 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2981 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2979 : tensor<2x1x1024x16xf32>) outs(%2980 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2982 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2981 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2983 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2979, %2982 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2984 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2983 : tensor<2x1x1024x16xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2985 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2986 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2984 : tensor<2x1x1024x16xf32>) outs(%2985 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2987 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2986 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2988 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %2989 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2979 : tensor<2x1x1024x16xf32>) outs(%2988 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2990 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2989 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2991 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2987, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2992 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2991 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %2993 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2979, %2990 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2994 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2993, %2992 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %2995 = tensor.collapse_shape %2994 [[0], [1, 2], [3]] : tensor<2x1x1024x16xf32> into tensor<2x1024x16xf32> | |
| %2996 = tensor.expand_shape %2995 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %2997 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_256 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %2998 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %2999 = linalg.matmul ins(%51, %2997 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%2998 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %3000 = tensor.extract_slice %2999[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %3001 = tensor.extract_slice %2999[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %3002 = tensor.expand_shape %3001 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %3003 = tensor.expand_shape %3000 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %3004 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3003, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %3005 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2996, %3004 : tensor<2x1024x4x4xf32>, tensor<2x1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %3006 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3002, %3005 : tensor<2x1024x1x1xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %3007 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3006 : tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %3008 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3007, %2941 : tensor<2x1024x4x4xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %3009 = tensor.collapse_shape %3008 [[0], [1], [2, 3]] : tensor<2x1024x4x4xf32> into tensor<2x1024x16xf32> | |
| %3010 = tensor.expand_shape %3009 [[0], [1, 2], [3]] : tensor<2x1024x16xf32> into tensor<2x1x1024x16xf32> | |
| %3011 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3012 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3010 : tensor<2x1x1024x16xf32>) outs(%3011 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3013 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3012 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3014 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3010, %3013 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %3015 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3014 : tensor<2x1x1024x16xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %3016 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3017 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3015 : tensor<2x1x1024x16xf32>) outs(%3016 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3018 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3017 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3019 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3020 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3010 : tensor<2x1x1024x16xf32>) outs(%3019 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3021 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3020 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3022 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3018, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3023 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3022 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3024 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3010, %3021 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %3025 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3024, %3023 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %3026 = tensor.collapse_shape %3025 [[0], [1, 2], [3]] : tensor<2x1x1024x16xf32> into tensor<2x1024x16xf32> | |
| %3027 = tensor.expand_shape %3026 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %3028 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3027, %cst_306 : tensor<2x1024x4x4xf32>, tensor<1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %3029 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3028, %cst_307 : tensor<2x1024x4x4xf32>, tensor<1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %3030 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_258 : tensor<3072xf32>) outs(%2283 : tensor<2x3072x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x3072x4x4xf32> | |
| %3031 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%3029, %cst_257 : tensor<2x1024x4x4xf32>, tensor<3072x1024x1x1xf32>) outs(%3030 : tensor<2x3072x4x4xf32>) -> tensor<2x3072x4x4xf32> | |
| %3032 = tensor.collapse_shape %3031 [[0], [1], [2, 3]] : tensor<2x3072x4x4xf32> into tensor<2x3072x16xf32> | |
| %3033 = tensor.expand_shape %3032 [[0], [1, 2], [3]] : tensor<2x3072x16xf32> into tensor<2x48x64x16xf32> | |
| %3034 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3033 : tensor<2x48x64x16xf32>) outs(%2288 : tensor<2x48x16x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x48x16x64xf32> | |
| %3035 = tensor.extract_slice %3034[0, 0, 0, 0] [2, 16, 16, 64] [1, 1, 1, 1] : tensor<2x48x16x64xf32> to tensor<2x16x16x64xf32> | |
| %3036 = tensor.extract_slice %3034[0, 16, 0, 0] [2, 16, 16, 64] [1, 1, 1, 1] : tensor<2x48x16x64xf32> to tensor<2x16x16x64xf32> | |
| %3037 = tensor.extract_slice %3034[0, 32, 0, 0] [2, 16, 16, 64] [1, 1, 1, 1] : tensor<2x48x16x64xf32> to tensor<2x16x16x64xf32> | |
| %3038 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3035, %cst_512 : tensor<2x16x16x64xf32>, tensor<f64>) outs(%2293 : tensor<2x16x16x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x16x64xf32> | |
| %3039 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3036 : tensor<2x16x16x64xf32>) outs(%2295 : tensor<2x16x64x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x16xf32> | |
| %3040 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3039, %cst_512 : tensor<2x16x64x16xf32>, tensor<f64>) outs(%2295 : tensor<2x16x64x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x64x16xf32> | |
| %3041 = tensor.collapse_shape %3038 [[0, 1], [2], [3]] : tensor<2x16x16x64xf32> into tensor<32x16x64xf32> | |
| %3042 = tensor.collapse_shape %3040 [[0, 1], [2], [3]] : tensor<2x16x64x16xf32> into tensor<32x64x16xf32> | |
| %3043 = linalg.fill ins(%cst_514 : f32) outs(%2300 : tensor<32x16x16xf32>) -> tensor<32x16x16xf32> | |
| %3044 = linalg.batch_matmul ins(%3041, %3042 : tensor<32x16x64xf32>, tensor<32x64x16xf32>) outs(%3043 : tensor<32x16x16xf32>) -> tensor<32x16x16xf32> | |
| %3045 = tensor.expand_shape %3044 [[0, 1], [2], [3]] : tensor<32x16x16xf32> into tensor<2x16x16x16xf32> | |
| %3046 = linalg.fill ins(%c0_i64 : i64) outs(%2304 : tensor<2x16x16x1xi64>) -> tensor<2x16x16x1xi64> | |
| %3047 = linalg.fill ins(%cst_515 : f32) outs(%2306 : tensor<2x16x16x1xf32>) -> tensor<2x16x16x1xf32> | |
| %3048:2 = linalg.generic {indexing_maps = [#map8, #map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%3045 : tensor<2x16x16x16xf32>) outs(%3047, %3046 : tensor<2x16x16x1xf32>, tensor<2x16x16x1xi64>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: i64): | |
| %5340 = linalg.index 3 : index | |
| %5341 = arith.index_cast %5340 : index to i64 | |
| %5342 = arith.cmpf ogt, %arg3, %arg4 : f32 | |
| %5343 = arith.select %5342, %arg3, %arg4 : f32 | |
| %5344 = arith.select %5342, %5341, %arg5 : i64 | |
| linalg.yield %5343, %5344 : f32, i64 | |
| } -> (tensor<2x16x16x1xf32>, tensor<2x16x16x1xi64>) | |
| %3049 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3045, %3048#0 : tensor<2x16x16x16xf32>, tensor<2x16x16x1xf32>) outs(%2309 : tensor<2x16x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x16x16x16xf32> | |
| %3050 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3049 : tensor<2x16x16x16xf32>) outs(%2309 : tensor<2x16x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.exp %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x16x16xf32> | |
| %3051 = linalg.fill ins(%cst_514 : f32) outs(%2306 : tensor<2x16x16x1xf32>) -> tensor<2x16x16x1xf32> | |
| %3052 = linalg.generic {indexing_maps = [#map8, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%3050 : tensor<2x16x16x16xf32>) outs(%3051 : tensor<2x16x16x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x16x1xf32> | |
| %3053 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3050, %3052 : tensor<2x16x16x16xf32>, tensor<2x16x16x1xf32>) outs(%2309 : tensor<2x16x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.divf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x16x16xf32> | |
| %3054 = tensor.collapse_shape %3053 [[0, 1], [2], [3]] : tensor<2x16x16x16xf32> into tensor<32x16x16xf32> | |
| %3055 = tensor.collapse_shape %3037 [[0, 1], [2], [3]] : tensor<2x16x16x64xf32> into tensor<32x16x64xf32> | |
| %3056 = linalg.fill ins(%cst_514 : f32) outs(%2317 : tensor<32x16x64xf32>) -> tensor<32x16x64xf32> | |
| %3057 = linalg.batch_matmul ins(%3054, %3055 : tensor<32x16x16xf32>, tensor<32x16x64xf32>) outs(%3056 : tensor<32x16x64xf32>) -> tensor<32x16x64xf32> | |
| %3058 = tensor.expand_shape %3057 [[0, 1], [2], [3]] : tensor<32x16x64xf32> into tensor<2x16x16x64xf32> | |
| %3059 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3058 : tensor<2x16x16x64xf32>) outs(%2295 : tensor<2x16x64x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x16xf32> | |
| %3060 = tensor.collapse_shape %3059 [[0], [1, 2], [3]] : tensor<2x16x64x16xf32> into tensor<2x1024x16xf32> | |
| %3061 = tensor.expand_shape %3060 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %3062 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_260 : tensor<1024xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %3063 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%3061, %cst_259 : tensor<2x1024x4x4xf32>, tensor<1024x1024x1x1xf32>) outs(%3062 : tensor<2x1024x4x4xf32>) -> tensor<2x1024x4x4xf32> | |
| %3064 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3008, %3063 : tensor<2x1024x4x4xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %3065 = tensor.pad %3064 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x4x4xf32> to tensor<2x1024x6x6xf32> | |
| %3066 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_262 : tensor<1024xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %3067 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%3065, %cst_261 : tensor<2x1024x6x6xf32>, tensor<1024x1024x3x3xf32>) outs(%3066 : tensor<2x1024x4x4xf32>) -> tensor<2x1024x4x4xf32> | |
| %3068 = tensor.collapse_shape %3067 [[0], [1], [2, 3]] : tensor<2x1024x4x4xf32> into tensor<2x1024x16xf32> | |
| %3069 = tensor.expand_shape %3068 [[0], [1, 2], [3]] : tensor<2x1024x16xf32> into tensor<2x1x1024x16xf32> | |
| %3070 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3071 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3069 : tensor<2x1x1024x16xf32>) outs(%3070 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3072 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3071 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3073 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3069, %3072 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %3074 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3073 : tensor<2x1x1024x16xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %3075 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3076 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3074 : tensor<2x1x1024x16xf32>) outs(%3075 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3077 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3076 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3078 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3079 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3069 : tensor<2x1x1024x16xf32>) outs(%3078 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3080 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3079 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3081 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3077, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3082 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3081 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3083 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3069, %3080 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %3084 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3083, %3082 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %3085 = tensor.collapse_shape %3084 [[0], [1, 2], [3]] : tensor<2x1x1024x16xf32> into tensor<2x1024x16xf32> | |
| %3086 = tensor.expand_shape %3085 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %3087 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_263 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %3088 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %3089 = linalg.matmul ins(%51, %3087 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%3088 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %3090 = tensor.extract_slice %3089[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %3091 = tensor.extract_slice %3089[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %3092 = tensor.expand_shape %3091 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %3093 = tensor.expand_shape %3090 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %3094 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3093, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %3095 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3086, %3094 : tensor<2x1024x4x4xf32>, tensor<2x1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %3096 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3092, %3095 : tensor<2x1024x1x1xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %3097 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3096 : tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %3098 = tensor.pad %3097 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x4x4xf32> to tensor<2x1024x6x6xf32> | |
| %3099 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_265 : tensor<1024xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %3100 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%3098, %cst_264 : tensor<2x1024x6x6xf32>, tensor<1024x1024x3x3xf32>) outs(%3099 : tensor<2x1024x4x4xf32>) -> tensor<2x1024x4x4xf32> | |
| %3101 = tensor.collapse_shape %3100 [[0], [1], [2, 3]] : tensor<2x1024x4x4xf32> into tensor<2x1024x16xf32> | |
| %3102 = tensor.expand_shape %3101 [[0], [1, 2], [3]] : tensor<2x1024x16xf32> into tensor<2x1x1024x16xf32> | |
| %3103 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3104 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3102 : tensor<2x1x1024x16xf32>) outs(%3103 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3105 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3104 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3106 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3102, %3105 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %3107 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3106 : tensor<2x1x1024x16xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %3108 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3109 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3107 : tensor<2x1x1024x16xf32>) outs(%3108 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3110 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3109 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3111 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3112 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3102 : tensor<2x1x1024x16xf32>) outs(%3111 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3113 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3112 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3114 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3110, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3115 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3114 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3116 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3102, %3113 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %3117 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3116, %3115 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %3118 = tensor.collapse_shape %3117 [[0], [1, 2], [3]] : tensor<2x1x1024x16xf32> into tensor<2x1024x16xf32> | |
| %3119 = tensor.expand_shape %3118 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %3120 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_266 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %3121 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %3122 = linalg.matmul ins(%51, %3120 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%3121 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %3123 = tensor.extract_slice %3122[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %3124 = tensor.extract_slice %3122[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %3125 = tensor.expand_shape %3124 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %3126 = tensor.expand_shape %3123 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %3127 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3126, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %3128 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3119, %3127 : tensor<2x1024x4x4xf32>, tensor<2x1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %3129 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3125, %3128 : tensor<2x1024x1x1xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %3130 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3129 : tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %3131 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3130, %3064 : tensor<2x1024x4x4xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %3132 = tensor.collapse_shape %3131 [[0], [1], [2, 3]] : tensor<2x1024x4x4xf32> into tensor<2x1024x16xf32> | |
| %3133 = tensor.expand_shape %3132 [[0], [1, 2], [3]] : tensor<2x1024x16xf32> into tensor<2x1x1024x16xf32> | |
| %3134 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3135 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3133 : tensor<2x1x1024x16xf32>) outs(%3134 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3136 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3135 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3137 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3133, %3136 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %3138 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3137 : tensor<2x1x1024x16xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %3139 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3140 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3138 : tensor<2x1x1024x16xf32>) outs(%3139 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3141 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3140 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3142 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3143 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3133 : tensor<2x1x1024x16xf32>) outs(%3142 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3144 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3143 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_523 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3145 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3141, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3146 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3145 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3147 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3133, %3144 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %3148 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3147, %3146 : tensor<2x1x1024x16xf32>, tensor<2x1x1x1xf32>) outs(%2202 : tensor<2x1x1024x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x16xf32> | |
| %3149 = tensor.collapse_shape %3148 [[0], [1, 2], [3]] : tensor<2x1x1024x16xf32> into tensor<2x1024x16xf32> | |
| %3150 = tensor.expand_shape %3149 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %3151 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3150, %cst_306 : tensor<2x1024x4x4xf32>, tensor<1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %3152 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3151, %cst_307 : tensor<2x1024x4x4xf32>, tensor<1024x1x1xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %3153 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_268 : tensor<3072xf32>) outs(%2283 : tensor<2x3072x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x3072x4x4xf32> | |
| %3154 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%3152, %cst_267 : tensor<2x1024x4x4xf32>, tensor<3072x1024x1x1xf32>) outs(%3153 : tensor<2x3072x4x4xf32>) -> tensor<2x3072x4x4xf32> | |
| %3155 = tensor.collapse_shape %3154 [[0], [1], [2, 3]] : tensor<2x3072x4x4xf32> into tensor<2x3072x16xf32> | |
| %3156 = tensor.expand_shape %3155 [[0], [1, 2], [3]] : tensor<2x3072x16xf32> into tensor<2x48x64x16xf32> | |
| %3157 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3156 : tensor<2x48x64x16xf32>) outs(%2288 : tensor<2x48x16x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x48x16x64xf32> | |
| %3158 = tensor.extract_slice %3157[0, 0, 0, 0] [2, 16, 16, 64] [1, 1, 1, 1] : tensor<2x48x16x64xf32> to tensor<2x16x16x64xf32> | |
| %3159 = tensor.extract_slice %3157[0, 16, 0, 0] [2, 16, 16, 64] [1, 1, 1, 1] : tensor<2x48x16x64xf32> to tensor<2x16x16x64xf32> | |
| %3160 = tensor.extract_slice %3157[0, 32, 0, 0] [2, 16, 16, 64] [1, 1, 1, 1] : tensor<2x48x16x64xf32> to tensor<2x16x16x64xf32> | |
| %3161 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3158, %cst_512 : tensor<2x16x16x64xf32>, tensor<f64>) outs(%2293 : tensor<2x16x16x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x16x64xf32> | |
| %3162 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3159 : tensor<2x16x16x64xf32>) outs(%2295 : tensor<2x16x64x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x16xf32> | |
| %3163 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3162, %cst_512 : tensor<2x16x64x16xf32>, tensor<f64>) outs(%2295 : tensor<2x16x64x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x64x16xf32> | |
| %3164 = tensor.collapse_shape %3161 [[0, 1], [2], [3]] : tensor<2x16x16x64xf32> into tensor<32x16x64xf32> | |
| %3165 = tensor.collapse_shape %3163 [[0, 1], [2], [3]] : tensor<2x16x64x16xf32> into tensor<32x64x16xf32> | |
| %3166 = linalg.fill ins(%cst_514 : f32) outs(%2300 : tensor<32x16x16xf32>) -> tensor<32x16x16xf32> | |
| %3167 = linalg.batch_matmul ins(%3164, %3165 : tensor<32x16x64xf32>, tensor<32x64x16xf32>) outs(%3166 : tensor<32x16x16xf32>) -> tensor<32x16x16xf32> | |
| %3168 = tensor.expand_shape %3167 [[0, 1], [2], [3]] : tensor<32x16x16xf32> into tensor<2x16x16x16xf32> | |
| %3169 = linalg.fill ins(%c0_i64 : i64) outs(%2304 : tensor<2x16x16x1xi64>) -> tensor<2x16x16x1xi64> | |
| %3170 = linalg.fill ins(%cst_515 : f32) outs(%2306 : tensor<2x16x16x1xf32>) -> tensor<2x16x16x1xf32> | |
| %3171:2 = linalg.generic {indexing_maps = [#map8, #map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%3168 : tensor<2x16x16x16xf32>) outs(%3170, %3169 : tensor<2x16x16x1xf32>, tensor<2x16x16x1xi64>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: i64): | |
| %5340 = linalg.index 3 : index | |
| %5341 = arith.index_cast %5340 : index to i64 | |
| %5342 = arith.cmpf ogt, %arg3, %arg4 : f32 | |
| %5343 = arith.select %5342, %arg3, %arg4 : f32 | |
| %5344 = arith.select %5342, %5341, %arg5 : i64 | |
| linalg.yield %5343, %5344 : f32, i64 | |
| } -> (tensor<2x16x16x1xf32>, tensor<2x16x16x1xi64>) | |
| %3172 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3168, %3171#0 : tensor<2x16x16x16xf32>, tensor<2x16x16x1xf32>) outs(%2309 : tensor<2x16x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x16x16x16xf32> | |
| %3173 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3172 : tensor<2x16x16x16xf32>) outs(%2309 : tensor<2x16x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.exp %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x16x16xf32> | |
| %3174 = linalg.fill ins(%cst_514 : f32) outs(%2306 : tensor<2x16x16x1xf32>) -> tensor<2x16x16x1xf32> | |
| %3175 = linalg.generic {indexing_maps = [#map8, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%3173 : tensor<2x16x16x16xf32>) outs(%3174 : tensor<2x16x16x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x16x1xf32> | |
| %3176 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3173, %3175 : tensor<2x16x16x16xf32>, tensor<2x16x16x1xf32>) outs(%2309 : tensor<2x16x16x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.divf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x16x16xf32> | |
| %3177 = tensor.collapse_shape %3176 [[0, 1], [2], [3]] : tensor<2x16x16x16xf32> into tensor<32x16x16xf32> | |
| %3178 = tensor.collapse_shape %3160 [[0, 1], [2], [3]] : tensor<2x16x16x64xf32> into tensor<32x16x64xf32> | |
| %3179 = linalg.fill ins(%cst_514 : f32) outs(%2317 : tensor<32x16x64xf32>) -> tensor<32x16x64xf32> | |
| %3180 = linalg.batch_matmul ins(%3177, %3178 : tensor<32x16x16xf32>, tensor<32x16x64xf32>) outs(%3179 : tensor<32x16x64xf32>) -> tensor<32x16x64xf32> | |
| %3181 = tensor.expand_shape %3180 [[0, 1], [2], [3]] : tensor<32x16x64xf32> into tensor<2x16x16x64xf32> | |
| %3182 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3181 : tensor<2x16x16x64xf32>) outs(%2295 : tensor<2x16x64x16xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x16xf32> | |
| %3183 = tensor.collapse_shape %3182 [[0], [1, 2], [3]] : tensor<2x16x64x16xf32> into tensor<2x1024x16xf32> | |
| %3184 = tensor.expand_shape %3183 [[0], [1], [2, 3]] : tensor<2x1024x16xf32> into tensor<2x1024x4x4xf32> | |
| %3185 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_270 : tensor<1024xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %3186 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%3184, %cst_269 : tensor<2x1024x4x4xf32>, tensor<1024x1024x1x1xf32>) outs(%3185 : tensor<2x1024x4x4xf32>) -> tensor<2x1024x4x4xf32> | |
| %3187 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3131, %3186 : tensor<2x1024x4x4xf32>, tensor<2x1024x4x4xf32>) outs(%2190 : tensor<2x1024x4x4xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x4x4xf32> | |
| %3188 = linalg.generic {indexing_maps = [#map16, #map17, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_271, %cst_272 : tensor<8x1xi64>, tensor<8xi64>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: i64, %arg4: i64, %arg5: f32): | |
| %5340 = linalg.index 0 : index | |
| %5341 = linalg.index 1 : index | |
| %5342 = arith.index_cast %arg3 : i64 to index | |
| %5343 = arith.index_cast %arg4 : i64 to index | |
| %5344 = tensor.extract %3187[%5340, %5341, %5342, %5343] : tensor<2x1024x4x4xf32> | |
| linalg.yield %5344 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3189 = linalg.generic {indexing_maps = [#map16, #map17, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_273, %cst_272 : tensor<8x1xi64>, tensor<8xi64>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: i64, %arg4: i64, %arg5: f32): | |
| %5340 = linalg.index 0 : index | |
| %5341 = linalg.index 1 : index | |
| %5342 = arith.index_cast %arg3 : i64 to index | |
| %5343 = arith.index_cast %arg4 : i64 to index | |
| %5344 = tensor.extract %3187[%5340, %5341, %5342, %5343] : tensor<2x1024x4x4xf32> | |
| linalg.yield %5344 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3190 = linalg.generic {indexing_maps = [#map16, #map17, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_271, %cst_274 : tensor<8x1xi64>, tensor<8xi64>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: i64, %arg4: i64, %arg5: f32): | |
| %5340 = linalg.index 0 : index | |
| %5341 = linalg.index 1 : index | |
| %5342 = arith.index_cast %arg3 : i64 to index | |
| %5343 = arith.index_cast %arg4 : i64 to index | |
| %5344 = tensor.extract %3187[%5340, %5341, %5342, %5343] : tensor<2x1024x4x4xf32> | |
| linalg.yield %5344 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3191 = linalg.generic {indexing_maps = [#map16, #map17, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_273, %cst_274 : tensor<8x1xi64>, tensor<8xi64>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: i64, %arg4: i64, %arg5: f32): | |
| %5340 = linalg.index 0 : index | |
| %5341 = linalg.index 1 : index | |
| %5342 = arith.index_cast %arg3 : i64 to index | |
| %5343 = arith.index_cast %arg4 : i64 to index | |
| %5344 = tensor.extract %3187[%5340, %5341, %5342, %5343] : tensor<2x1024x4x4xf32> | |
| linalg.yield %5344 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3192 = linalg.generic {indexing_maps = [#map8, #map16, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3188, %cst_275 : tensor<2x1024x8x8xf32>, tensor<8x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3193 = linalg.generic {indexing_maps = [#map8, #map16, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3189, %cst_276 : tensor<2x1024x8x8xf32>, tensor<8x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3194 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3192, %3193 : tensor<2x1024x8x8xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3195 = linalg.generic {indexing_maps = [#map8, #map16, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3190, %cst_275 : tensor<2x1024x8x8xf32>, tensor<8x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3196 = linalg.generic {indexing_maps = [#map8, #map16, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3191, %cst_276 : tensor<2x1024x8x8xf32>, tensor<8x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3197 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3195, %3196 : tensor<2x1024x8x8xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3198 = linalg.generic {indexing_maps = [#map8, #map17, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3194, %cst_277 : tensor<2x1024x8x8xf32>, tensor<8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3199 = linalg.generic {indexing_maps = [#map8, #map17, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3197, %cst_278 : tensor<2x1024x8x8xf32>, tensor<8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3200 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3198, %3199 : tensor<2x1024x8x8xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3201 = linalg.init_tensor [2, 2048, 8, 8] : tensor<2x2048x8x8xf32> | |
| %3202 = tensor.insert_slice %3200 into %3201[0, 0, 0, 0] [2, 1024, 8, 8] [1, 1, 1, 1] : tensor<2x1024x8x8xf32> into tensor<2x2048x8x8xf32> | |
| %3203 = tensor.insert_slice %2189 into %3202[0, 1024, 0, 0] [2, 1024, 8, 8] [1, 1, 1, 1] : tensor<2x1024x8x8xf32> into tensor<2x2048x8x8xf32> | |
| %3204 = tensor.pad %3203 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x2048x8x8xf32> to tensor<2x2048x10x10xf32> | |
| %3205 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_280 : tensor<1024xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3206 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%3204, %cst_279 : tensor<2x2048x10x10xf32>, tensor<1024x2048x3x3xf32>) outs(%3205 : tensor<2x1024x8x8xf32>) -> tensor<2x1024x8x8xf32> | |
| %3207 = tensor.collapse_shape %3206 [[0], [1], [2, 3]] : tensor<2x1024x8x8xf32> into tensor<2x1024x64xf32> | |
| %3208 = tensor.expand_shape %3207 [[0], [1, 2], [3]] : tensor<2x1024x64xf32> into tensor<2x1x1024x64xf32> | |
| %3209 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3210 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3208 : tensor<2x1x1024x64xf32>) outs(%3209 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3211 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3210 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3212 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3208, %3211 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3213 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3212 : tensor<2x1x1024x64xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3214 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3215 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3213 : tensor<2x1x1024x64xf32>) outs(%3214 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3216 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3215 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3217 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3218 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3208 : tensor<2x1x1024x64xf32>) outs(%3217 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3219 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3218 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3220 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3216, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3221 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3220 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3222 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3208, %3219 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3223 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3222, %3221 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3224 = tensor.collapse_shape %3223 [[0], [1, 2], [3]] : tensor<2x1x1024x64xf32> into tensor<2x1024x64xf32> | |
| %3225 = tensor.expand_shape %3224 [[0], [1], [2, 3]] : tensor<2x1024x64xf32> into tensor<2x1024x8x8xf32> | |
| %3226 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_281 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %3227 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %3228 = linalg.matmul ins(%51, %3226 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%3227 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %3229 = tensor.extract_slice %3228[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %3230 = tensor.extract_slice %3228[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %3231 = tensor.expand_shape %3230 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %3232 = tensor.expand_shape %3229 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %3233 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3232, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %3234 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3225, %3233 : tensor<2x1024x8x8xf32>, tensor<2x1024x1x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3235 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3231, %3234 : tensor<2x1024x1x1xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3236 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3235 : tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3237 = tensor.pad %3236 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x8x8xf32> to tensor<2x1024x10x10xf32> | |
| %3238 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_283 : tensor<1024xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3239 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%3237, %cst_282 : tensor<2x1024x10x10xf32>, tensor<1024x1024x3x3xf32>) outs(%3238 : tensor<2x1024x8x8xf32>) -> tensor<2x1024x8x8xf32> | |
| %3240 = tensor.collapse_shape %3239 [[0], [1], [2, 3]] : tensor<2x1024x8x8xf32> into tensor<2x1024x64xf32> | |
| %3241 = tensor.expand_shape %3240 [[0], [1, 2], [3]] : tensor<2x1024x64xf32> into tensor<2x1x1024x64xf32> | |
| %3242 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3243 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3241 : tensor<2x1x1024x64xf32>) outs(%3242 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3244 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3243 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3245 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3241, %3244 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3246 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3245 : tensor<2x1x1024x64xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3247 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3248 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3246 : tensor<2x1x1024x64xf32>) outs(%3247 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3249 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3248 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3250 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3251 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3241 : tensor<2x1x1024x64xf32>) outs(%3250 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3252 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3251 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3253 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3249, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3254 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3253 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3255 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3241, %3252 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3256 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3255, %3254 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3257 = tensor.collapse_shape %3256 [[0], [1, 2], [3]] : tensor<2x1x1024x64xf32> into tensor<2x1024x64xf32> | |
| %3258 = tensor.expand_shape %3257 [[0], [1], [2, 3]] : tensor<2x1024x64xf32> into tensor<2x1024x8x8xf32> | |
| %3259 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_284 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %3260 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %3261 = linalg.matmul ins(%51, %3259 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%3260 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %3262 = tensor.extract_slice %3261[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %3263 = tensor.extract_slice %3261[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %3264 = tensor.expand_shape %3263 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %3265 = tensor.expand_shape %3262 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %3266 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3265, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %3267 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3258, %3266 : tensor<2x1024x8x8xf32>, tensor<2x1024x1x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3268 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3264, %3267 : tensor<2x1024x1x1xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3269 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3268 : tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3270 = linalg.fill ins(%cst_514 : f32) outs(%1686 : tensor<2x1024x8x8xf32>) -> tensor<2x1024x8x8xf32> | |
| %3271 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%3203, %cst_285 : tensor<2x2048x8x8xf32>, tensor<1024x2048x1x1xf32>) outs(%3270 : tensor<2x1024x8x8xf32>) -> tensor<2x1024x8x8xf32> | |
| %3272 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3269, %3271 : tensor<2x1024x8x8xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3273 = tensor.collapse_shape %3272 [[0], [1], [2, 3]] : tensor<2x1024x8x8xf32> into tensor<2x1024x64xf32> | |
| %3274 = tensor.expand_shape %3273 [[0], [1, 2], [3]] : tensor<2x1024x64xf32> into tensor<2x1x1024x64xf32> | |
| %3275 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3276 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3274 : tensor<2x1x1024x64xf32>) outs(%3275 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3277 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3276 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3278 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3274, %3277 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3279 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3278 : tensor<2x1x1024x64xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3280 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3281 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3279 : tensor<2x1x1024x64xf32>) outs(%3280 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3282 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3281 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3283 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3284 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3274 : tensor<2x1x1024x64xf32>) outs(%3283 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3285 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3284 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3286 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3282, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3287 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3286 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3288 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3274, %3285 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3289 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3288, %3287 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3290 = tensor.collapse_shape %3289 [[0], [1, 2], [3]] : tensor<2x1x1024x64xf32> into tensor<2x1024x64xf32> | |
| %3291 = tensor.expand_shape %3290 [[0], [1], [2, 3]] : tensor<2x1024x64xf32> into tensor<2x1024x8x8xf32> | |
| %3292 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3291, %cst_306 : tensor<2x1024x8x8xf32>, tensor<1024x1x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3293 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3292, %cst_307 : tensor<2x1024x8x8xf32>, tensor<1024x1x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3294 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_287 : tensor<3072xf32>) outs(%1780 : tensor<2x3072x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x3072x8x8xf32> | |
| %3295 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%3293, %cst_286 : tensor<2x1024x8x8xf32>, tensor<3072x1024x1x1xf32>) outs(%3294 : tensor<2x3072x8x8xf32>) -> tensor<2x3072x8x8xf32> | |
| %3296 = tensor.collapse_shape %3295 [[0], [1], [2, 3]] : tensor<2x3072x8x8xf32> into tensor<2x3072x64xf32> | |
| %3297 = tensor.expand_shape %3296 [[0], [1, 2], [3]] : tensor<2x3072x64xf32> into tensor<2x48x64x64xf32> | |
| %3298 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3297 : tensor<2x48x64x64xf32>) outs(%1785 : tensor<2x48x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x48x64x64xf32> | |
| %3299 = tensor.extract_slice %3298[0, 0, 0, 0] [2, 16, 64, 64] [1, 1, 1, 1] : tensor<2x48x64x64xf32> to tensor<2x16x64x64xf32> | |
| %3300 = tensor.extract_slice %3298[0, 16, 0, 0] [2, 16, 64, 64] [1, 1, 1, 1] : tensor<2x48x64x64xf32> to tensor<2x16x64x64xf32> | |
| %3301 = tensor.extract_slice %3298[0, 32, 0, 0] [2, 16, 64, 64] [1, 1, 1, 1] : tensor<2x48x64x64xf32> to tensor<2x16x64x64xf32> | |
| %3302 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3299, %cst_512 : tensor<2x16x64x64xf32>, tensor<f64>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %3303 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3300 : tensor<2x16x64x64xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %3304 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3303, %cst_512 : tensor<2x16x64x64xf32>, tensor<f64>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %3305 = tensor.collapse_shape %3302 [[0, 1], [2], [3]] : tensor<2x16x64x64xf32> into tensor<32x64x64xf32> | |
| %3306 = tensor.collapse_shape %3304 [[0, 1], [2], [3]] : tensor<2x16x64x64xf32> into tensor<32x64x64xf32> | |
| %3307 = linalg.fill ins(%cst_514 : f32) outs(%1796 : tensor<32x64x64xf32>) -> tensor<32x64x64xf32> | |
| %3308 = linalg.batch_matmul ins(%3305, %3306 : tensor<32x64x64xf32>, tensor<32x64x64xf32>) outs(%3307 : tensor<32x64x64xf32>) -> tensor<32x64x64xf32> | |
| %3309 = tensor.expand_shape %3308 [[0, 1], [2], [3]] : tensor<32x64x64xf32> into tensor<2x16x64x64xf32> | |
| %3310 = linalg.fill ins(%c0_i64 : i64) outs(%1800 : tensor<2x16x64x1xi64>) -> tensor<2x16x64x1xi64> | |
| %3311 = linalg.fill ins(%cst_515 : f32) outs(%1802 : tensor<2x16x64x1xf32>) -> tensor<2x16x64x1xf32> | |
| %3312:2 = linalg.generic {indexing_maps = [#map8, #map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%3309 : tensor<2x16x64x64xf32>) outs(%3311, %3310 : tensor<2x16x64x1xf32>, tensor<2x16x64x1xi64>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: i64): | |
| %5340 = linalg.index 3 : index | |
| %5341 = arith.index_cast %5340 : index to i64 | |
| %5342 = arith.cmpf ogt, %arg3, %arg4 : f32 | |
| %5343 = arith.select %5342, %arg3, %arg4 : f32 | |
| %5344 = arith.select %5342, %5341, %arg5 : i64 | |
| linalg.yield %5343, %5344 : f32, i64 | |
| } -> (tensor<2x16x64x1xf32>, tensor<2x16x64x1xi64>) | |
| %3313 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3309, %3312#0 : tensor<2x16x64x64xf32>, tensor<2x16x64x1xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %3314 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3313 : tensor<2x16x64x64xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.exp %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %3315 = linalg.fill ins(%cst_514 : f32) outs(%1802 : tensor<2x16x64x1xf32>) -> tensor<2x16x64x1xf32> | |
| %3316 = linalg.generic {indexing_maps = [#map8, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%3314 : tensor<2x16x64x64xf32>) outs(%3315 : tensor<2x16x64x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x64x1xf32> | |
| %3317 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3314, %3316 : tensor<2x16x64x64xf32>, tensor<2x16x64x1xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.divf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %3318 = tensor.collapse_shape %3317 [[0, 1], [2], [3]] : tensor<2x16x64x64xf32> into tensor<32x64x64xf32> | |
| %3319 = tensor.collapse_shape %3301 [[0, 1], [2], [3]] : tensor<2x16x64x64xf32> into tensor<32x64x64xf32> | |
| %3320 = linalg.fill ins(%cst_514 : f32) outs(%1796 : tensor<32x64x64xf32>) -> tensor<32x64x64xf32> | |
| %3321 = linalg.batch_matmul ins(%3318, %3319 : tensor<32x64x64xf32>, tensor<32x64x64xf32>) outs(%3320 : tensor<32x64x64xf32>) -> tensor<32x64x64xf32> | |
| %3322 = tensor.expand_shape %3321 [[0, 1], [2], [3]] : tensor<32x64x64xf32> into tensor<2x16x64x64xf32> | |
| %3323 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3322 : tensor<2x16x64x64xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %3324 = tensor.collapse_shape %3323 [[0], [1, 2], [3]] : tensor<2x16x64x64xf32> into tensor<2x1024x64xf32> | |
| %3325 = tensor.expand_shape %3324 [[0], [1], [2, 3]] : tensor<2x1024x64xf32> into tensor<2x1024x8x8xf32> | |
| %3326 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_289 : tensor<1024xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3327 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%3325, %cst_288 : tensor<2x1024x8x8xf32>, tensor<1024x1024x1x1xf32>) outs(%3326 : tensor<2x1024x8x8xf32>) -> tensor<2x1024x8x8xf32> | |
| %3328 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3272, %3327 : tensor<2x1024x8x8xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3329 = tensor.pad %3328 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x8x8xf32> to tensor<2x1024x10x10xf32> | |
| %3330 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_291 : tensor<1024xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3331 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%3329, %cst_290 : tensor<2x1024x10x10xf32>, tensor<1024x1024x3x3xf32>) outs(%3330 : tensor<2x1024x8x8xf32>) -> tensor<2x1024x8x8xf32> | |
| %3332 = tensor.collapse_shape %3331 [[0], [1], [2, 3]] : tensor<2x1024x8x8xf32> into tensor<2x1024x64xf32> | |
| %3333 = tensor.expand_shape %3332 [[0], [1, 2], [3]] : tensor<2x1024x64xf32> into tensor<2x1x1024x64xf32> | |
| %3334 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3335 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3333 : tensor<2x1x1024x64xf32>) outs(%3334 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3336 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3335 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3337 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3333, %3336 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3338 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3337 : tensor<2x1x1024x64xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3339 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3340 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3338 : tensor<2x1x1024x64xf32>) outs(%3339 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3341 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3340 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3342 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3343 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3333 : tensor<2x1x1024x64xf32>) outs(%3342 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3344 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3343 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3345 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3341, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3346 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3345 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3347 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3333, %3344 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3348 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3347, %3346 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3349 = tensor.collapse_shape %3348 [[0], [1, 2], [3]] : tensor<2x1x1024x64xf32> into tensor<2x1024x64xf32> | |
| %3350 = tensor.expand_shape %3349 [[0], [1], [2, 3]] : tensor<2x1024x64xf32> into tensor<2x1024x8x8xf32> | |
| %3351 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_292 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %3352 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %3353 = linalg.matmul ins(%51, %3351 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%3352 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %3354 = tensor.extract_slice %3353[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %3355 = tensor.extract_slice %3353[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %3356 = tensor.expand_shape %3355 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %3357 = tensor.expand_shape %3354 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %3358 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3357, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %3359 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3350, %3358 : tensor<2x1024x8x8xf32>, tensor<2x1024x1x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3360 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3356, %3359 : tensor<2x1024x1x1xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3361 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3360 : tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3362 = tensor.pad %3361 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x8x8xf32> to tensor<2x1024x10x10xf32> | |
| %3363 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_294 : tensor<1024xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3364 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%3362, %cst_293 : tensor<2x1024x10x10xf32>, tensor<1024x1024x3x3xf32>) outs(%3363 : tensor<2x1024x8x8xf32>) -> tensor<2x1024x8x8xf32> | |
| %3365 = tensor.collapse_shape %3364 [[0], [1], [2, 3]] : tensor<2x1024x8x8xf32> into tensor<2x1024x64xf32> | |
| %3366 = tensor.expand_shape %3365 [[0], [1, 2], [3]] : tensor<2x1024x64xf32> into tensor<2x1x1024x64xf32> | |
| %3367 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3368 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3366 : tensor<2x1x1024x64xf32>) outs(%3367 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3369 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3368 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3370 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3366, %3369 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3371 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3370 : tensor<2x1x1024x64xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3372 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3373 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3371 : tensor<2x1x1024x64xf32>) outs(%3372 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3374 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3373 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3375 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3376 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3366 : tensor<2x1x1024x64xf32>) outs(%3375 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3377 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3376 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3378 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3374, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3379 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3378 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3380 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3366, %3377 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3381 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3380, %3379 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3382 = tensor.collapse_shape %3381 [[0], [1, 2], [3]] : tensor<2x1x1024x64xf32> into tensor<2x1024x64xf32> | |
| %3383 = tensor.expand_shape %3382 [[0], [1], [2, 3]] : tensor<2x1024x64xf32> into tensor<2x1024x8x8xf32> | |
| %3384 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_295 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %3385 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %3386 = linalg.matmul ins(%51, %3384 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%3385 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %3387 = tensor.extract_slice %3386[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %3388 = tensor.extract_slice %3386[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %3389 = tensor.expand_shape %3388 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %3390 = tensor.expand_shape %3387 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %3391 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3390, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf32> | |
| %3392 = linalg.generic {indexing_maps = [#map8, #map9, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3383, %3391 : tensor<2x1024x8x8xf32>, tensor<2x1024x1x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3393 = linalg.generic {indexing_maps = [#map9, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3389, %3392 : tensor<2x1024x1x1xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3394 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3393 : tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.cmpf ugt, %arg3, %cst_514 : f32 | |
| %5341 = arith.select %5340, %arg3, %cst_514 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3395 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3394, %3328 : tensor<2x1024x8x8xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3396 = tensor.collapse_shape %3395 [[0], [1], [2, 3]] : tensor<2x1024x8x8xf32> into tensor<2x1024x64xf32> | |
| %3397 = tensor.expand_shape %3396 [[0], [1, 2], [3]] : tensor<2x1024x64xf32> into tensor<2x1x1024x64xf32> | |
| %3398 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3399 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3397 : tensor<2x1x1024x64xf32>) outs(%3398 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3400 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3399 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3401 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3397, %3400 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3402 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3401 : tensor<2x1x1024x64xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3403 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3404 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3402 : tensor<2x1x1024x64xf32>) outs(%3403 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3405 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3404 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3406 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3407 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3397 : tensor<2x1x1024x64xf32>) outs(%3406 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3408 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3407 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3409 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3405, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3410 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3409 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3411 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3397, %3408 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3412 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3411, %3410 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3413 = tensor.collapse_shape %3412 [[0], [1, 2], [3]] : tensor<2x1x1024x64xf32> into tensor<2x1024x64xf32> | |
| %3414 = tensor.expand_shape %3413 [[0], [1], [2, 3]] : tensor<2x1024x64xf32> into tensor<2x1024x8x8xf32> | |
| %3415 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3414, %cst_306 : tensor<2x1024x8x8xf32>, tensor<1024x1x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3416 = linalg.generic {indexing_maps = [#map8, #map13, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3415, %cst_307 : tensor<2x1024x8x8xf32>, tensor<1024x1x1xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3417 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_297 : tensor<3072xf32>) outs(%1780 : tensor<2x3072x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x3072x8x8xf32> | |
| %3418 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%3416, %cst_296 : tensor<2x1024x8x8xf32>, tensor<3072x1024x1x1xf32>) outs(%3417 : tensor<2x3072x8x8xf32>) -> tensor<2x3072x8x8xf32> | |
| %3419 = tensor.collapse_shape %3418 [[0], [1], [2, 3]] : tensor<2x3072x8x8xf32> into tensor<2x3072x64xf32> | |
| %3420 = tensor.expand_shape %3419 [[0], [1, 2], [3]] : tensor<2x3072x64xf32> into tensor<2x48x64x64xf32> | |
| %3421 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3420 : tensor<2x48x64x64xf32>) outs(%1785 : tensor<2x48x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x48x64x64xf32> | |
| %3422 = tensor.extract_slice %3421[0, 0, 0, 0] [2, 16, 64, 64] [1, 1, 1, 1] : tensor<2x48x64x64xf32> to tensor<2x16x64x64xf32> | |
| %3423 = tensor.extract_slice %3421[0, 16, 0, 0] [2, 16, 64, 64] [1, 1, 1, 1] : tensor<2x48x64x64xf32> to tensor<2x16x64x64xf32> | |
| %3424 = tensor.extract_slice %3421[0, 32, 0, 0] [2, 16, 64, 64] [1, 1, 1, 1] : tensor<2x48x64x64xf32> to tensor<2x16x64x64xf32> | |
| %3425 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3422, %cst_512 : tensor<2x16x64x64xf32>, tensor<f64>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %3426 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3423 : tensor<2x16x64x64xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %3427 = linalg.generic {indexing_maps = [#map8, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3426, %cst_512 : tensor<2x16x64x64xf32>, tensor<f64>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.mulf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %3428 = tensor.collapse_shape %3425 [[0, 1], [2], [3]] : tensor<2x16x64x64xf32> into tensor<32x64x64xf32> | |
| %3429 = tensor.collapse_shape %3427 [[0, 1], [2], [3]] : tensor<2x16x64x64xf32> into tensor<32x64x64xf32> | |
| %3430 = linalg.fill ins(%cst_514 : f32) outs(%1796 : tensor<32x64x64xf32>) -> tensor<32x64x64xf32> | |
| %3431 = linalg.batch_matmul ins(%3428, %3429 : tensor<32x64x64xf32>, tensor<32x64x64xf32>) outs(%3430 : tensor<32x64x64xf32>) -> tensor<32x64x64xf32> | |
| %3432 = tensor.expand_shape %3431 [[0, 1], [2], [3]] : tensor<32x64x64xf32> into tensor<2x16x64x64xf32> | |
| %3433 = linalg.fill ins(%c0_i64 : i64) outs(%1800 : tensor<2x16x64x1xi64>) -> tensor<2x16x64x1xi64> | |
| %3434 = linalg.fill ins(%cst_515 : f32) outs(%1802 : tensor<2x16x64x1xf32>) -> tensor<2x16x64x1xf32> | |
| %3435:2 = linalg.generic {indexing_maps = [#map8, #map15, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%3432 : tensor<2x16x64x64xf32>) outs(%3434, %3433 : tensor<2x16x64x1xf32>, tensor<2x16x64x1xi64>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: i64): | |
| %5340 = linalg.index 3 : index | |
| %5341 = arith.index_cast %5340 : index to i64 | |
| %5342 = arith.cmpf ogt, %arg3, %arg4 : f32 | |
| %5343 = arith.select %5342, %arg3, %arg4 : f32 | |
| %5344 = arith.select %5342, %5341, %arg5 : i64 | |
| linalg.yield %5343, %5344 : f32, i64 | |
| } -> (tensor<2x16x64x1xf32>, tensor<2x16x64x1xi64>) | |
| %3436 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3432, %3435#0 : tensor<2x16x64x64xf32>, tensor<2x16x64x1xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %3437 = linalg.generic {indexing_maps = [#map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3436 : tensor<2x16x64x64xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.exp %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %3438 = linalg.fill ins(%cst_514 : f32) outs(%1802 : tensor<2x16x64x1xf32>) -> tensor<2x16x64x1xf32> | |
| %3439 = linalg.generic {indexing_maps = [#map8, #map15], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%3437 : tensor<2x16x64x64xf32>) outs(%3438 : tensor<2x16x64x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x64x1xf32> | |
| %3440 = linalg.generic {indexing_maps = [#map8, #map15, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3437, %3439 : tensor<2x16x64x64xf32>, tensor<2x16x64x1xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.divf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %3441 = tensor.collapse_shape %3440 [[0, 1], [2], [3]] : tensor<2x16x64x64xf32> into tensor<32x64x64xf32> | |
| %3442 = tensor.collapse_shape %3424 [[0, 1], [2], [3]] : tensor<2x16x64x64xf32> into tensor<32x64x64xf32> | |
| %3443 = linalg.fill ins(%cst_514 : f32) outs(%1796 : tensor<32x64x64xf32>) -> tensor<32x64x64xf32> | |
| %3444 = linalg.batch_matmul ins(%3441, %3442 : tensor<32x64x64xf32>, tensor<32x64x64xf32>) outs(%3443 : tensor<32x64x64xf32>) -> tensor<32x64x64xf32> | |
| %3445 = tensor.expand_shape %3444 [[0, 1], [2], [3]] : tensor<32x64x64xf32> into tensor<2x16x64x64xf32> | |
| %3446 = linalg.generic {indexing_maps = [#map8, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3445 : tensor<2x16x64x64xf32>) outs(%1790 : tensor<2x16x64x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x16x64x64xf32> | |
| %3447 = tensor.collapse_shape %3446 [[0], [1, 2], [3]] : tensor<2x16x64x64xf32> into tensor<2x1024x64xf32> | |
| %3448 = tensor.expand_shape %3447 [[0], [1], [2, 3]] : tensor<2x1024x64xf32> into tensor<2x1024x8x8xf32> | |
| %3449 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_299 : tensor<1024xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3450 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%3448, %cst_298 : tensor<2x1024x8x8xf32>, tensor<1024x1024x1x1xf32>) outs(%3449 : tensor<2x1024x8x8xf32>) -> tensor<2x1024x8x8xf32> | |
| %3451 = linalg.generic {indexing_maps = [#map8, #map8, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3395, %3450 : tensor<2x1024x8x8xf32>, tensor<2x1024x8x8xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3452 = tensor.pad %3451 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index): | |
| tensor.yield %cst_514 : f32 | |
| } : tensor<2x1024x8x8xf32> to tensor<2x1024x10x10xf32> | |
| %3453 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_301 : tensor<1024xf32>) outs(%1686 : tensor<2x1024x8x8xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<2x1024x8x8xf32> | |
| %3454 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%3452, %cst_300 : tensor<2x1024x10x10xf32>, tensor<1024x1024x3x3xf32>) outs(%3453 : tensor<2x1024x8x8xf32>) -> tensor<2x1024x8x8xf32> | |
| %3455 = tensor.collapse_shape %3454 [[0], [1], [2, 3]] : tensor<2x1024x8x8xf32> into tensor<2x1024x64xf32> | |
| %3456 = tensor.expand_shape %3455 [[0], [1, 2], [3]] : tensor<2x1024x64xf32> into tensor<2x1x1024x64xf32> | |
| %3457 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3458 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3456 : tensor<2x1x1024x64xf32>) outs(%3457 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3459 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3458 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3460 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3456, %3459 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.truncf %cst : f64 to f32 | |
| %5341 = arith.mulf %arg4, %5340 : f32 | |
| %5342 = arith.subf %arg3, %5341 : f32 | |
| linalg.yield %5342 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3461 = linalg.generic {indexing_maps = [#map11, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3460 : tensor<2x1x1024x64xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.mulf %arg3, %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3462 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3463 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3461 : tensor<2x1x1024x64xf32>) outs(%3462 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3464 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3463 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3465 = linalg.fill ins(%cst_514 : f32) outs(%76 : tensor<2x1x1x1xf32>) -> tensor<2x1x1x1xf32> | |
| %3466 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%3456 : tensor<2x1x1024x64xf32>) outs(%3465 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.addf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3467 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3466 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = arith.divf %arg3, %cst_521 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3468 = linalg.generic {indexing_maps = [#map10, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3464, %cst_510 : tensor<2x1x1x1xf32>, tensor<f64>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f64, %arg5: f32): | |
| %5340 = arith.truncf %arg4 : f64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3469 = linalg.generic {indexing_maps = [#map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3468 : tensor<2x1x1x1xf32>) outs(%76 : tensor<2x1x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| %5340 = math.rsqrt %arg3 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1x1xf32> | |
| %3470 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3456, %3467 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.subf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3471 = linalg.generic {indexing_maps = [#map11, #map10, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3470, %3469 : tensor<2x1x1024x64xf32>, tensor<2x1x1x1xf32>) outs(%1694 : tensor<2x1x1024x64xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32, %arg5: f32): | |
| %5340 = arith.mulf %arg3, %arg4 : f32 | |
| linalg.yield %5340 : f32 | |
| } -> tensor<2x1x1024x64xf32> | |
| %3472 = tensor.collapse_shape %3471 [[0], [1, 2], [3]] : tensor<2x1x1024x64xf32> into tensor<2x1024x64xf32> | |
| %3473 = tensor.expand_shape %3472 [[0], [1], [2, 3]] : tensor<2x1024x64xf32> into tensor<2x1024x8x8xf32> | |
| %3474 = linalg.generic {indexing_maps = [#map0, #map3], iterator_types = ["parallel", "parallel"]} ins(%cst_302 : tensor<2048x1024xf32>) outs(%1709 : tensor<1024x2048xf32>) { | |
| ^bb0(%arg3: f32, %arg4: f32): | |
| linalg.yield %arg3 : f32 | |
| } -> tensor<1024x2048xf32> | |
| %3475 = linalg.fill ins(%cst_514 : f32) outs(%1711 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %3476 = linalg.matmul ins(%51, %3474 : tensor<2x1024xf32>, tensor<1024x2048xf32>) outs(%3475 : tensor<2x2048xf32>) -> tensor<2x2048xf32> | |
| %3477 = tensor.extract_slice %3476[0, 0] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %3478 = tensor.extract_slice %3476[0, 1024] [2, 1024] [1, 1] : tensor<2x2048xf32> to tensor<2x1024xf32> | |
| %3479 = tensor.expand_shape %3478 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %3480 = tensor.expand_shape %3477 [[0], [1, 2, 3]] : tensor<2x1024xf32> into tensor<2x1024x1x1xf32> | |
| %3481 = linalg.generic {indexing_maps = [#map9, #map12, #map8], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%3480, %cst_511 : tensor<2x1024x1x1xf32>, tensor<i64>) outs(%1718 : tensor<2x1024x1x1xf32>) { | |
| ^bb0(%arg3: f32, %arg4: i64, %arg5: f32): | |
| %5340 = arith.sitofp %arg4 : i64 to f32 | |
| %5341 = arith.addf %arg3, %5340 : f32 | |
| linalg.yield %5341 : f32 | |
| } -> tensor<2x1024x1x1xf |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment