Created
March 20, 2023 15:58
-
-
Save pashu123/31227fa1ffa06910610ce9db50d7834f 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
| #map = affine_map<(d0, d1, d2, d3) -> (0, d1, d2, d3)> | |
| #map1 = affine_map<(d0, d1, d2, d3) -> (d0, d1, d2, d3)> | |
| #map2 = affine_map<(d0) -> (0)> | |
| #map3 = affine_map<(d0) -> (d0)> | |
| #map4 = affine_map<(d0) -> ()> | |
| #map5 = affine_map<(d0, d1) -> (d0, 0)> | |
| #map6 = affine_map<(d0, d1) -> (0, d1)> | |
| #map7 = affine_map<(d0, d1) -> (d0, d1)> | |
| #map8 = affine_map<(d0, d1) -> (d1, d0)> | |
| #map9 = affine_map<(d0, d1) -> (d1)> | |
| #map10 = affine_map<(d0, d1, d2, d3) -> (d1)> | |
| #map11 = affine_map<(d0, d1, d2, d3) -> (d0, d1, 0, 0)> | |
| #map12 = affine_map<(d0, d1, d2, d3) -> ()> | |
| #map13 = affine_map<(d0, d1, d2, d3) -> (0, d1, 0, 0)> | |
| #map14 = affine_map<(d0, d1, d2, d3, d4) -> (d0, d1, d2, d3, d4)> | |
| #map15 = affine_map<(d0, d1, d2, d3, d4) -> (d0, d1, 0, d3, d4)> | |
| #map16 = affine_map<(d0, d1, d2, d3) -> (d0, d2, d3, d1)> | |
| #map17 = affine_map<(d0, d1, d2, d3) -> (d0, d1, d2, 0)> | |
| #map18 = affine_map<(d0, d1, d2) -> (d0, d1, d2)> | |
| #map19 = affine_map<(d0, d1, d2) -> ()> | |
| #map20 = affine_map<(d0, d1, d2) -> (d0, d1, 0)> | |
| #map21 = affine_map<(d0, d1, d2) -> (d2)> | |
| #map22 = affine_map<(d0, d1, d2, d3) -> (d0, d2, d1, d3)> | |
| #map23 = affine_map<(d0, d1, d2) -> (d0, d2, d1)> | |
| #map24 = affine_map<(d0, d1, d2, d3) -> (d0, d3, d1, d2)> | |
| #map25 = affine_map<(d0, d1, d2, d3, d4) -> (d0, d1, 0, 0, 0)> | |
| #map26 = affine_map<(d0, d1, d2, d3, d4) -> (d0, d1, d2, 0, 0)> | |
| module attributes {torch.debug_module_name = "_lambda"} { | |
| ml_program.global private mutable @global_seed(dense<0> : tensor<i64>) : tensor<i64> | |
| func.func @forward(%arg0: tensor<1x4x64x64xf16>, %arg1: tensor<1xf32>, %arg2: tensor<2x77x1024xf16>, %arg3: tensor<f32>) -> tensor<1x4x64x64xf16> { | |
| %cst = arith.constant dense<[-2.388000e-03, 3.170010e-03, 4.332070e-04, 1.795770e-03]> : tensor<4xf16> | |
| %cst_0 = arith.constant dense_resource<__elided__> : tensor<4x320x3x3xf16> | |
| %cst_1 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_2 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_3 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_4 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_5 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_6 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_7 = arith.constant dense_resource<__elided__> : tensor<320x1280xi8> | |
| %cst_8 = arith.constant dense_resource<__elided__> : tensor<320x80x1xf16> | |
| %cst_9 = arith.constant dense_resource<__elided__> : tensor<2560xf16> | |
| %cst_10 = arith.constant dense_resource<__elided__> : tensor<2560x320xi8> | |
| %cst_11 = arith.constant dense_resource<__elided__> : tensor<2560x20x1xf16> | |
| %cst_12 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_13 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_14 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_15 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_16 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_17 = arith.constant dense_resource<__elided__> : tensor<320x1024xi8> | |
| %cst_18 = arith.constant dense_resource<__elided__> : tensor<320x64x1xf16> | |
| %cst_19 = arith.constant dense_resource<__elided__> : tensor<320x1024xi8> | |
| %cst_20 = arith.constant dense_resource<__elided__> : tensor<320x64x1xf16> | |
| %cst_21 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_22 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_23 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_24 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_25 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_26 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_27 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_28 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_29 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_30 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_31 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_32 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_33 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_34 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_35 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_36 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_37 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_38 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_39 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_40 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_41 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_42 = arith.constant dense_resource<__elided__> : tensor<320x640x1x1xi8> | |
| %cst_43 = arith.constant dense_resource<__elided__> : tensor<320x40x1x1x1xf16> | |
| %cst_44 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_45 = arith.constant dense_resource<__elided__> : tensor<320x320x3x3xi8> | |
| %cst_46 = arith.constant dense_resource<__elided__> : tensor<320x20x1x3x3xf16> | |
| %cst_47 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_48 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_49 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_50 = arith.constant dense_resource<__elided__> : tensor<320x1280xf16> | |
| %cst_51 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_52 = arith.constant dense_resource<__elided__> : tensor<320x640x3x3xi8> | |
| %cst_53 = arith.constant dense_resource<__elided__> : tensor<320x40x1x3x3xf16> | |
| %cst_54 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_55 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_56 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_57 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_58 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_59 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_60 = arith.constant dense_resource<__elided__> : tensor<320x1280xi8> | |
| %cst_61 = arith.constant dense_resource<__elided__> : tensor<320x80x1xf16> | |
| %cst_62 = arith.constant dense_resource<__elided__> : tensor<2560xf16> | |
| %cst_63 = arith.constant dense_resource<__elided__> : tensor<2560x320xi8> | |
| %cst_64 = arith.constant dense_resource<__elided__> : tensor<2560x20x1xf16> | |
| %cst_65 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_66 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_67 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_68 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_69 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_70 = arith.constant dense_resource<__elided__> : tensor<320x1024xi8> | |
| %cst_71 = arith.constant dense_resource<__elided__> : tensor<320x64x1xf16> | |
| %cst_72 = arith.constant dense_resource<__elided__> : tensor<320x1024xi8> | |
| %cst_73 = arith.constant dense_resource<__elided__> : tensor<320x64x1xf16> | |
| %cst_74 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_75 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_76 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_77 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_78 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_79 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_80 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_81 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_82 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_83 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_84 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_85 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_86 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_87 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_88 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_89 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_90 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_91 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_92 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_93 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_94 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_95 = arith.constant dense_resource<__elided__> : tensor<320x640x1x1xi8> | |
| %cst_96 = arith.constant dense_resource<__elided__> : tensor<320x40x1x1x1xf16> | |
| %cst_97 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_98 = arith.constant dense_resource<__elided__> : tensor<320x320x3x3xi8> | |
| %cst_99 = arith.constant dense_resource<__elided__> : tensor<320x20x1x3x3xf16> | |
| %cst_100 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_101 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_102 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_103 = arith.constant dense_resource<__elided__> : tensor<320x1280xf16> | |
| %cst_104 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_105 = arith.constant dense_resource<__elided__> : tensor<320x640x3x3xi8> | |
| %cst_106 = arith.constant dense_resource<__elided__> : tensor<320x40x1x3x3xf16> | |
| %cst_107 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_108 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_109 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_110 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_111 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_112 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_113 = arith.constant dense_resource<__elided__> : tensor<320x1280xi8> | |
| %cst_114 = arith.constant dense_resource<__elided__> : tensor<320x80x1xf16> | |
| %cst_115 = arith.constant dense_resource<__elided__> : tensor<2560xf16> | |
| %cst_116 = arith.constant dense_resource<__elided__> : tensor<2560x320xi8> | |
| %cst_117 = arith.constant dense_resource<__elided__> : tensor<2560x20x1xf16> | |
| %cst_118 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_119 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_120 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_121 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_122 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_123 = arith.constant dense_resource<__elided__> : tensor<320x1024xi8> | |
| %cst_124 = arith.constant dense_resource<__elided__> : tensor<320x64x1xf16> | |
| %cst_125 = arith.constant dense_resource<__elided__> : tensor<320x1024xi8> | |
| %cst_126 = arith.constant dense_resource<__elided__> : tensor<320x64x1xf16> | |
| %cst_127 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_128 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_129 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_130 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_131 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_132 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_133 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_134 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_135 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_136 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_137 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_138 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_139 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_140 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_141 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_142 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_143 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_144 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_145 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_146 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_147 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_148 = arith.constant dense_resource<__elided__> : tensor<320x960x1x1xi8> | |
| %cst_149 = arith.constant dense_resource<__elided__> : tensor<320x60x1x1x1xf16> | |
| %cst_150 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_151 = arith.constant dense_resource<__elided__> : tensor<320x320x3x3xi8> | |
| %cst_152 = arith.constant dense_resource<__elided__> : tensor<320x20x1x3x3xf16> | |
| %cst_153 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_154 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_155 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_156 = arith.constant dense_resource<__elided__> : tensor<320x1280xf16> | |
| %cst_157 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_158 = arith.constant dense_resource<__elided__> : tensor<320x960x3x3xi8> | |
| %cst_159 = arith.constant dense_resource<__elided__> : tensor<320x60x1x3x3xf16> | |
| %cst_160 = arith.constant dense_resource<__elided__> : tensor<960xf16> | |
| %cst_161 = arith.constant dense_resource<__elided__> : tensor<960xf16> | |
| %cst_162 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_163 = arith.constant dense_resource<__elided__> : tensor<640x640x3x3xi8> | |
| %cst_164 = arith.constant dense_resource<__elided__> : tensor<640x40x1x3x3xf16> | |
| %cst_165 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_166 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_167 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_168 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_169 = arith.constant dense_resource<__elided__> : tensor<640x2560xi8> | |
| %cst_170 = arith.constant dense_resource<__elided__> : tensor<640x160x1xf16> | |
| %cst_171 = arith.constant dense_resource<__elided__> : tensor<5120xf16> | |
| %cst_172 = arith.constant dense_resource<__elided__> : tensor<5120x640xi8> | |
| %cst_173 = arith.constant dense_resource<__elided__> : tensor<5120x40x1xf16> | |
| %cst_174 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_175 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_176 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_177 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_178 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_179 = arith.constant dense_resource<__elided__> : tensor<640x1024xi8> | |
| %cst_180 = arith.constant dense_resource<__elided__> : tensor<640x64x1xf16> | |
| %cst_181 = arith.constant dense_resource<__elided__> : tensor<640x1024xi8> | |
| %cst_182 = arith.constant dense_resource<__elided__> : tensor<640x64x1xf16> | |
| %cst_183 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_184 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_185 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_186 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_187 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_188 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_189 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_190 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_191 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_192 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_193 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_194 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_195 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_196 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_197 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_198 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_199 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_200 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_201 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_202 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_203 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_204 = arith.constant dense_resource<__elided__> : tensor<640x960x1x1xi8> | |
| %cst_205 = arith.constant dense_resource<__elided__> : tensor<640x60x1x1x1xf16> | |
| %cst_206 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_207 = arith.constant dense_resource<__elided__> : tensor<640x640x3x3xi8> | |
| %cst_208 = arith.constant dense_resource<__elided__> : tensor<640x40x1x3x3xf16> | |
| %cst_209 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_210 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_211 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_212 = arith.constant dense_resource<__elided__> : tensor<640x1280xf16> | |
| %cst_213 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_214 = arith.constant dense_resource<__elided__> : tensor<640x960x3x3xi8> | |
| %cst_215 = arith.constant dense_resource<__elided__> : tensor<640x60x1x3x3xf16> | |
| %cst_216 = arith.constant dense_resource<__elided__> : tensor<960xf16> | |
| %cst_217 = arith.constant dense_resource<__elided__> : tensor<960xf16> | |
| %cst_218 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_219 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_220 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_221 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_222 = arith.constant dense_resource<__elided__> : tensor<640x2560xi8> | |
| %cst_223 = arith.constant dense_resource<__elided__> : tensor<640x160x1xf16> | |
| %cst_224 = arith.constant dense_resource<__elided__> : tensor<5120xf16> | |
| %cst_225 = arith.constant dense_resource<__elided__> : tensor<5120x640xi8> | |
| %cst_226 = arith.constant dense_resource<__elided__> : tensor<5120x40x1xf16> | |
| %cst_227 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_228 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_229 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_230 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_231 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_232 = arith.constant dense_resource<__elided__> : tensor<640x1024xi8> | |
| %cst_233 = arith.constant dense_resource<__elided__> : tensor<640x64x1xf16> | |
| %cst_234 = arith.constant dense_resource<__elided__> : tensor<640x1024xi8> | |
| %cst_235 = arith.constant dense_resource<__elided__> : tensor<640x64x1xf16> | |
| %cst_236 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_237 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_238 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_239 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_240 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_241 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_242 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_243 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_244 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_245 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_246 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_247 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_248 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_249 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_250 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_251 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_252 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_253 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_254 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_255 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_256 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_257 = arith.constant dense_resource<__elided__> : tensor<640x1280x1x1xi8> | |
| %cst_258 = arith.constant dense_resource<__elided__> : tensor<640x80x1x1x1xf16> | |
| %cst_259 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_260 = arith.constant dense_resource<__elided__> : tensor<640x640x3x3xi8> | |
| %cst_261 = arith.constant dense_resource<__elided__> : tensor<640x40x1x3x3xf16> | |
| %cst_262 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_263 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_264 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_265 = arith.constant dense_resource<__elided__> : tensor<640x1280xf16> | |
| %cst_266 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_267 = arith.constant dense_resource<__elided__> : tensor<640x1280x3x3xi8> | |
| %cst_268 = arith.constant dense_resource<__elided__> : tensor<640x80x1x3x3xf16> | |
| %cst_269 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_270 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_271 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_272 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_273 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_274 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_275 = arith.constant dense_resource<__elided__> : tensor<640x2560xi8> | |
| %cst_276 = arith.constant dense_resource<__elided__> : tensor<640x160x1xf16> | |
| %cst_277 = arith.constant dense_resource<__elided__> : tensor<5120xf16> | |
| %cst_278 = arith.constant dense_resource<__elided__> : tensor<5120x640xi8> | |
| %cst_279 = arith.constant dense_resource<__elided__> : tensor<5120x40x1xf16> | |
| %cst_280 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_281 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_282 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_283 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_284 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_285 = arith.constant dense_resource<__elided__> : tensor<640x1024xi8> | |
| %cst_286 = arith.constant dense_resource<__elided__> : tensor<640x64x1xf16> | |
| %cst_287 = arith.constant dense_resource<__elided__> : tensor<640x1024xi8> | |
| %cst_288 = arith.constant dense_resource<__elided__> : tensor<640x64x1xf16> | |
| %cst_289 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_290 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_291 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_292 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_293 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_294 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_295 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_296 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_297 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_298 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_299 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_300 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_301 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_302 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_303 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_304 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_305 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_306 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_307 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_308 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_309 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_310 = arith.constant dense_resource<__elided__> : tensor<640x1920x1x1xi8> | |
| %cst_311 = arith.constant dense_resource<__elided__> : tensor<640x120x1x1x1xf16> | |
| %cst_312 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_313 = arith.constant dense_resource<__elided__> : tensor<640x640x3x3xi8> | |
| %cst_314 = arith.constant dense_resource<__elided__> : tensor<640x40x1x3x3xf16> | |
| %cst_315 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_316 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_317 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_318 = arith.constant dense_resource<__elided__> : tensor<640x1280xf16> | |
| %cst_319 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_320 = arith.constant dense_resource<__elided__> : tensor<640x1920x3x3xi8> | |
| %cst_321 = arith.constant dense_resource<__elided__> : tensor<640x120x1x3x3xf16> | |
| %cst_322 = arith.constant dense_resource<__elided__> : tensor<1920xf16> | |
| %cst_323 = arith.constant dense_resource<__elided__> : tensor<1920xf16> | |
| %cst_324 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_325 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8> | |
| %cst_326 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16> | |
| %cst_327 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_328 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_329 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_330 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_331 = arith.constant dense_resource<__elided__> : tensor<1280x5120xi8> | |
| %cst_332 = arith.constant dense_resource<__elided__> : tensor<1280x320x1xf16> | |
| %cst_333 = arith.constant dense_resource<__elided__> : tensor<10240xf16> | |
| %cst_334 = arith.constant dense_resource<__elided__> : tensor<10240x1280xi8> | |
| %cst_335 = arith.constant dense_resource<__elided__> : tensor<10240x80x1xf16> | |
| %cst_336 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_337 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_338 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_339 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_340 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_341 = arith.constant dense_resource<__elided__> : tensor<1280x1024xi8> | |
| %cst_342 = arith.constant dense_resource<__elided__> : tensor<1280x64x1xf16> | |
| %cst_343 = arith.constant dense_resource<__elided__> : tensor<1280x1024xi8> | |
| %cst_344 = arith.constant dense_resource<__elided__> : tensor<1280x64x1xf16> | |
| %cst_345 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_346 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_347 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_348 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_349 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_350 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_351 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_352 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_353 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_354 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_355 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_356 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_357 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_358 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_359 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_360 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_361 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_362 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_363 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_364 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_365 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_366 = arith.constant dense_resource<__elided__> : tensor<1280x1920x1x1xi8> | |
| %cst_367 = arith.constant dense_resource<__elided__> : tensor<1280x120x1x1x1xf16> | |
| %cst_368 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_369 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8> | |
| %cst_370 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16> | |
| %cst_371 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_372 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_373 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_374 = arith.constant dense_resource<__elided__> : tensor<1280x1280xf16> | |
| %cst_375 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_376 = arith.constant dense_resource<__elided__> : tensor<1280x1920x3x3xi8> | |
| %cst_377 = arith.constant dense_resource<__elided__> : tensor<1280x120x1x3x3xf16> | |
| %cst_378 = arith.constant dense_resource<__elided__> : tensor<1920xf16> | |
| %cst_379 = arith.constant dense_resource<__elided__> : tensor<1920xf16> | |
| %cst_380 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_381 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_382 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_383 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_384 = arith.constant dense_resource<__elided__> : tensor<1280x5120xi8> | |
| %cst_385 = arith.constant dense_resource<__elided__> : tensor<1280x320x1xf16> | |
| %cst_386 = arith.constant dense_resource<__elided__> : tensor<10240xf16> | |
| %cst_387 = arith.constant dense_resource<__elided__> : tensor<10240x1280xi8> | |
| %cst_388 = arith.constant dense_resource<__elided__> : tensor<10240x80x1xf16> | |
| %cst_389 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_390 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_391 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_392 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_393 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_394 = arith.constant dense_resource<__elided__> : tensor<1280x1024xi8> | |
| %cst_395 = arith.constant dense_resource<__elided__> : tensor<1280x64x1xf16> | |
| %cst_396 = arith.constant dense_resource<__elided__> : tensor<1280x1024xi8> | |
| %cst_397 = arith.constant dense_resource<__elided__> : tensor<1280x64x1xf16> | |
| %cst_398 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_399 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_400 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_401 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_402 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_403 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_404 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_405 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_406 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_407 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_408 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_409 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_410 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_411 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_412 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_413 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_414 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_415 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_416 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_417 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_418 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_419 = arith.constant dense_resource<__elided__> : tensor<1280x2560x1x1xi8> | |
| %cst_420 = arith.constant dense_resource<__elided__> : tensor<1280x160x1x1x1xf16> | |
| %cst_421 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_422 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8> | |
| %cst_423 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16> | |
| %cst_424 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_425 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_426 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_427 = arith.constant dense_resource<__elided__> : tensor<1280x1280xf16> | |
| %cst_428 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_429 = arith.constant dense_resource<__elided__> : tensor<1280x2560x3x3xi8> | |
| %cst_430 = arith.constant dense_resource<__elided__> : tensor<1280x160x1x3x3xf16> | |
| %cst_431 = arith.constant dense_resource<__elided__> : tensor<2560xf16> | |
| %cst_432 = arith.constant dense_resource<__elided__> : tensor<2560xf16> | |
| %cst_433 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_434 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_435 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_436 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_437 = arith.constant dense_resource<__elided__> : tensor<1280x5120xi8> | |
| %cst_438 = arith.constant dense_resource<__elided__> : tensor<1280x320x1xf16> | |
| %cst_439 = arith.constant dense_resource<__elided__> : tensor<10240xf16> | |
| %cst_440 = arith.constant dense_resource<__elided__> : tensor<10240x1280xi8> | |
| %cst_441 = arith.constant dense_resource<__elided__> : tensor<10240x80x1xf16> | |
| %cst_442 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_443 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_444 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_445 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_446 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_447 = arith.constant dense_resource<__elided__> : tensor<1280x1024xi8> | |
| %cst_448 = arith.constant dense_resource<__elided__> : tensor<1280x64x1xf16> | |
| %cst_449 = arith.constant dense_resource<__elided__> : tensor<1280x1024xi8> | |
| %cst_450 = arith.constant dense_resource<__elided__> : tensor<1280x64x1xf16> | |
| %cst_451 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_452 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_453 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_454 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_455 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_456 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_457 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_458 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_459 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_460 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_461 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_462 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_463 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_464 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_465 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_466 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_467 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_468 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_469 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_470 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_471 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_472 = arith.constant dense_resource<__elided__> : tensor<1280x2560x1x1xi8> | |
| %cst_473 = arith.constant dense_resource<__elided__> : tensor<1280x160x1x1x1xf16> | |
| %cst_474 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_475 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8> | |
| %cst_476 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16> | |
| %cst_477 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_478 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_479 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_480 = arith.constant dense_resource<__elided__> : tensor<1280x1280xf16> | |
| %cst_481 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_482 = arith.constant dense_resource<__elided__> : tensor<1280x2560x3x3xi8> | |
| %cst_483 = arith.constant dense_resource<__elided__> : tensor<1280x160x1x3x3xf16> | |
| %cst_484 = arith.constant dense_resource<__elided__> : tensor<2560xf16> | |
| %cst_485 = arith.constant dense_resource<__elided__> : tensor<2560xf16> | |
| %cst_486 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_487 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8> | |
| %cst_488 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16> | |
| %cst_489 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_490 = arith.constant dense_resource<__elided__> : tensor<1280x2560x1x1xi8> | |
| %cst_491 = arith.constant dense_resource<__elided__> : tensor<1280x160x1x1x1xf16> | |
| %cst_492 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_493 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8> | |
| %cst_494 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16> | |
| %cst_495 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_496 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_497 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_498 = arith.constant dense_resource<__elided__> : tensor<1280x1280xf16> | |
| %cst_499 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_500 = arith.constant dense_resource<__elided__> : tensor<1280x2560x3x3xi8> | |
| %cst_501 = arith.constant dense_resource<__elided__> : tensor<1280x160x1x3x3xf16> | |
| %cst_502 = arith.constant dense_resource<__elided__> : tensor<2560xf16> | |
| %cst_503 = arith.constant dense_resource<__elided__> : tensor<2560xf16> | |
| %cst_504 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_505 = arith.constant dense_resource<__elided__> : tensor<1280x2560x1x1xi8> | |
| %cst_506 = arith.constant dense_resource<__elided__> : tensor<1280x160x1x1x1xf16> | |
| %cst_507 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_508 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8> | |
| %cst_509 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16> | |
| %cst_510 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_511 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_512 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_513 = arith.constant dense_resource<__elided__> : tensor<1280x1280xf16> | |
| %cst_514 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_515 = arith.constant dense_resource<__elided__> : tensor<1280x2560x3x3xi8> | |
| %cst_516 = arith.constant dense_resource<__elided__> : tensor<1280x160x1x3x3xf16> | |
| %cst_517 = arith.constant dense_resource<__elided__> : tensor<2560xf16> | |
| %cst_518 = arith.constant dense_resource<__elided__> : tensor<2560xf16> | |
| %cst_519 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_520 = arith.constant dense_resource<__elided__> : tensor<1280x2560x1x1xi8> | |
| %cst_521 = arith.constant dense_resource<__elided__> : tensor<1280x160x1x1x1xf16> | |
| %cst_522 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_523 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8> | |
| %cst_524 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16> | |
| %cst_525 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_526 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_527 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_528 = arith.constant dense_resource<__elided__> : tensor<1280x1280xf16> | |
| %cst_529 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_530 = arith.constant dense_resource<__elided__> : tensor<1280x2560x3x3xi8> | |
| %cst_531 = arith.constant dense_resource<__elided__> : tensor<1280x160x1x3x3xf16> | |
| %cst_532 = arith.constant dense_resource<__elided__> : tensor<2560xf16> | |
| %cst_533 = arith.constant dense_resource<__elided__> : tensor<2560xf16> | |
| %cst_534 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_535 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8> | |
| %cst_536 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16> | |
| %cst_537 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_538 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_539 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_540 = arith.constant dense_resource<__elided__> : tensor<1280x1280xf16> | |
| %cst_541 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_542 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8> | |
| %cst_543 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16> | |
| %cst_544 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_545 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_546 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_547 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_548 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_549 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_550 = arith.constant dense_resource<__elided__> : tensor<1280x5120xi8> | |
| %cst_551 = arith.constant dense_resource<__elided__> : tensor<1280x320x1xf16> | |
| %cst_552 = arith.constant dense_resource<__elided__> : tensor<10240xf16> | |
| %cst_553 = arith.constant dense_resource<__elided__> : tensor<10240x1280xi8> | |
| %cst_554 = arith.constant dense_resource<__elided__> : tensor<10240x80x1xf16> | |
| %cst_555 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_556 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_557 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_558 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_559 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_560 = arith.constant dense_resource<__elided__> : tensor<1280x1024xi8> | |
| %cst_561 = arith.constant dense_resource<__elided__> : tensor<1280x64x1xf16> | |
| %cst_562 = arith.constant dense_resource<__elided__> : tensor<1280x1024xi8> | |
| %cst_563 = arith.constant dense_resource<__elided__> : tensor<1280x64x1xf16> | |
| %cst_564 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_565 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_566 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_567 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_568 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_569 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_570 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_571 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_572 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_573 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_574 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_575 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_576 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_577 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_578 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_579 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_580 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_581 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_582 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_583 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_584 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_585 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8> | |
| %cst_586 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16> | |
| %cst_587 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_588 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_589 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_590 = arith.constant dense_resource<__elided__> : tensor<1280x1280xf16> | |
| %cst_591 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_592 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8> | |
| %cst_593 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16> | |
| %cst_594 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_595 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_596 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_597 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8> | |
| %cst_598 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16> | |
| %cst_599 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_600 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_601 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_602 = arith.constant dense_resource<__elided__> : tensor<1280x1280xf16> | |
| %cst_603 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_604 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8> | |
| %cst_605 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16> | |
| %cst_606 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_607 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_608 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_609 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8> | |
| %cst_610 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16> | |
| %cst_611 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_612 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_613 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_614 = arith.constant dense_resource<__elided__> : tensor<1280x1280xf16> | |
| %cst_615 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_616 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8> | |
| %cst_617 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16> | |
| %cst_618 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_619 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_620 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_621 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8> | |
| %cst_622 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16> | |
| %cst_623 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_624 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_625 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_626 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_627 = arith.constant dense_resource<__elided__> : tensor<1280x5120xi8> | |
| %cst_628 = arith.constant dense_resource<__elided__> : tensor<1280x320x1xf16> | |
| %cst_629 = arith.constant dense_resource<__elided__> : tensor<10240xf16> | |
| %cst_630 = arith.constant dense_resource<__elided__> : tensor<10240x1280xi8> | |
| %cst_631 = arith.constant dense_resource<__elided__> : tensor<10240x80x1xf16> | |
| %cst_632 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_633 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_634 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_635 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_636 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_637 = arith.constant dense_resource<__elided__> : tensor<1280x1024xi8> | |
| %cst_638 = arith.constant dense_resource<__elided__> : tensor<1280x64x1xf16> | |
| %cst_639 = arith.constant dense_resource<__elided__> : tensor<1280x1024xi8> | |
| %cst_640 = arith.constant dense_resource<__elided__> : tensor<1280x64x1xf16> | |
| %cst_641 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_642 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_643 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_644 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_645 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_646 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_647 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_648 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_649 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_650 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_651 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_652 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_653 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_654 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_655 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_656 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_657 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_658 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_659 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_660 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_661 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_662 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8> | |
| %cst_663 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16> | |
| %cst_664 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_665 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_666 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_667 = arith.constant dense_resource<__elided__> : tensor<1280x1280xf16> | |
| %cst_668 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_669 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8> | |
| %cst_670 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16> | |
| %cst_671 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_672 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_673 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_674 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_675 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_676 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_677 = arith.constant dense_resource<__elided__> : tensor<1280x5120xi8> | |
| %cst_678 = arith.constant dense_resource<__elided__> : tensor<1280x320x1xf16> | |
| %cst_679 = arith.constant dense_resource<__elided__> : tensor<10240xf16> | |
| %cst_680 = arith.constant dense_resource<__elided__> : tensor<10240x1280xi8> | |
| %cst_681 = arith.constant dense_resource<__elided__> : tensor<10240x80x1xf16> | |
| %cst_682 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_683 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_684 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_685 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_686 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_687 = arith.constant dense_resource<__elided__> : tensor<1280x1024xi8> | |
| %cst_688 = arith.constant dense_resource<__elided__> : tensor<1280x64x1xf16> | |
| %cst_689 = arith.constant dense_resource<__elided__> : tensor<1280x1024xi8> | |
| %cst_690 = arith.constant dense_resource<__elided__> : tensor<1280x64x1xf16> | |
| %cst_691 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_692 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_693 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_694 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_695 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_696 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_697 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_698 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_699 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_700 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_701 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_702 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_703 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_704 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_705 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_706 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_707 = arith.constant dense_resource<__elided__> : tensor<1280x1280xi8> | |
| %cst_708 = arith.constant dense_resource<__elided__> : tensor<1280x80x1xf16> | |
| %cst_709 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_710 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_711 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_712 = arith.constant dense_resource<__elided__> : tensor<1280x640x1x1xi8> | |
| %cst_713 = arith.constant dense_resource<__elided__> : tensor<1280x40x1x1x1xf16> | |
| %cst_714 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_715 = arith.constant dense_resource<__elided__> : tensor<1280x1280x3x3xi8> | |
| %cst_716 = arith.constant dense_resource<__elided__> : tensor<1280x80x1x3x3xf16> | |
| %cst_717 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_718 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_719 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_720 = arith.constant dense_resource<__elided__> : tensor<1280x1280xf16> | |
| %cst_721 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_722 = arith.constant dense_resource<__elided__> : tensor<1280x640x3x3xi8> | |
| %cst_723 = arith.constant dense_resource<__elided__> : tensor<1280x40x1x3x3xf16> | |
| %cst_724 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_725 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_726 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_727 = arith.constant dense_resource<__elided__> : tensor<640x640x3x3xi8> | |
| %cst_728 = arith.constant dense_resource<__elided__> : tensor<640x40x1x3x3xf16> | |
| %cst_729 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_730 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_731 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_732 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_733 = arith.constant dense_resource<__elided__> : tensor<640x2560xi8> | |
| %cst_734 = arith.constant dense_resource<__elided__> : tensor<640x160x1xf16> | |
| %cst_735 = arith.constant dense_resource<__elided__> : tensor<5120xf16> | |
| %cst_736 = arith.constant dense_resource<__elided__> : tensor<5120x640xi8> | |
| %cst_737 = arith.constant dense_resource<__elided__> : tensor<5120x40x1xf16> | |
| %cst_738 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_739 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_740 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_741 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_742 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_743 = arith.constant dense_resource<__elided__> : tensor<640x1024xi8> | |
| %cst_744 = arith.constant dense_resource<__elided__> : tensor<640x64x1xf16> | |
| %cst_745 = arith.constant dense_resource<__elided__> : tensor<640x1024xi8> | |
| %cst_746 = arith.constant dense_resource<__elided__> : tensor<640x64x1xf16> | |
| %cst_747 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_748 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_749 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_750 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_751 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_752 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_753 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_754 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_755 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_756 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_757 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_758 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_759 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_760 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_761 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_762 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_763 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_764 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_765 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_766 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_767 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_768 = arith.constant dense_resource<__elided__> : tensor<640x640x3x3xi8> | |
| %cst_769 = arith.constant dense_resource<__elided__> : tensor<640x40x1x3x3xf16> | |
| %cst_770 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_771 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_772 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_773 = arith.constant dense_resource<__elided__> : tensor<640x1280xf16> | |
| %cst_774 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_775 = arith.constant dense_resource<__elided__> : tensor<640x640x3x3xi8> | |
| %cst_776 = arith.constant dense_resource<__elided__> : tensor<640x40x1x3x3xf16> | |
| %cst_777 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_778 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_779 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_780 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_781 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_782 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_783 = arith.constant dense_resource<__elided__> : tensor<640x2560xi8> | |
| %cst_784 = arith.constant dense_resource<__elided__> : tensor<640x160x1xf16> | |
| %cst_785 = arith.constant dense_resource<__elided__> : tensor<5120xf16> | |
| %cst_786 = arith.constant dense_resource<__elided__> : tensor<5120x640xi8> | |
| %cst_787 = arith.constant dense_resource<__elided__> : tensor<5120x40x1xf16> | |
| %cst_788 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_789 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_790 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_791 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_792 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_793 = arith.constant dense_resource<__elided__> : tensor<640x1024xi8> | |
| %cst_794 = arith.constant dense_resource<__elided__> : tensor<640x64x1xf16> | |
| %cst_795 = arith.constant dense_resource<__elided__> : tensor<640x1024xi8> | |
| %cst_796 = arith.constant dense_resource<__elided__> : tensor<640x64x1xf16> | |
| %cst_797 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_798 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_799 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_800 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_801 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_802 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_803 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_804 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_805 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_806 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_807 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_808 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_809 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_810 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_811 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_812 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_813 = arith.constant dense_resource<__elided__> : tensor<640x640xi8> | |
| %cst_814 = arith.constant dense_resource<__elided__> : tensor<640x40x1xf16> | |
| %cst_815 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_816 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_817 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_818 = arith.constant dense_resource<__elided__> : tensor<640x320x1x1xi8> | |
| %cst_819 = arith.constant dense_resource<__elided__> : tensor<640x20x1x1x1xf16> | |
| %cst_820 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_821 = arith.constant dense_resource<__elided__> : tensor<640x640x3x3xi8> | |
| %cst_822 = arith.constant dense_resource<__elided__> : tensor<640x40x1x3x3xf16> | |
| %cst_823 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_824 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_825 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_826 = arith.constant dense_resource<__elided__> : tensor<640x1280xf16> | |
| %cst_827 = arith.constant dense_resource<__elided__> : tensor<640xf16> | |
| %cst_828 = arith.constant dense_resource<__elided__> : tensor<640x320x3x3xi8> | |
| %cst_829 = arith.constant dense_resource<__elided__> : tensor<640x20x1x3x3xf16> | |
| %cst_830 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_831 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_832 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_833 = arith.constant dense_resource<__elided__> : tensor<320x320x3x3xi8> | |
| %cst_834 = arith.constant dense_resource<__elided__> : tensor<320x20x1x3x3xf16> | |
| %cst_835 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_836 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_837 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_838 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_839 = arith.constant dense_resource<__elided__> : tensor<320x1280xi8> | |
| %cst_840 = arith.constant dense_resource<__elided__> : tensor<320x80x1xf16> | |
| %cst_841 = arith.constant dense_resource<__elided__> : tensor<2560xf16> | |
| %cst_842 = arith.constant dense_resource<__elided__> : tensor<2560x320xi8> | |
| %cst_843 = arith.constant dense_resource<__elided__> : tensor<2560x20x1xf16> | |
| %cst_844 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_845 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_846 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_847 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_848 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_849 = arith.constant dense_resource<__elided__> : tensor<320x1024xi8> | |
| %cst_850 = arith.constant dense_resource<__elided__> : tensor<320x64x1xf16> | |
| %cst_851 = arith.constant dense_resource<__elided__> : tensor<320x1024xi8> | |
| %cst_852 = arith.constant dense_resource<__elided__> : tensor<320x64x1xf16> | |
| %cst_853 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_854 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_855 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_856 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_857 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_858 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_859 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_860 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_861 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_862 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_863 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_864 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_865 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_866 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_867 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_868 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_869 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_870 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_871 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_872 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_873 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_874 = arith.constant dense_resource<__elided__> : tensor<320x320x3x3xi8> | |
| %cst_875 = arith.constant dense_resource<__elided__> : tensor<320x20x1x3x3xf16> | |
| %cst_876 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_877 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_878 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_879 = arith.constant dense_resource<__elided__> : tensor<320x1280xf16> | |
| %cst_880 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_881 = arith.constant dense_resource<__elided__> : tensor<320x320x3x3xi8> | |
| %cst_882 = arith.constant dense_resource<__elided__> : tensor<320x20x1x3x3xf16> | |
| %cst_883 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_884 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_885 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_886 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_887 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_888 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_889 = arith.constant dense_resource<__elided__> : tensor<320x1280xi8> | |
| %cst_890 = arith.constant dense_resource<__elided__> : tensor<320x80x1xf16> | |
| %cst_891 = arith.constant dense_resource<__elided__> : tensor<2560xf16> | |
| %cst_892 = arith.constant dense_resource<__elided__> : tensor<2560x320xi8> | |
| %cst_893 = arith.constant dense_resource<__elided__> : tensor<2560x20x1xf16> | |
| %cst_894 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_895 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_896 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_897 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_898 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_899 = arith.constant dense_resource<__elided__> : tensor<320x1024xi8> | |
| %cst_900 = arith.constant dense_resource<__elided__> : tensor<320x64x1xf16> | |
| %cst_901 = arith.constant dense_resource<__elided__> : tensor<320x1024xi8> | |
| %cst_902 = arith.constant dense_resource<__elided__> : tensor<320x64x1xf16> | |
| %cst_903 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_904 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_905 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_906 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_907 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_908 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_909 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_910 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_911 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_912 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_913 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_914 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_915 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_916 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_917 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_918 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_919 = arith.constant dense_resource<__elided__> : tensor<320x320xi8> | |
| %cst_920 = arith.constant dense_resource<__elided__> : tensor<320x20x1xf16> | |
| %cst_921 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_922 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_923 = arith.constant dense<1.013280e-06> : tensor<f16> | |
| %cst_924 = arith.constant dense<1.000000e+00> : tensor<f16> | |
| %cst_925 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_926 = arith.constant dense_resource<__elided__> : tensor<320x320x3x3xi8> | |
| %cst_927 = arith.constant dense_resource<__elided__> : tensor<320x20x1x3x3xf16> | |
| %cst_928 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_929 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_930 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_931 = arith.constant dense_resource<__elided__> : tensor<320x1280xf16> | |
| %cst_932 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_933 = arith.constant dense_resource<__elided__> : tensor<320x320x3x3xi8> | |
| %cst_934 = arith.constant dense_resource<__elided__> : tensor<320x20x1x3x3xf16> | |
| %cst_935 = arith.constant dense<0.000000e+00> : tensor<f16> | |
| %cst_936 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_937 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_938 = arith.constant dense<1.001360e-05> : tensor<f16> | |
| %cst_939 = arith.constant dense_resource<__elided__> : tensor<320xf16> | |
| %cst_940 = arith.constant dense_resource<__elided__> : tensor<320x4x3x3xf16> | |
| %cst_941 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_942 = arith.constant dense_resource<__elided__> : tensor<1280x1280xf16> | |
| %cst_943 = arith.constant dense_resource<__elided__> : tensor<1280xf16> | |
| %cst_944 = arith.constant dense_resource<__elided__> : tensor<1280x320xf16> | |
| %cst_945 = arith.constant dense<-9.210930e+00> : tensor<f16> | |
| %cst_946 = arith.constant 0.000000e+00 : f16 | |
| %cst_947 = arith.constant 1.000000e+00 : f16 | |
| %cst_948 = arith.constant -6.550400e+04 : f16 | |
| %cst_949 = arith.constant 2.000000e+00 : f16 | |
| %cst_950 = arith.constant 5.000000e-01 : f16 | |
| %cst_951 = arith.constant 0.000000e+00 : f64 | |
| %cst_952 = arith.constant 0.000000e+00 : f32 | |
| %cst_953 = arith.constant 1.600000e+02 : f32 | |
| %cst_954 = arith.constant 4.096000e+04 : f64 | |
| %cst_955 = arith.constant 4.096000e+04 : f32 | |
| %cst_956 = arith.constant 1.280000e+02 : f16 | |
| %cst_957 = arith.constant -1.280000e+02 : f16 | |
| %cst_958 = arith.constant 1.270000e+02 : f16 | |
| %cst_959 = arith.constant 3.200000e+02 : f64 | |
| %cst_960 = arith.constant 3.200000e+02 : f32 | |
| %cst_961 = arith.constant 1.250000e-01 : f16 | |
| %cst_962 = arith.constant 1.024000e+04 : f64 | |
| %cst_963 = arith.constant 1.024000e+04 : f32 | |
| %cst_964 = arith.constant 2.048000e+04 : f64 | |
| %cst_965 = arith.constant 2.048000e+04 : f32 | |
| %cst_966 = arith.constant 6.400000e+02 : f64 | |
| %cst_967 = arith.constant 6.400000e+02 : f32 | |
| %cst_968 = arith.constant 5.120000e+03 : f64 | |
| %cst_969 = arith.constant 5.120000e+03 : f32 | |
| %cst_970 = arith.constant 1.280000e+03 : f64 | |
| %cst_971 = arith.constant 1.280000e+03 : f32 | |
| %cst_972 = arith.constant 2.560000e+03 : f64 | |
| %cst_973 = arith.constant 2.560000e+03 : f32 | |
| %cst_974 = arith.constant 1.536000e+04 : f64 | |
| %cst_975 = arith.constant 1.536000e+04 : f32 | |
| %cst_976 = arith.constant 6.144000e+04 : f64 | |
| %cst_977 = arith.constant 6.144000e+04 : f32 | |
| %cst_978 = arith.constant 3.072000e+04 : f64 | |
| %cst_979 = arith.constant 3.072000e+04 : f32 | |
| %cst_980 = arith.constant 1.228800e+05 : f64 | |
| %cst_981 = arith.constant 1.228800e+05 : f32 | |
| %cst_982 = arith.constant 8.192000e+04 : f64 | |
| %cst_983 = arith.constant 8.192000e+04 : f32 | |
| %c0_i64 = arith.constant 0 : i64 | |
| %c0 = arith.constant 0 : index | |
| %c1 = arith.constant 1 : index | |
| %c2 = arith.constant 2 : index | |
| %0 = tensor.empty() : tensor<1x4x64x64xf16> | |
| %1 = linalg.generic {indexing_maps = [#map, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%arg0 : tensor<1x4x64x64xf16>) outs(%0 : tensor<1x4x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1x4x64x64xf16> | |
| %2 = tensor.empty() : tensor<2x4x64x64xf16> | |
| %inserted_slice = tensor.insert_slice %1 into %2[0, 0, 0, 0] [1, 4, 64, 64] [1, 1, 1, 1] : tensor<1x4x64x64xf16> into tensor<2x4x64x64xf16> | |
| %inserted_slice_984 = tensor.insert_slice %1 into %inserted_slice[1, 0, 0, 0] [1, 4, 64, 64] [1, 1, 1, 1] : tensor<1x4x64x64xf16> into tensor<2x4x64x64xf16> | |
| %3 = tensor.empty() : tensor<2xf32> | |
| %4 = linalg.generic {indexing_maps = [#map2, #map3], iterator_types = ["parallel"]} ins(%arg1 : tensor<1xf32>) outs(%3 : tensor<2xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<2xf32> | |
| %5 = tensor.empty() : tensor<160xf32> | |
| %6 = linalg.generic {indexing_maps = [#map3], iterator_types = ["parallel"]} outs(%5 : tensor<160xf32>) { | |
| ^bb0(%out: f32): | |
| %6234 = linalg.index 0 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.sitofp %6235 : i64 to f32 | |
| %6237 = arith.addf %6236, %cst_952 : f32 | |
| linalg.yield %6237 : f32 | |
| } -> tensor<160xf32> | |
| %7 = linalg.generic {indexing_maps = [#map3, #map4, #map3], iterator_types = ["parallel"]} ins(%6, %cst_945 : tensor<160xf32>, tensor<f16>) outs(%5 : tensor<160xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<160xf32> | |
| %8 = linalg.generic {indexing_maps = [#map3, #map3], iterator_types = ["parallel"]} ins(%7 : tensor<160xf32>) outs(%5 : tensor<160xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_953 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<160xf32> | |
| %9 = linalg.generic {indexing_maps = [#map3, #map3], iterator_types = ["parallel"]} ins(%8 : tensor<160xf32>) outs(%5 : tensor<160xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.exp %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<160xf32> | |
| %expanded = tensor.expand_shape %4 [[0, 1]] : tensor<2xf32> into tensor<2x1xf32> | |
| %expanded_985 = tensor.expand_shape %9 [[0, 1]] : tensor<160xf32> into tensor<1x160xf32> | |
| %10 = tensor.empty() : tensor<2x160xf32> | |
| %11 = linalg.generic {indexing_maps = [#map5, #map6, #map7], iterator_types = ["parallel", "parallel"]} ins(%expanded, %expanded_985 : tensor<2x1xf32>, tensor<1x160xf32>) outs(%10 : tensor<2x160xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x160xf32> | |
| %12 = linalg.generic {indexing_maps = [#map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%11 : tensor<2x160xf32>) outs(%10 : tensor<2x160xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.sin %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x160xf32> | |
| %13 = linalg.generic {indexing_maps = [#map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%11 : tensor<2x160xf32>) outs(%10 : tensor<2x160xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.cos %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x160xf32> | |
| %14 = tensor.empty() : tensor<2x320xf32> | |
| %inserted_slice_986 = tensor.insert_slice %12 into %14[0, 0] [2, 160] [1, 1] : tensor<2x160xf32> into tensor<2x320xf32> | |
| %inserted_slice_987 = tensor.insert_slice %13 into %inserted_slice_986[0, 160] [2, 160] [1, 1] : tensor<2x160xf32> into tensor<2x320xf32> | |
| %extracted_slice = tensor.extract_slice %inserted_slice_987[0, 0] [2, 160] [1, 1] : tensor<2x320xf32> to tensor<2x160xf32> | |
| %inserted_slice_988 = tensor.insert_slice %13 into %14[0, 0] [2, 160] [1, 1] : tensor<2x160xf32> into tensor<2x320xf32> | |
| %inserted_slice_989 = tensor.insert_slice %extracted_slice into %inserted_slice_988[0, 160] [2, 160] [1, 1] : tensor<2x160xf32> into tensor<2x320xf32> | |
| %15 = tensor.empty() : tensor<2x320xf16> | |
| %16 = linalg.generic {indexing_maps = [#map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%inserted_slice_989 : tensor<2x320xf32>) outs(%15 : tensor<2x320xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320xf16> | |
| %17 = tensor.empty() : tensor<320x1280xf16> | |
| %18 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%cst_944 : tensor<1280x320xf16>) outs(%17 : tensor<320x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x1280xf16> | |
| %19 = tensor.empty() : tensor<2x1280xf16> | |
| %20 = linalg.fill ins(%cst_946 : f16) outs(%19 : tensor<2x1280xf16>) -> tensor<2x1280xf16> | |
| %21 = linalg.matmul ins(%16, %18 : tensor<2x320xf16>, tensor<320x1280xf16>) outs(%20 : tensor<2x1280xf16>) -> tensor<2x1280xf16> | |
| %22 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_943, %21 : tensor<1280xf16>, tensor<2x1280xf16>) outs(%19 : tensor<2x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280xf16> | |
| %23 = linalg.generic {indexing_maps = [#map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%22 : tensor<2x1280xf16>) outs(%19 : tensor<2x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.negf %in : f16 | |
| %6235 = math.exp %6234 : f16 | |
| %6236 = arith.addf %6235, %cst_947 : f16 | |
| %6237 = arith.divf %cst_947, %6236 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1280xf16> | |
| %24 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%23, %22 : tensor<2x1280xf16>, tensor<2x1280xf16>) outs(%19 : tensor<2x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280xf16> | |
| %25 = tensor.empty() : tensor<1280x1280xf16> | |
| %26 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%cst_942 : tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x1280xf16> | |
| %27 = linalg.matmul ins(%24, %26 : tensor<2x1280xf16>, tensor<1280x1280xf16>) outs(%20 : tensor<2x1280xf16>) -> tensor<2x1280xf16> | |
| %28 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_941, %27 : tensor<1280xf16>, tensor<2x1280xf16>) outs(%19 : tensor<2x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280xf16> | |
| %padded = tensor.pad %inserted_slice_984 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg4: index, %arg5: index, %arg6: index, %arg7: index): | |
| tensor.yield %cst_946 : f16 | |
| } : tensor<2x4x64x64xf16> to tensor<2x4x66x66xf16> | |
| %29 = tensor.empty() : tensor<2x320x64x64xf16> | |
| %30 = linalg.generic {indexing_maps = [#map10, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_939 : tensor<320xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %31 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded, %cst_940 : tensor<2x4x66x66xf16>, tensor<320x4x3x3xf16>) outs(%30 : tensor<2x320x64x64xf16>) -> tensor<2x320x64x64xf16> | |
| %collapsed = tensor.collapse_shape %31 [[0], [1], [2, 3]] : tensor<2x320x64x64xf16> into tensor<2x320x4096xf16> | |
| %expanded_990 = tensor.expand_shape %collapsed [[0], [1, 2], [3]] : tensor<2x320x4096xf16> into tensor<2x32x10x4096xf16> | |
| %32 = tensor.empty() : tensor<2x32x10x4096xf32> | |
| %33 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_990 : tensor<2x32x10x4096xf16>) outs(%32 : tensor<2x32x10x4096xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x10x4096xf32> | |
| %34 = tensor.empty() : tensor<2x32x10x4096xf64> | |
| %35 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%33 : tensor<2x32x10x4096xf32>) outs(%34 : tensor<2x32x10x4096xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x10x4096xf64> | |
| %36 = tensor.empty() : tensor<2x32x1x1xf64> | |
| %37 = linalg.fill ins(%cst_951 : f64) outs(%36 : tensor<2x32x1x1xf64>) -> tensor<2x32x1x1xf64> | |
| %38 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%35 : tensor<2x32x10x4096xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %39 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%38 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_954 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %40 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%35, %39 : tensor<2x32x10x4096xf64>, tensor<2x32x1x1xf64>) outs(%34 : tensor<2x32x10x4096xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x10x4096xf64> | |
| %41 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%40, %40 : tensor<2x32x10x4096xf64>, tensor<2x32x10x4096xf64>) outs(%34 : tensor<2x32x10x4096xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x10x4096xf64> | |
| %42 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%41 : tensor<2x32x10x4096xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %43 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%42 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_954 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %44 = tensor.empty() : tensor<2x32x1x1xf32> | |
| %45 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%43 : tensor<2x32x1x1xf64>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %46 = linalg.fill ins(%cst_952 : f32) outs(%44 : tensor<2x32x1x1xf32>) -> tensor<2x32x1x1xf32> | |
| %47 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%33 : tensor<2x32x10x4096xf32>) outs(%46 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %48 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%47 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_955 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %49 = linalg.generic {indexing_maps = [#map11, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%45, %cst_938 : tensor<2x32x1x1xf32>, tensor<f16>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %50 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%49 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %51 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_990, %48 : tensor<2x32x10x4096xf16>, tensor<2x32x1x1xf32>) outs(%32 : tensor<2x32x10x4096xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x10x4096xf32> | |
| %52 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%51, %50 : tensor<2x32x10x4096xf32>, tensor<2x32x1x1xf32>) outs(%32 : tensor<2x32x10x4096xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x10x4096xf32> | |
| %collapsed_991 = tensor.collapse_shape %52 [[0], [1, 2], [3]] : tensor<2x32x10x4096xf32> into tensor<2x320x4096xf32> | |
| %expanded_992 = tensor.expand_shape %collapsed_991 [[0], [1], [2, 3]] : tensor<2x320x4096xf32> into tensor<2x320x64x64xf32> | |
| %expanded_993 = tensor.expand_shape %cst_937 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
| %expanded_994 = tensor.expand_shape %cst_936 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
| %53 = tensor.empty() : tensor<2x320x64x64xf32> | |
| %54 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_992, %expanded_994 : tensor<2x320x64x64xf32>, tensor<1x320x1x1xf16>) outs(%53 : tensor<2x320x64x64xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x320x64x64xf32> | |
| %55 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%54, %expanded_993 : tensor<2x320x64x64xf32>, tensor<1x320x1x1xf16>) outs(%53 : tensor<2x320x64x64xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x320x64x64xf32> | |
| %56 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%55 : tensor<2x320x64x64xf32>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %57 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%56 : tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.negf %in : f16 | |
| %6235 = math.exp %6234 : f16 | |
| %6236 = arith.addf %6235, %cst_947 : f16 | |
| %6237 = arith.divf %cst_947, %6236 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %58 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%57, %56 : tensor<2x320x64x64xf16>, tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %expanded_995 = tensor.expand_shape %58 [[0], [1, 2], [3], [4]] : tensor<2x320x64x64xf16> into tensor<2x20x16x64x64xf16> | |
| %59 = tensor.empty() : tensor<2x20x16x64x64xf16> | |
| %60 = linalg.generic {indexing_maps = [#map14, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_995 : tensor<2x20x16x64x64xf16>) outs(%59 : tensor<2x20x16x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x20x16x64x64xf16> | |
| %61 = tensor.empty() : tensor<2x20x1x64x64xi64> | |
| %62 = linalg.fill ins(%c0_i64 : i64) outs(%61 : tensor<2x20x1x64x64xi64>) -> tensor<2x20x1x64x64xi64> | |
| %63 = tensor.empty() : tensor<2x20x1x64x64xf16> | |
| %64 = linalg.fill ins(%cst_948 : f16) outs(%63 : tensor<2x20x1x64x64xf16>) -> tensor<2x20x1x64x64xf16> | |
| %65:2 = linalg.generic {indexing_maps = [#map14, #map15, #map15], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%60 : tensor<2x20x16x64x64xf16>) outs(%64, %62 : tensor<2x20x1x64x64xf16>, tensor<2x20x1x64x64xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x20x1x64x64xf16>, tensor<2x20x1x64x64xi64>) | |
| %66 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%65#0 : tensor<2x20x1x64x64xf16>) outs(%59 : tensor<2x20x16x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x20x16x64x64xf16> | |
| %collapsed_996 = tensor.collapse_shape %66 [[0], [1, 2], [3], [4]] : tensor<2x20x16x64x64xf16> into tensor<2x320x64x64xf16> | |
| %67 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_996 : tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %68 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%58, %67 : tensor<2x320x64x64xf16>, tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %69 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%68, %cst_935 : tensor<2x320x64x64xf16>, tensor<f16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %70 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%69 : tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %71 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%70 : tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %72 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%71, %cst_935 : tensor<2x320x64x64xf16>, tensor<f16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %73 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%72, %67 : tensor<2x320x64x64xf16>, tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %74 = tensor.empty() : tensor<320x20x16x3x3xf16> | |
| %75 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_934 : tensor<320x20x1x3x3xf16>) outs(%74 : tensor<320x20x16x3x3xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x20x16x3x3xf16> | |
| %collapsed_997 = tensor.collapse_shape %75 [[0], [1, 2], [3], [4]] : tensor<320x20x16x3x3xf16> into tensor<320x320x3x3xf16> | |
| %76 = tensor.empty() : tensor<320x320x3x3xf16> | |
| %77 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_933, %collapsed_997 : tensor<320x320x3x3xi8>, tensor<320x320x3x3xf16>) outs(%76 : tensor<320x320x3x3xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x320x3x3xf16> | |
| %padded_998 = tensor.pad %73 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg4: index, %arg5: index, %arg6: index, %arg7: index): | |
| tensor.yield %cst_946 : f16 | |
| } : tensor<2x320x64x64xf16> to tensor<2x320x66x66xf16> | |
| %78 = linalg.generic {indexing_maps = [#map10, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_932 : tensor<320xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %79 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_998, %77 : tensor<2x320x66x66xf16>, tensor<320x320x3x3xf16>) outs(%78 : tensor<2x320x64x64xf16>) -> tensor<2x320x64x64xf16> | |
| %80 = linalg.generic {indexing_maps = [#map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%28 : tensor<2x1280xf16>) outs(%19 : tensor<2x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.negf %in : f16 | |
| %6235 = math.exp %6234 : f16 | |
| %6236 = arith.addf %6235, %cst_947 : f16 | |
| %6237 = arith.divf %cst_947, %6236 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1280xf16> | |
| %81 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%80, %28 : tensor<2x1280xf16>, tensor<2x1280xf16>) outs(%19 : tensor<2x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280xf16> | |
| %82 = tensor.empty() : tensor<1280x320xf16> | |
| %83 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%cst_931 : tensor<320x1280xf16>) outs(%82 : tensor<1280x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x320xf16> | |
| %84 = linalg.fill ins(%cst_946 : f16) outs(%15 : tensor<2x320xf16>) -> tensor<2x320xf16> | |
| %85 = linalg.matmul ins(%81, %83 : tensor<2x1280xf16>, tensor<1280x320xf16>) outs(%84 : tensor<2x320xf16>) -> tensor<2x320xf16> | |
| %86 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_930, %85 : tensor<320xf16>, tensor<2x320xf16>) outs(%15 : tensor<2x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320xf16> | |
| %expanded_999 = tensor.expand_shape %86 [[0], [1, 2, 3]] : tensor<2x320xf16> into tensor<2x320x1x1xf16> | |
| %87 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%79, %expanded_999 : tensor<2x320x64x64xf16>, tensor<2x320x1x1xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %collapsed_1000 = tensor.collapse_shape %87 [[0], [1], [2, 3]] : tensor<2x320x64x64xf16> into tensor<2x320x4096xf16> | |
| %expanded_1001 = tensor.expand_shape %collapsed_1000 [[0], [1, 2], [3]] : tensor<2x320x4096xf16> into tensor<2x32x10x4096xf16> | |
| %88 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1001 : tensor<2x32x10x4096xf16>) outs(%32 : tensor<2x32x10x4096xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x10x4096xf32> | |
| %89 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%88 : tensor<2x32x10x4096xf32>) outs(%34 : tensor<2x32x10x4096xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x10x4096xf64> | |
| %90 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%89 : tensor<2x32x10x4096xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %91 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%90 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_954 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %92 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%89, %91 : tensor<2x32x10x4096xf64>, tensor<2x32x1x1xf64>) outs(%34 : tensor<2x32x10x4096xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x10x4096xf64> | |
| %93 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%92, %92 : tensor<2x32x10x4096xf64>, tensor<2x32x10x4096xf64>) outs(%34 : tensor<2x32x10x4096xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x10x4096xf64> | |
| %94 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%93 : tensor<2x32x10x4096xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %95 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%94 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_954 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %96 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%95 : tensor<2x32x1x1xf64>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %97 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%88 : tensor<2x32x10x4096xf32>) outs(%46 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %98 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%97 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_955 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %99 = linalg.generic {indexing_maps = [#map11, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%96, %cst_938 : tensor<2x32x1x1xf32>, tensor<f16>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %100 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%99 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %101 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1001, %98 : tensor<2x32x10x4096xf16>, tensor<2x32x1x1xf32>) outs(%32 : tensor<2x32x10x4096xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x10x4096xf32> | |
| %102 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%101, %100 : tensor<2x32x10x4096xf32>, tensor<2x32x1x1xf32>) outs(%32 : tensor<2x32x10x4096xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x10x4096xf32> | |
| %collapsed_1002 = tensor.collapse_shape %102 [[0], [1, 2], [3]] : tensor<2x32x10x4096xf32> into tensor<2x320x4096xf32> | |
| %expanded_1003 = tensor.expand_shape %collapsed_1002 [[0], [1], [2, 3]] : tensor<2x320x4096xf32> into tensor<2x320x64x64xf32> | |
| %expanded_1004 = tensor.expand_shape %cst_929 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
| %expanded_1005 = tensor.expand_shape %cst_928 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
| %103 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1003, %expanded_1005 : tensor<2x320x64x64xf32>, tensor<1x320x1x1xf16>) outs(%53 : tensor<2x320x64x64xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x320x64x64xf32> | |
| %104 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%103, %expanded_1004 : tensor<2x320x64x64xf32>, tensor<1x320x1x1xf16>) outs(%53 : tensor<2x320x64x64xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x320x64x64xf32> | |
| %105 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%104 : tensor<2x320x64x64xf32>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %106 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%105 : tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.negf %in : f16 | |
| %6235 = math.exp %6234 : f16 | |
| %6236 = arith.addf %6235, %cst_947 : f16 | |
| %6237 = arith.divf %cst_947, %6236 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %107 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%106, %105 : tensor<2x320x64x64xf16>, tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %expanded_1006 = tensor.expand_shape %107 [[0], [1, 2], [3], [4]] : tensor<2x320x64x64xf16> into tensor<2x20x16x64x64xf16> | |
| %108 = linalg.generic {indexing_maps = [#map14, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1006 : tensor<2x20x16x64x64xf16>) outs(%59 : tensor<2x20x16x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x20x16x64x64xf16> | |
| %109:2 = linalg.generic {indexing_maps = [#map14, #map15, #map15], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%108 : tensor<2x20x16x64x64xf16>) outs(%64, %62 : tensor<2x20x1x64x64xf16>, tensor<2x20x1x64x64xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x20x1x64x64xf16>, tensor<2x20x1x64x64xi64>) | |
| %110 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%109#0 : tensor<2x20x1x64x64xf16>) outs(%59 : tensor<2x20x16x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x20x16x64x64xf16> | |
| %collapsed_1007 = tensor.collapse_shape %110 [[0], [1, 2], [3], [4]] : tensor<2x20x16x64x64xf16> into tensor<2x320x64x64xf16> | |
| %111 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1007 : tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %112 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%107, %111 : tensor<2x320x64x64xf16>, tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %113 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%112, %cst_935 : tensor<2x320x64x64xf16>, tensor<f16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %114 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%113 : tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %115 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%114 : tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %116 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%115, %cst_935 : tensor<2x320x64x64xf16>, tensor<f16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %117 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%116, %111 : tensor<2x320x64x64xf16>, tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %118 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_927 : tensor<320x20x1x3x3xf16>) outs(%74 : tensor<320x20x16x3x3xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x20x16x3x3xf16> | |
| %collapsed_1008 = tensor.collapse_shape %118 [[0], [1, 2], [3], [4]] : tensor<320x20x16x3x3xf16> into tensor<320x320x3x3xf16> | |
| %119 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_926, %collapsed_1008 : tensor<320x320x3x3xi8>, tensor<320x320x3x3xf16>) outs(%76 : tensor<320x320x3x3xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x320x3x3xf16> | |
| %padded_1009 = tensor.pad %117 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg4: index, %arg5: index, %arg6: index, %arg7: index): | |
| tensor.yield %cst_946 : f16 | |
| } : tensor<2x320x64x64xf16> to tensor<2x320x66x66xf16> | |
| %120 = linalg.generic {indexing_maps = [#map10, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_925 : tensor<320xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %121 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1009, %119 : tensor<2x320x66x66xf16>, tensor<320x320x3x3xf16>) outs(%120 : tensor<2x320x64x64xf16>) -> tensor<2x320x64x64xf16> | |
| %122 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%31, %121 : tensor<2x320x64x64xf16>, tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %123 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%122, %cst_924 : tensor<2x320x64x64xf16>, tensor<f16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %collapsed_1010 = tensor.collapse_shape %123 [[0], [1], [2, 3]] : tensor<2x320x64x64xf16> into tensor<2x320x4096xf16> | |
| %expanded_1011 = tensor.expand_shape %collapsed_1010 [[0], [1, 2], [3]] : tensor<2x320x4096xf16> into tensor<2x32x10x4096xf16> | |
| %124 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1011 : tensor<2x32x10x4096xf16>) outs(%32 : tensor<2x32x10x4096xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x10x4096xf32> | |
| %125 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%124 : tensor<2x32x10x4096xf32>) outs(%34 : tensor<2x32x10x4096xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x10x4096xf64> | |
| %126 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%125 : tensor<2x32x10x4096xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %127 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%126 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_954 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %128 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%125, %127 : tensor<2x32x10x4096xf64>, tensor<2x32x1x1xf64>) outs(%34 : tensor<2x32x10x4096xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x10x4096xf64> | |
| %129 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%128, %128 : tensor<2x32x10x4096xf64>, tensor<2x32x10x4096xf64>) outs(%34 : tensor<2x32x10x4096xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x10x4096xf64> | |
| %130 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%129 : tensor<2x32x10x4096xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %131 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%130 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_954 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %132 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%131 : tensor<2x32x1x1xf64>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %133 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%124 : tensor<2x32x10x4096xf32>) outs(%46 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %134 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%133 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_955 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %135 = linalg.generic {indexing_maps = [#map11, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%132, %cst_923 : tensor<2x32x1x1xf32>, tensor<f16>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %136 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%135 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %137 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1011, %134 : tensor<2x32x10x4096xf16>, tensor<2x32x1x1xf32>) outs(%32 : tensor<2x32x10x4096xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x10x4096xf32> | |
| %138 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%137, %136 : tensor<2x32x10x4096xf32>, tensor<2x32x1x1xf32>) outs(%32 : tensor<2x32x10x4096xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x10x4096xf32> | |
| %collapsed_1012 = tensor.collapse_shape %138 [[0], [1, 2], [3]] : tensor<2x32x10x4096xf32> into tensor<2x320x4096xf32> | |
| %expanded_1013 = tensor.expand_shape %collapsed_1012 [[0], [1], [2, 3]] : tensor<2x320x4096xf32> into tensor<2x320x64x64xf32> | |
| %expanded_1014 = tensor.expand_shape %cst_922 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
| %expanded_1015 = tensor.expand_shape %cst_921 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
| %139 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1013, %expanded_1015 : tensor<2x320x64x64xf32>, tensor<1x320x1x1xf16>) outs(%53 : tensor<2x320x64x64xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x320x64x64xf32> | |
| %140 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%139, %expanded_1014 : tensor<2x320x64x64xf32>, tensor<1x320x1x1xf16>) outs(%53 : tensor<2x320x64x64xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x320x64x64xf32> | |
| %141 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%140 : tensor<2x320x64x64xf32>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %142 = tensor.empty() : tensor<2x64x64x320xf16> | |
| %143 = linalg.generic {indexing_maps = [#map1, #map16], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%141 : tensor<2x320x64x64xf16>) outs(%142 : tensor<2x64x64x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x64x64x320xf16> | |
| %collapsed_1016 = tensor.collapse_shape %143 [[0], [1, 2], [3]] : tensor<2x64x64x320xf16> into tensor<2x4096x320xf16> | |
| %expanded_1017 = tensor.expand_shape %collapsed_1016 [[0], [1], [2, 3]] : tensor<2x4096x320xf16> into tensor<2x4096x20x16xf16> | |
| %144 = tensor.empty() : tensor<2x4096x20x16xf16> | |
| %145 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1017 : tensor<2x4096x20x16xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %146 = tensor.empty() : tensor<2x4096x20x1xi64> | |
| %147 = linalg.fill ins(%c0_i64 : i64) outs(%146 : tensor<2x4096x20x1xi64>) -> tensor<2x4096x20x1xi64> | |
| %148 = tensor.empty() : tensor<2x4096x20x1xf16> | |
| %149 = linalg.fill ins(%cst_948 : f16) outs(%148 : tensor<2x4096x20x1xf16>) -> tensor<2x4096x20x1xf16> | |
| %150:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%145 : tensor<2x4096x20x16xf16>) outs(%149, %147 : tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) | |
| %151 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%150#0 : tensor<2x4096x20x1xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %collapsed_1018 = tensor.collapse_shape %151 [[0], [1], [2, 3]] : tensor<2x4096x20x16xf16> into tensor<2x4096x320xf16> | |
| %152 = tensor.empty() : tensor<2x4096x320xf16> | |
| %153 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1018 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %154 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1016, %153 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %155 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%154, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %156 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%155 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %157 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%156 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %158 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%157, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %159 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%158, %153 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %160 = tensor.empty() : tensor<320x20x16xf16> | |
| %161 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_920 : tensor<320x20x1xf16>) outs(%160 : tensor<320x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x20x16xf16> | |
| %collapsed_1019 = tensor.collapse_shape %161 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
| %162 = tensor.empty() : tensor<320x320xf16> | |
| %163 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_919, %collapsed_1019 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x320xf16> | |
| %164 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%163 : tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x320xf16> | |
| %collapsed_1020 = tensor.collapse_shape %159 [[0, 1], [2]] : tensor<2x4096x320xf16> into tensor<8192x320xf16> | |
| %165 = tensor.empty() : tensor<8192x320xf16> | |
| %166 = linalg.fill ins(%cst_946 : f16) outs(%165 : tensor<8192x320xf16>) -> tensor<8192x320xf16> | |
| %167 = linalg.matmul ins(%collapsed_1020, %164 : tensor<8192x320xf16>, tensor<320x320xf16>) outs(%166 : tensor<8192x320xf16>) -> tensor<8192x320xf16> | |
| %168 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_918, %167 : tensor<320xf16>, tensor<8192x320xf16>) outs(%165 : tensor<8192x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<8192x320xf16> | |
| %expanded_1021 = tensor.expand_shape %168 [[0, 1], [2]] : tensor<8192x320xf16> into tensor<2x4096x320xf16> | |
| %169 = tensor.empty() : tensor<2x4096x320xf32> | |
| %170 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1021 : tensor<2x4096x320xf16>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %171 = tensor.empty() : tensor<2x4096x320xf64> | |
| %172 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%170 : tensor<2x4096x320xf32>) outs(%171 : tensor<2x4096x320xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x320xf64> | |
| %173 = tensor.empty() : tensor<2x4096x1xf64> | |
| %174 = linalg.fill ins(%cst_951 : f64) outs(%173 : tensor<2x4096x1xf64>) -> tensor<2x4096x1xf64> | |
| %175 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%172 : tensor<2x4096x320xf64>) outs(%174 : tensor<2x4096x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x1xf64> | |
| %176 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%175 : tensor<2x4096x1xf64>) outs(%173 : tensor<2x4096x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_959 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x1xf64> | |
| %177 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%172, %176 : tensor<2x4096x320xf64>, tensor<2x4096x1xf64>) outs(%171 : tensor<2x4096x320xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x320xf64> | |
| %178 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%177, %177 : tensor<2x4096x320xf64>, tensor<2x4096x320xf64>) outs(%171 : tensor<2x4096x320xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x320xf64> | |
| %179 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%178 : tensor<2x4096x320xf64>) outs(%174 : tensor<2x4096x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x1xf64> | |
| %180 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%179 : tensor<2x4096x1xf64>) outs(%173 : tensor<2x4096x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_959 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x1xf64> | |
| %181 = tensor.empty() : tensor<2x4096x1xf32> | |
| %182 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%180 : tensor<2x4096x1xf64>) outs(%181 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %183 = linalg.fill ins(%cst_952 : f32) outs(%181 : tensor<2x4096x1xf32>) -> tensor<2x4096x1xf32> | |
| %184 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%170 : tensor<2x4096x320xf32>) outs(%183 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %185 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%184 : tensor<2x4096x1xf32>) outs(%181 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_960 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %186 = linalg.generic {indexing_maps = [#map20, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%182, %cst_938 : tensor<2x4096x1xf32>, tensor<f16>) outs(%181 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %187 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%186 : tensor<2x4096x1xf32>) outs(%181 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %188 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1021, %185 : tensor<2x4096x320xf16>, tensor<2x4096x1xf32>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %189 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%188, %187 : tensor<2x4096x320xf32>, tensor<2x4096x1xf32>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %190 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%189, %cst_917 : tensor<2x4096x320xf32>, tensor<320xf16>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %191 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%190, %cst_916 : tensor<2x4096x320xf32>, tensor<320xf16>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %192 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%191 : tensor<2x4096x320xf32>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %expanded_1022 = tensor.expand_shape %192 [[0], [1], [2, 3]] : tensor<2x4096x320xf16> into tensor<2x4096x20x16xf16> | |
| %193 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1022 : tensor<2x4096x20x16xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %194:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%193 : tensor<2x4096x20x16xf16>) outs(%149, %147 : tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) | |
| %195 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%194#0 : tensor<2x4096x20x1xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %collapsed_1023 = tensor.collapse_shape %195 [[0], [1], [2, 3]] : tensor<2x4096x20x16xf16> into tensor<2x4096x320xf16> | |
| %196 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1023 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %197 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%192, %196 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %198 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%197, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %199 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%198 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %200 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%199 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %201 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%200, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %202 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%201, %196 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %203 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_915 : tensor<320x20x1xf16>) outs(%160 : tensor<320x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x20x16xf16> | |
| %collapsed_1024 = tensor.collapse_shape %203 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
| %204 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_914, %collapsed_1024 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x320xf16> | |
| %205 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%204 : tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x320xf16> | |
| %collapsed_1025 = tensor.collapse_shape %202 [[0, 1], [2]] : tensor<2x4096x320xf16> into tensor<8192x320xf16> | |
| %206 = linalg.matmul ins(%collapsed_1025, %205 : tensor<8192x320xf16>, tensor<320x320xf16>) outs(%166 : tensor<8192x320xf16>) -> tensor<8192x320xf16> | |
| %expanded_1026 = tensor.expand_shape %206 [[0, 1], [2, 3]] : tensor<8192x320xf16> into tensor<2x4096x5x64xf16> | |
| %207 = tensor.empty() : tensor<2x5x4096x64xf16> | |
| %208 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1026 : tensor<2x4096x5x64xf16>) outs(%207 : tensor<2x5x4096x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x5x4096x64xf16> | |
| %collapsed_1027 = tensor.collapse_shape %208 [[0, 1], [2], [3]] : tensor<2x5x4096x64xf16> into tensor<10x4096x64xf16> | |
| %209 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_913 : tensor<320x20x1xf16>) outs(%160 : tensor<320x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x20x16xf16> | |
| %collapsed_1028 = tensor.collapse_shape %209 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
| %210 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_912, %collapsed_1028 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x320xf16> | |
| %211 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%210 : tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x320xf16> | |
| %212 = linalg.matmul ins(%collapsed_1025, %211 : tensor<8192x320xf16>, tensor<320x320xf16>) outs(%166 : tensor<8192x320xf16>) -> tensor<8192x320xf16> | |
| %213 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_911 : tensor<320x20x1xf16>) outs(%160 : tensor<320x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x20x16xf16> | |
| %collapsed_1029 = tensor.collapse_shape %213 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
| %214 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_910, %collapsed_1029 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x320xf16> | |
| %215 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%214 : tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x320xf16> | |
| %216 = linalg.matmul ins(%collapsed_1025, %215 : tensor<8192x320xf16>, tensor<320x320xf16>) outs(%166 : tensor<8192x320xf16>) -> tensor<8192x320xf16> | |
| %expanded_1030 = tensor.expand_shape %212 [[0, 1], [2, 3]] : tensor<8192x320xf16> into tensor<2x4096x5x64xf16> | |
| %217 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1030 : tensor<2x4096x5x64xf16>) outs(%207 : tensor<2x5x4096x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x5x4096x64xf16> | |
| %collapsed_1031 = tensor.collapse_shape %217 [[0, 1], [2], [3]] : tensor<2x5x4096x64xf16> into tensor<10x4096x64xf16> | |
| %expanded_1032 = tensor.expand_shape %216 [[0, 1], [2, 3]] : tensor<8192x320xf16> into tensor<2x4096x5x64xf16> | |
| %218 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1032 : tensor<2x4096x5x64xf16>) outs(%207 : tensor<2x5x4096x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x5x4096x64xf16> | |
| %collapsed_1033 = tensor.collapse_shape %218 [[0, 1], [2], [3]] : tensor<2x5x4096x64xf16> into tensor<10x4096x64xf16> | |
| %219 = tensor.empty() : tensor<10x4096x4096xf16> | |
| %220 = linalg.fill ins(%cst_946 : f16) outs(%219 : tensor<10x4096x4096xf16>) -> tensor<10x4096x4096xf16> | |
| %221 = tensor.empty() : tensor<10x64x4096xf16> | |
| %222 = linalg.generic {indexing_maps = [#map18, #map23], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1031 : tensor<10x4096x64xf16>) outs(%221 : tensor<10x64x4096xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<10x64x4096xf16> | |
| %223 = linalg.batch_matmul ins(%collapsed_1027, %222 : tensor<10x4096x64xf16>, tensor<10x64x4096xf16>) outs(%220 : tensor<10x4096x4096xf16>) -> tensor<10x4096x4096xf16> | |
| %224 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%223 : tensor<10x4096x4096xf16>) outs(%219 : tensor<10x4096x4096xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.mulf %in, %cst_961 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<10x4096x4096xf16> | |
| %225 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%224, %220 : tensor<10x4096x4096xf16>, tensor<10x4096x4096xf16>) outs(%219 : tensor<10x4096x4096xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in_2625, %cst_946 : f16 | |
| %6235 = arith.addf %in, %6234 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<10x4096x4096xf16> | |
| %226 = tensor.empty() : tensor<10x4096x1xi64> | |
| %227 = linalg.fill ins(%c0_i64 : i64) outs(%226 : tensor<10x4096x1xi64>) -> tensor<10x4096x1xi64> | |
| %228 = tensor.empty() : tensor<10x4096x1xf16> | |
| %229 = linalg.fill ins(%cst_948 : f16) outs(%228 : tensor<10x4096x1xf16>) -> tensor<10x4096x1xf16> | |
| %230:2 = linalg.generic {indexing_maps = [#map18, #map20, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%225 : tensor<10x4096x4096xf16>) outs(%229, %227 : tensor<10x4096x1xf16>, tensor<10x4096x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<10x4096x1xf16>, tensor<10x4096x1xi64>) | |
| %231 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%225, %230#0 : tensor<10x4096x4096xf16>, tensor<10x4096x1xf16>) outs(%219 : tensor<10x4096x4096xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<10x4096x4096xf16> | |
| %232 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%231 : tensor<10x4096x4096xf16>) outs(%219 : tensor<10x4096x4096xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.exp %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<10x4096x4096xf16> | |
| %233 = linalg.fill ins(%cst_946 : f16) outs(%228 : tensor<10x4096x1xf16>) -> tensor<10x4096x1xf16> | |
| %234 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%232 : tensor<10x4096x4096xf16>) outs(%233 : tensor<10x4096x1xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.addf %in, %out : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<10x4096x1xf16> | |
| %235 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%232, %234 : tensor<10x4096x4096xf16>, tensor<10x4096x1xf16>) outs(%219 : tensor<10x4096x4096xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<10x4096x4096xf16> | |
| %236 = tensor.empty() : tensor<10x4096x64xf16> | |
| %237 = linalg.fill ins(%cst_946 : f16) outs(%236 : tensor<10x4096x64xf16>) -> tensor<10x4096x64xf16> | |
| %238 = linalg.batch_matmul ins(%235, %collapsed_1033 : tensor<10x4096x4096xf16>, tensor<10x4096x64xf16>) outs(%237 : tensor<10x4096x64xf16>) -> tensor<10x4096x64xf16> | |
| %expanded_1034 = tensor.expand_shape %238 [[0, 1], [2], [3]] : tensor<10x4096x64xf16> into tensor<2x5x4096x64xf16> | |
| %239 = tensor.empty() : tensor<2x4096x5x64xf16> | |
| %240 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1034 : tensor<2x5x4096x64xf16>) outs(%239 : tensor<2x4096x5x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x4096x5x64xf16> | |
| %collapsed_1035 = tensor.collapse_shape %240 [[0], [1], [2, 3]] : tensor<2x4096x5x64xf16> into tensor<2x4096x320xf16> | |
| %expanded_1036 = tensor.expand_shape %collapsed_1035 [[0], [1], [2, 3]] : tensor<2x4096x320xf16> into tensor<2x4096x20x16xf16> | |
| %241 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1036 : tensor<2x4096x20x16xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %242:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%241 : tensor<2x4096x20x16xf16>) outs(%149, %147 : tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) | |
| %243 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%242#0 : tensor<2x4096x20x1xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %collapsed_1037 = tensor.collapse_shape %243 [[0], [1], [2, 3]] : tensor<2x4096x20x16xf16> into tensor<2x4096x320xf16> | |
| %244 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1037 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %245 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1035, %244 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %246 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%245, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %247 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%246 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %248 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%247 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %249 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%248, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %250 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%249, %244 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %251 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_909 : tensor<320x20x1xf16>) outs(%160 : tensor<320x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x20x16xf16> | |
| %collapsed_1038 = tensor.collapse_shape %251 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
| %252 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_908, %collapsed_1038 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x320xf16> | |
| %253 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%252 : tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x320xf16> | |
| %collapsed_1039 = tensor.collapse_shape %250 [[0, 1], [2]] : tensor<2x4096x320xf16> into tensor<8192x320xf16> | |
| %254 = linalg.matmul ins(%collapsed_1039, %253 : tensor<8192x320xf16>, tensor<320x320xf16>) outs(%166 : tensor<8192x320xf16>) -> tensor<8192x320xf16> | |
| %255 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_907, %254 : tensor<320xf16>, tensor<8192x320xf16>) outs(%165 : tensor<8192x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<8192x320xf16> | |
| %expanded_1040 = tensor.expand_shape %255 [[0, 1], [2]] : tensor<8192x320xf16> into tensor<2x4096x320xf16> | |
| %256 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1040, %expanded_1021 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %257 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%256 : tensor<2x4096x320xf16>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %258 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%257 : tensor<2x4096x320xf32>) outs(%171 : tensor<2x4096x320xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x320xf64> | |
| %259 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%258 : tensor<2x4096x320xf64>) outs(%174 : tensor<2x4096x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x1xf64> | |
| %260 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%259 : tensor<2x4096x1xf64>) outs(%173 : tensor<2x4096x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_959 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x1xf64> | |
| %261 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%258, %260 : tensor<2x4096x320xf64>, tensor<2x4096x1xf64>) outs(%171 : tensor<2x4096x320xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x320xf64> | |
| %262 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%261, %261 : tensor<2x4096x320xf64>, tensor<2x4096x320xf64>) outs(%171 : tensor<2x4096x320xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x320xf64> | |
| %263 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%262 : tensor<2x4096x320xf64>) outs(%174 : tensor<2x4096x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x1xf64> | |
| %264 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%263 : tensor<2x4096x1xf64>) outs(%173 : tensor<2x4096x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_959 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x1xf64> | |
| %265 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%264 : tensor<2x4096x1xf64>) outs(%181 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %266 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%257 : tensor<2x4096x320xf32>) outs(%183 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %267 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%266 : tensor<2x4096x1xf32>) outs(%181 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_960 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %268 = linalg.generic {indexing_maps = [#map20, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%265, %cst_938 : tensor<2x4096x1xf32>, tensor<f16>) outs(%181 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %269 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%268 : tensor<2x4096x1xf32>) outs(%181 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %270 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%256, %267 : tensor<2x4096x320xf16>, tensor<2x4096x1xf32>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %271 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%270, %269 : tensor<2x4096x320xf32>, tensor<2x4096x1xf32>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %272 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%271, %cst_906 : tensor<2x4096x320xf32>, tensor<320xf16>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %273 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%272, %cst_905 : tensor<2x4096x320xf32>, tensor<320xf16>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %274 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%273 : tensor<2x4096x320xf32>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %expanded_1041 = tensor.expand_shape %274 [[0], [1], [2, 3]] : tensor<2x4096x320xf16> into tensor<2x4096x20x16xf16> | |
| %275 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1041 : tensor<2x4096x20x16xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %276:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%275 : tensor<2x4096x20x16xf16>) outs(%149, %147 : tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) | |
| %277 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%276#0 : tensor<2x4096x20x1xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %collapsed_1042 = tensor.collapse_shape %277 [[0], [1], [2, 3]] : tensor<2x4096x20x16xf16> into tensor<2x4096x320xf16> | |
| %278 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1042 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %279 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%274, %278 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %280 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%279, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %281 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%280 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %282 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%281 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %283 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%282, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %284 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%283, %278 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %285 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_904 : tensor<320x20x1xf16>) outs(%160 : tensor<320x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x20x16xf16> | |
| %collapsed_1043 = tensor.collapse_shape %285 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
| %286 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_903, %collapsed_1043 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x320xf16> | |
| %287 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%286 : tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x320xf16> | |
| %collapsed_1044 = tensor.collapse_shape %284 [[0, 1], [2]] : tensor<2x4096x320xf16> into tensor<8192x320xf16> | |
| %288 = linalg.matmul ins(%collapsed_1044, %287 : tensor<8192x320xf16>, tensor<320x320xf16>) outs(%166 : tensor<8192x320xf16>) -> tensor<8192x320xf16> | |
| %expanded_1045 = tensor.expand_shape %288 [[0, 1], [2, 3]] : tensor<8192x320xf16> into tensor<2x4096x5x64xf16> | |
| %289 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1045 : tensor<2x4096x5x64xf16>) outs(%207 : tensor<2x5x4096x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x5x4096x64xf16> | |
| %collapsed_1046 = tensor.collapse_shape %289 [[0, 1], [2], [3]] : tensor<2x5x4096x64xf16> into tensor<10x4096x64xf16> | |
| %expanded_1047 = tensor.expand_shape %arg2 [[0], [1], [2, 3]] : tensor<2x77x1024xf16> into tensor<2x77x64x16xf16> | |
| %290 = tensor.empty() : tensor<2x77x64x16xf16> | |
| %291 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1047 : tensor<2x77x64x16xf16>) outs(%290 : tensor<2x77x64x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x77x64x16xf16> | |
| %292 = tensor.empty() : tensor<2x77x64x1xi64> | |
| %293 = linalg.fill ins(%c0_i64 : i64) outs(%292 : tensor<2x77x64x1xi64>) -> tensor<2x77x64x1xi64> | |
| %294 = tensor.empty() : tensor<2x77x64x1xf16> | |
| %295 = linalg.fill ins(%cst_948 : f16) outs(%294 : tensor<2x77x64x1xf16>) -> tensor<2x77x64x1xf16> | |
| %296:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%291 : tensor<2x77x64x16xf16>) outs(%295, %293 : tensor<2x77x64x1xf16>, tensor<2x77x64x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x77x64x1xf16>, tensor<2x77x64x1xi64>) | |
| %297 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%296#0 : tensor<2x77x64x1xf16>) outs(%290 : tensor<2x77x64x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x77x64x16xf16> | |
| %collapsed_1048 = tensor.collapse_shape %297 [[0], [1], [2, 3]] : tensor<2x77x64x16xf16> into tensor<2x77x1024xf16> | |
| %298 = tensor.empty() : tensor<2x77x1024xf16> | |
| %299 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1048 : tensor<2x77x1024xf16>) outs(%298 : tensor<2x77x1024xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x77x1024xf16> | |
| %300 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg2, %299 : tensor<2x77x1024xf16>, tensor<2x77x1024xf16>) outs(%298 : tensor<2x77x1024xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x77x1024xf16> | |
| %301 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%300, %cst_935 : tensor<2x77x1024xf16>, tensor<f16>) outs(%298 : tensor<2x77x1024xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x77x1024xf16> | |
| %302 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%301 : tensor<2x77x1024xf16>) outs(%298 : tensor<2x77x1024xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x77x1024xf16> | |
| %303 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%302 : tensor<2x77x1024xf16>) outs(%298 : tensor<2x77x1024xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x77x1024xf16> | |
| %304 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%303, %cst_935 : tensor<2x77x1024xf16>, tensor<f16>) outs(%298 : tensor<2x77x1024xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x77x1024xf16> | |
| %305 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%304, %299 : tensor<2x77x1024xf16>, tensor<2x77x1024xf16>) outs(%298 : tensor<2x77x1024xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x77x1024xf16> | |
| %306 = tensor.empty() : tensor<320x64x16xf16> | |
| %307 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_902 : tensor<320x64x1xf16>) outs(%306 : tensor<320x64x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x64x16xf16> | |
| %collapsed_1049 = tensor.collapse_shape %307 [[0], [1, 2]] : tensor<320x64x16xf16> into tensor<320x1024xf16> | |
| %308 = tensor.empty() : tensor<320x1024xf16> | |
| %309 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_901, %collapsed_1049 : tensor<320x1024xi8>, tensor<320x1024xf16>) outs(%308 : tensor<320x1024xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x1024xf16> | |
| %310 = tensor.empty() : tensor<1024x320xf16> | |
| %311 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%309 : tensor<320x1024xf16>) outs(%310 : tensor<1024x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1024x320xf16> | |
| %collapsed_1050 = tensor.collapse_shape %305 [[0, 1], [2]] : tensor<2x77x1024xf16> into tensor<154x1024xf16> | |
| %312 = tensor.empty() : tensor<154x320xf16> | |
| %313 = linalg.fill ins(%cst_946 : f16) outs(%312 : tensor<154x320xf16>) -> tensor<154x320xf16> | |
| %314 = linalg.matmul ins(%collapsed_1050, %311 : tensor<154x1024xf16>, tensor<1024x320xf16>) outs(%313 : tensor<154x320xf16>) -> tensor<154x320xf16> | |
| %315 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_900 : tensor<320x64x1xf16>) outs(%306 : tensor<320x64x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x64x16xf16> | |
| %collapsed_1051 = tensor.collapse_shape %315 [[0], [1, 2]] : tensor<320x64x16xf16> into tensor<320x1024xf16> | |
| %316 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_899, %collapsed_1051 : tensor<320x1024xi8>, tensor<320x1024xf16>) outs(%308 : tensor<320x1024xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x1024xf16> | |
| %317 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%316 : tensor<320x1024xf16>) outs(%310 : tensor<1024x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1024x320xf16> | |
| %318 = linalg.matmul ins(%collapsed_1050, %317 : tensor<154x1024xf16>, tensor<1024x320xf16>) outs(%313 : tensor<154x320xf16>) -> tensor<154x320xf16> | |
| %expanded_1052 = tensor.expand_shape %314 [[0, 1], [2, 3]] : tensor<154x320xf16> into tensor<2x77x5x64xf16> | |
| %319 = tensor.empty() : tensor<2x5x77x64xf16> | |
| %320 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1052 : tensor<2x77x5x64xf16>) outs(%319 : tensor<2x5x77x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x5x77x64xf16> | |
| %collapsed_1053 = tensor.collapse_shape %320 [[0, 1], [2], [3]] : tensor<2x5x77x64xf16> into tensor<10x77x64xf16> | |
| %expanded_1054 = tensor.expand_shape %318 [[0, 1], [2, 3]] : tensor<154x320xf16> into tensor<2x77x5x64xf16> | |
| %321 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1054 : tensor<2x77x5x64xf16>) outs(%319 : tensor<2x5x77x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x5x77x64xf16> | |
| %collapsed_1055 = tensor.collapse_shape %321 [[0, 1], [2], [3]] : tensor<2x5x77x64xf16> into tensor<10x77x64xf16> | |
| %322 = tensor.empty() : tensor<10x4096x77xf16> | |
| %323 = linalg.fill ins(%cst_946 : f16) outs(%322 : tensor<10x4096x77xf16>) -> tensor<10x4096x77xf16> | |
| %324 = tensor.empty() : tensor<10x64x77xf16> | |
| %325 = linalg.generic {indexing_maps = [#map18, #map23], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1053 : tensor<10x77x64xf16>) outs(%324 : tensor<10x64x77xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<10x64x77xf16> | |
| %326 = linalg.batch_matmul ins(%collapsed_1046, %325 : tensor<10x4096x64xf16>, tensor<10x64x77xf16>) outs(%323 : tensor<10x4096x77xf16>) -> tensor<10x4096x77xf16> | |
| %327 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%326 : tensor<10x4096x77xf16>) outs(%322 : tensor<10x4096x77xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.mulf %in, %cst_961 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<10x4096x77xf16> | |
| %328 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%327, %323 : tensor<10x4096x77xf16>, tensor<10x4096x77xf16>) outs(%322 : tensor<10x4096x77xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in_2625, %cst_946 : f16 | |
| %6235 = arith.addf %in, %6234 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<10x4096x77xf16> | |
| %329:2 = linalg.generic {indexing_maps = [#map18, #map20, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%328 : tensor<10x4096x77xf16>) outs(%229, %227 : tensor<10x4096x1xf16>, tensor<10x4096x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<10x4096x1xf16>, tensor<10x4096x1xi64>) | |
| %330 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%328, %329#0 : tensor<10x4096x77xf16>, tensor<10x4096x1xf16>) outs(%322 : tensor<10x4096x77xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<10x4096x77xf16> | |
| %331 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%330 : tensor<10x4096x77xf16>) outs(%322 : tensor<10x4096x77xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.exp %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<10x4096x77xf16> | |
| %332 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%331 : tensor<10x4096x77xf16>) outs(%233 : tensor<10x4096x1xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.addf %in, %out : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<10x4096x1xf16> | |
| %333 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%331, %332 : tensor<10x4096x77xf16>, tensor<10x4096x1xf16>) outs(%322 : tensor<10x4096x77xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<10x4096x77xf16> | |
| %334 = linalg.batch_matmul ins(%333, %collapsed_1055 : tensor<10x4096x77xf16>, tensor<10x77x64xf16>) outs(%237 : tensor<10x4096x64xf16>) -> tensor<10x4096x64xf16> | |
| %expanded_1056 = tensor.expand_shape %334 [[0, 1], [2], [3]] : tensor<10x4096x64xf16> into tensor<2x5x4096x64xf16> | |
| %335 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1056 : tensor<2x5x4096x64xf16>) outs(%239 : tensor<2x4096x5x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x4096x5x64xf16> | |
| %collapsed_1057 = tensor.collapse_shape %335 [[0], [1], [2, 3]] : tensor<2x4096x5x64xf16> into tensor<2x4096x320xf16> | |
| %expanded_1058 = tensor.expand_shape %collapsed_1057 [[0], [1], [2, 3]] : tensor<2x4096x320xf16> into tensor<2x4096x20x16xf16> | |
| %336 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1058 : tensor<2x4096x20x16xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %337:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%336 : tensor<2x4096x20x16xf16>) outs(%149, %147 : tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) | |
| %338 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%337#0 : tensor<2x4096x20x1xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %collapsed_1059 = tensor.collapse_shape %338 [[0], [1], [2, 3]] : tensor<2x4096x20x16xf16> into tensor<2x4096x320xf16> | |
| %339 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1059 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %340 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1057, %339 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %341 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%340, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %342 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%341 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %343 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%342 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %344 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%343, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %345 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%344, %339 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %346 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_898 : tensor<320x20x1xf16>) outs(%160 : tensor<320x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x20x16xf16> | |
| %collapsed_1060 = tensor.collapse_shape %346 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
| %347 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_897, %collapsed_1060 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x320xf16> | |
| %348 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%347 : tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x320xf16> | |
| %collapsed_1061 = tensor.collapse_shape %345 [[0, 1], [2]] : tensor<2x4096x320xf16> into tensor<8192x320xf16> | |
| %349 = linalg.matmul ins(%collapsed_1061, %348 : tensor<8192x320xf16>, tensor<320x320xf16>) outs(%166 : tensor<8192x320xf16>) -> tensor<8192x320xf16> | |
| %350 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_896, %349 : tensor<320xf16>, tensor<8192x320xf16>) outs(%165 : tensor<8192x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<8192x320xf16> | |
| %expanded_1062 = tensor.expand_shape %350 [[0, 1], [2]] : tensor<8192x320xf16> into tensor<2x4096x320xf16> | |
| %351 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1062, %256 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %352 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%351 : tensor<2x4096x320xf16>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %353 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%352 : tensor<2x4096x320xf32>) outs(%171 : tensor<2x4096x320xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x320xf64> | |
| %354 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%353 : tensor<2x4096x320xf64>) outs(%174 : tensor<2x4096x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x1xf64> | |
| %355 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%354 : tensor<2x4096x1xf64>) outs(%173 : tensor<2x4096x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_959 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x1xf64> | |
| %356 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%353, %355 : tensor<2x4096x320xf64>, tensor<2x4096x1xf64>) outs(%171 : tensor<2x4096x320xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x320xf64> | |
| %357 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%356, %356 : tensor<2x4096x320xf64>, tensor<2x4096x320xf64>) outs(%171 : tensor<2x4096x320xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x320xf64> | |
| %358 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%357 : tensor<2x4096x320xf64>) outs(%174 : tensor<2x4096x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x1xf64> | |
| %359 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%358 : tensor<2x4096x1xf64>) outs(%173 : tensor<2x4096x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_959 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x1xf64> | |
| %360 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%359 : tensor<2x4096x1xf64>) outs(%181 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %361 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%352 : tensor<2x4096x320xf32>) outs(%183 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %362 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%361 : tensor<2x4096x1xf32>) outs(%181 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_960 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %363 = linalg.generic {indexing_maps = [#map20, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%360, %cst_938 : tensor<2x4096x1xf32>, tensor<f16>) outs(%181 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %364 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%363 : tensor<2x4096x1xf32>) outs(%181 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %365 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%351, %362 : tensor<2x4096x320xf16>, tensor<2x4096x1xf32>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %366 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%365, %364 : tensor<2x4096x320xf32>, tensor<2x4096x1xf32>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %367 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%366, %cst_895 : tensor<2x4096x320xf32>, tensor<320xf16>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %368 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%367, %cst_894 : tensor<2x4096x320xf32>, tensor<320xf16>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %369 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%368 : tensor<2x4096x320xf32>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %expanded_1063 = tensor.expand_shape %369 [[0], [1], [2, 3]] : tensor<2x4096x320xf16> into tensor<2x4096x20x16xf16> | |
| %370 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1063 : tensor<2x4096x20x16xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %371:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%370 : tensor<2x4096x20x16xf16>) outs(%149, %147 : tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) | |
| %372 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%371#0 : tensor<2x4096x20x1xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %collapsed_1064 = tensor.collapse_shape %372 [[0], [1], [2, 3]] : tensor<2x4096x20x16xf16> into tensor<2x4096x320xf16> | |
| %373 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1064 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %374 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%369, %373 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %375 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%374, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %376 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%375 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %377 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%376 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %378 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%377, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %379 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%378, %373 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %380 = tensor.empty() : tensor<2560x20x16xf16> | |
| %381 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_893 : tensor<2560x20x1xf16>) outs(%380 : tensor<2560x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2560x20x16xf16> | |
| %collapsed_1065 = tensor.collapse_shape %381 [[0], [1, 2]] : tensor<2560x20x16xf16> into tensor<2560x320xf16> | |
| %382 = tensor.empty() : tensor<2560x320xf16> | |
| %383 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_892, %collapsed_1065 : tensor<2560x320xi8>, tensor<2560x320xf16>) outs(%382 : tensor<2560x320xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<2560x320xf16> | |
| %384 = tensor.empty() : tensor<320x2560xf16> | |
| %385 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%383 : tensor<2560x320xf16>) outs(%384 : tensor<320x2560xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x2560xf16> | |
| %collapsed_1066 = tensor.collapse_shape %379 [[0, 1], [2]] : tensor<2x4096x320xf16> into tensor<8192x320xf16> | |
| %386 = tensor.empty() : tensor<8192x2560xf16> | |
| %387 = linalg.fill ins(%cst_946 : f16) outs(%386 : tensor<8192x2560xf16>) -> tensor<8192x2560xf16> | |
| %388 = linalg.matmul ins(%collapsed_1066, %385 : tensor<8192x320xf16>, tensor<320x2560xf16>) outs(%387 : tensor<8192x2560xf16>) -> tensor<8192x2560xf16> | |
| %389 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_891, %388 : tensor<2560xf16>, tensor<8192x2560xf16>) outs(%386 : tensor<8192x2560xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<8192x2560xf16> | |
| %expanded_1067 = tensor.expand_shape %389 [[0, 1], [2]] : tensor<8192x2560xf16> into tensor<2x4096x2560xf16> | |
| %extracted_slice_1068 = tensor.extract_slice %expanded_1067[0, 0, 0] [2, 4096, 1280] [1, 1, 1] : tensor<2x4096x2560xf16> to tensor<2x4096x1280xf16> | |
| %extracted_slice_1069 = tensor.extract_slice %expanded_1067[0, 0, 1280] [2, 4096, 1280] [1, 1, 1] : tensor<2x4096x2560xf16> to tensor<2x4096x1280xf16> | |
| %390 = tensor.empty() : tensor<2x4096x1280xf16> | |
| %391 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%extracted_slice_1069 : tensor<2x4096x1280xf16>) outs(%390 : tensor<2x4096x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.sqrt %cst_949 : f16 | |
| %6235 = arith.divf %in, %6234 : f16 | |
| %6236 = math.erf %6235 : f16 | |
| %6237 = arith.addf %6236, %cst_947 : f16 | |
| %6238 = arith.mulf %6237, %cst_950 : f16 | |
| %6239 = arith.mulf %in, %6238 : f16 | |
| linalg.yield %6239 : f16 | |
| } -> tensor<2x4096x1280xf16> | |
| %392 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%extracted_slice_1068, %391 : tensor<2x4096x1280xf16>, tensor<2x4096x1280xf16>) outs(%390 : tensor<2x4096x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x1280xf16> | |
| %expanded_1070 = tensor.expand_shape %392 [[0], [1], [2, 3]] : tensor<2x4096x1280xf16> into tensor<2x4096x80x16xf16> | |
| %393 = tensor.empty() : tensor<2x4096x80x16xf16> | |
| %394 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1070 : tensor<2x4096x80x16xf16>) outs(%393 : tensor<2x4096x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x80x16xf16> | |
| %395 = tensor.empty() : tensor<2x4096x80x1xi64> | |
| %396 = linalg.fill ins(%c0_i64 : i64) outs(%395 : tensor<2x4096x80x1xi64>) -> tensor<2x4096x80x1xi64> | |
| %397 = tensor.empty() : tensor<2x4096x80x1xf16> | |
| %398 = linalg.fill ins(%cst_948 : f16) outs(%397 : tensor<2x4096x80x1xf16>) -> tensor<2x4096x80x1xf16> | |
| %399:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%394 : tensor<2x4096x80x16xf16>) outs(%398, %396 : tensor<2x4096x80x1xf16>, tensor<2x4096x80x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x4096x80x1xf16>, tensor<2x4096x80x1xi64>) | |
| %400 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%399#0 : tensor<2x4096x80x1xf16>) outs(%393 : tensor<2x4096x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x4096x80x16xf16> | |
| %collapsed_1071 = tensor.collapse_shape %400 [[0], [1], [2, 3]] : tensor<2x4096x80x16xf16> into tensor<2x4096x1280xf16> | |
| %401 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1071 : tensor<2x4096x1280xf16>) outs(%390 : tensor<2x4096x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x1280xf16> | |
| %402 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%392, %401 : tensor<2x4096x1280xf16>, tensor<2x4096x1280xf16>) outs(%390 : tensor<2x4096x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x1280xf16> | |
| %403 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%402, %cst_935 : tensor<2x4096x1280xf16>, tensor<f16>) outs(%390 : tensor<2x4096x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x1280xf16> | |
| %404 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%403 : tensor<2x4096x1280xf16>) outs(%390 : tensor<2x4096x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x1280xf16> | |
| %405 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%404 : tensor<2x4096x1280xf16>) outs(%390 : tensor<2x4096x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x4096x1280xf16> | |
| %406 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%405, %cst_935 : tensor<2x4096x1280xf16>, tensor<f16>) outs(%390 : tensor<2x4096x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x1280xf16> | |
| %407 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%406, %401 : tensor<2x4096x1280xf16>, tensor<2x4096x1280xf16>) outs(%390 : tensor<2x4096x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x1280xf16> | |
| %408 = tensor.empty() : tensor<320x80x16xf16> | |
| %409 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_890 : tensor<320x80x1xf16>) outs(%408 : tensor<320x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x80x16xf16> | |
| %collapsed_1072 = tensor.collapse_shape %409 [[0], [1, 2]] : tensor<320x80x16xf16> into tensor<320x1280xf16> | |
| %410 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_889, %collapsed_1072 : tensor<320x1280xi8>, tensor<320x1280xf16>) outs(%17 : tensor<320x1280xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x1280xf16> | |
| %411 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%410 : tensor<320x1280xf16>) outs(%82 : tensor<1280x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x320xf16> | |
| %collapsed_1073 = tensor.collapse_shape %407 [[0, 1], [2]] : tensor<2x4096x1280xf16> into tensor<8192x1280xf16> | |
| %412 = linalg.matmul ins(%collapsed_1073, %411 : tensor<8192x1280xf16>, tensor<1280x320xf16>) outs(%166 : tensor<8192x320xf16>) -> tensor<8192x320xf16> | |
| %413 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_888, %412 : tensor<320xf16>, tensor<8192x320xf16>) outs(%165 : tensor<8192x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<8192x320xf16> | |
| %expanded_1074 = tensor.expand_shape %413 [[0, 1], [2]] : tensor<8192x320xf16> into tensor<2x4096x320xf16> | |
| %414 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1074, %351 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %expanded_1075 = tensor.expand_shape %414 [[0], [1], [2, 3]] : tensor<2x4096x320xf16> into tensor<2x4096x20x16xf16> | |
| %415 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1075 : tensor<2x4096x20x16xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %416:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%415 : tensor<2x4096x20x16xf16>) outs(%149, %147 : tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) | |
| %417 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%416#0 : tensor<2x4096x20x1xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %collapsed_1076 = tensor.collapse_shape %417 [[0], [1], [2, 3]] : tensor<2x4096x20x16xf16> into tensor<2x4096x320xf16> | |
| %418 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1076 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %419 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%414, %418 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %420 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%419, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %421 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%420 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %422 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%421 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %423 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%422, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %424 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%423, %418 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %425 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_887 : tensor<320x20x1xf16>) outs(%160 : tensor<320x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x20x16xf16> | |
| %collapsed_1077 = tensor.collapse_shape %425 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
| %426 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_886, %collapsed_1077 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x320xf16> | |
| %427 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%426 : tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x320xf16> | |
| %collapsed_1078 = tensor.collapse_shape %424 [[0, 1], [2]] : tensor<2x4096x320xf16> into tensor<8192x320xf16> | |
| %428 = linalg.matmul ins(%collapsed_1078, %427 : tensor<8192x320xf16>, tensor<320x320xf16>) outs(%166 : tensor<8192x320xf16>) -> tensor<8192x320xf16> | |
| %429 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_885, %428 : tensor<320xf16>, tensor<8192x320xf16>) outs(%165 : tensor<8192x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<8192x320xf16> | |
| %expanded_1079 = tensor.expand_shape %429 [[0, 1, 2], [3]] : tensor<8192x320xf16> into tensor<2x64x64x320xf16> | |
| %430 = linalg.generic {indexing_maps = [#map1, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1079 : tensor<2x64x64x320xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %431 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%430, %123 : tensor<2x320x64x64xf16>, tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %collapsed_1080 = tensor.collapse_shape %431 [[0], [1], [2, 3]] : tensor<2x320x64x64xf16> into tensor<2x320x4096xf16> | |
| %expanded_1081 = tensor.expand_shape %collapsed_1080 [[0], [1, 2], [3]] : tensor<2x320x4096xf16> into tensor<2x32x10x4096xf16> | |
| %432 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1081 : tensor<2x32x10x4096xf16>) outs(%32 : tensor<2x32x10x4096xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x10x4096xf32> | |
| %433 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%432 : tensor<2x32x10x4096xf32>) outs(%34 : tensor<2x32x10x4096xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x10x4096xf64> | |
| %434 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%433 : tensor<2x32x10x4096xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %435 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%434 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_954 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %436 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%433, %435 : tensor<2x32x10x4096xf64>, tensor<2x32x1x1xf64>) outs(%34 : tensor<2x32x10x4096xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x10x4096xf64> | |
| %437 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%436, %436 : tensor<2x32x10x4096xf64>, tensor<2x32x10x4096xf64>) outs(%34 : tensor<2x32x10x4096xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x10x4096xf64> | |
| %438 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%437 : tensor<2x32x10x4096xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %439 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%438 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_954 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %440 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%439 : tensor<2x32x1x1xf64>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %441 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%432 : tensor<2x32x10x4096xf32>) outs(%46 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %442 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%441 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_955 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %443 = linalg.generic {indexing_maps = [#map11, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%440, %cst_938 : tensor<2x32x1x1xf32>, tensor<f16>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %444 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%443 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %445 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1081, %442 : tensor<2x32x10x4096xf16>, tensor<2x32x1x1xf32>) outs(%32 : tensor<2x32x10x4096xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x10x4096xf32> | |
| %446 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%445, %444 : tensor<2x32x10x4096xf32>, tensor<2x32x1x1xf32>) outs(%32 : tensor<2x32x10x4096xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x10x4096xf32> | |
| %collapsed_1082 = tensor.collapse_shape %446 [[0], [1, 2], [3]] : tensor<2x32x10x4096xf32> into tensor<2x320x4096xf32> | |
| %expanded_1083 = tensor.expand_shape %collapsed_1082 [[0], [1], [2, 3]] : tensor<2x320x4096xf32> into tensor<2x320x64x64xf32> | |
| %expanded_1084 = tensor.expand_shape %cst_884 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
| %expanded_1085 = tensor.expand_shape %cst_883 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
| %447 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1083, %expanded_1085 : tensor<2x320x64x64xf32>, tensor<1x320x1x1xf16>) outs(%53 : tensor<2x320x64x64xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x320x64x64xf32> | |
| %448 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%447, %expanded_1084 : tensor<2x320x64x64xf32>, tensor<1x320x1x1xf16>) outs(%53 : tensor<2x320x64x64xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x320x64x64xf32> | |
| %449 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%448 : tensor<2x320x64x64xf32>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %450 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%449 : tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.negf %in : f16 | |
| %6235 = math.exp %6234 : f16 | |
| %6236 = arith.addf %6235, %cst_947 : f16 | |
| %6237 = arith.divf %cst_947, %6236 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %451 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%450, %449 : tensor<2x320x64x64xf16>, tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %expanded_1086 = tensor.expand_shape %451 [[0], [1, 2], [3], [4]] : tensor<2x320x64x64xf16> into tensor<2x20x16x64x64xf16> | |
| %452 = linalg.generic {indexing_maps = [#map14, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1086 : tensor<2x20x16x64x64xf16>) outs(%59 : tensor<2x20x16x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x20x16x64x64xf16> | |
| %453:2 = linalg.generic {indexing_maps = [#map14, #map15, #map15], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%452 : tensor<2x20x16x64x64xf16>) outs(%64, %62 : tensor<2x20x1x64x64xf16>, tensor<2x20x1x64x64xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x20x1x64x64xf16>, tensor<2x20x1x64x64xi64>) | |
| %454 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%453#0 : tensor<2x20x1x64x64xf16>) outs(%59 : tensor<2x20x16x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x20x16x64x64xf16> | |
| %collapsed_1087 = tensor.collapse_shape %454 [[0], [1, 2], [3], [4]] : tensor<2x20x16x64x64xf16> into tensor<2x320x64x64xf16> | |
| %455 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1087 : tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %456 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%451, %455 : tensor<2x320x64x64xf16>, tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %457 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%456, %cst_935 : tensor<2x320x64x64xf16>, tensor<f16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %458 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%457 : tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %459 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%458 : tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %460 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%459, %cst_935 : tensor<2x320x64x64xf16>, tensor<f16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %461 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%460, %455 : tensor<2x320x64x64xf16>, tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %462 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_882 : tensor<320x20x1x3x3xf16>) outs(%74 : tensor<320x20x16x3x3xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x20x16x3x3xf16> | |
| %collapsed_1088 = tensor.collapse_shape %462 [[0], [1, 2], [3], [4]] : tensor<320x20x16x3x3xf16> into tensor<320x320x3x3xf16> | |
| %463 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_881, %collapsed_1088 : tensor<320x320x3x3xi8>, tensor<320x320x3x3xf16>) outs(%76 : tensor<320x320x3x3xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x320x3x3xf16> | |
| %padded_1089 = tensor.pad %461 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg4: index, %arg5: index, %arg6: index, %arg7: index): | |
| tensor.yield %cst_946 : f16 | |
| } : tensor<2x320x64x64xf16> to tensor<2x320x66x66xf16> | |
| %464 = linalg.generic {indexing_maps = [#map10, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_880 : tensor<320xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %465 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1089, %463 : tensor<2x320x66x66xf16>, tensor<320x320x3x3xf16>) outs(%464 : tensor<2x320x64x64xf16>) -> tensor<2x320x64x64xf16> | |
| %466 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%cst_879 : tensor<320x1280xf16>) outs(%82 : tensor<1280x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x320xf16> | |
| %467 = linalg.matmul ins(%81, %466 : tensor<2x1280xf16>, tensor<1280x320xf16>) outs(%84 : tensor<2x320xf16>) -> tensor<2x320xf16> | |
| %468 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_878, %467 : tensor<320xf16>, tensor<2x320xf16>) outs(%15 : tensor<2x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320xf16> | |
| %expanded_1090 = tensor.expand_shape %468 [[0], [1, 2, 3]] : tensor<2x320xf16> into tensor<2x320x1x1xf16> | |
| %469 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%465, %expanded_1090 : tensor<2x320x64x64xf16>, tensor<2x320x1x1xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %collapsed_1091 = tensor.collapse_shape %469 [[0], [1], [2, 3]] : tensor<2x320x64x64xf16> into tensor<2x320x4096xf16> | |
| %expanded_1092 = tensor.expand_shape %collapsed_1091 [[0], [1, 2], [3]] : tensor<2x320x4096xf16> into tensor<2x32x10x4096xf16> | |
| %470 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1092 : tensor<2x32x10x4096xf16>) outs(%32 : tensor<2x32x10x4096xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x10x4096xf32> | |
| %471 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%470 : tensor<2x32x10x4096xf32>) outs(%34 : tensor<2x32x10x4096xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x10x4096xf64> | |
| %472 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%471 : tensor<2x32x10x4096xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %473 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%472 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_954 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %474 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%471, %473 : tensor<2x32x10x4096xf64>, tensor<2x32x1x1xf64>) outs(%34 : tensor<2x32x10x4096xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x10x4096xf64> | |
| %475 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%474, %474 : tensor<2x32x10x4096xf64>, tensor<2x32x10x4096xf64>) outs(%34 : tensor<2x32x10x4096xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x10x4096xf64> | |
| %476 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%475 : tensor<2x32x10x4096xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %477 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%476 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_954 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %478 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%477 : tensor<2x32x1x1xf64>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %479 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%470 : tensor<2x32x10x4096xf32>) outs(%46 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %480 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%479 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_955 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %481 = linalg.generic {indexing_maps = [#map11, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%478, %cst_938 : tensor<2x32x1x1xf32>, tensor<f16>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %482 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%481 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %483 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1092, %480 : tensor<2x32x10x4096xf16>, tensor<2x32x1x1xf32>) outs(%32 : tensor<2x32x10x4096xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x10x4096xf32> | |
| %484 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%483, %482 : tensor<2x32x10x4096xf32>, tensor<2x32x1x1xf32>) outs(%32 : tensor<2x32x10x4096xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x10x4096xf32> | |
| %collapsed_1093 = tensor.collapse_shape %484 [[0], [1, 2], [3]] : tensor<2x32x10x4096xf32> into tensor<2x320x4096xf32> | |
| %expanded_1094 = tensor.expand_shape %collapsed_1093 [[0], [1], [2, 3]] : tensor<2x320x4096xf32> into tensor<2x320x64x64xf32> | |
| %expanded_1095 = tensor.expand_shape %cst_877 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
| %expanded_1096 = tensor.expand_shape %cst_876 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
| %485 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1094, %expanded_1096 : tensor<2x320x64x64xf32>, tensor<1x320x1x1xf16>) outs(%53 : tensor<2x320x64x64xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x320x64x64xf32> | |
| %486 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%485, %expanded_1095 : tensor<2x320x64x64xf32>, tensor<1x320x1x1xf16>) outs(%53 : tensor<2x320x64x64xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x320x64x64xf32> | |
| %487 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%486 : tensor<2x320x64x64xf32>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %488 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%487 : tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.negf %in : f16 | |
| %6235 = math.exp %6234 : f16 | |
| %6236 = arith.addf %6235, %cst_947 : f16 | |
| %6237 = arith.divf %cst_947, %6236 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %489 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%488, %487 : tensor<2x320x64x64xf16>, tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %expanded_1097 = tensor.expand_shape %489 [[0], [1, 2], [3], [4]] : tensor<2x320x64x64xf16> into tensor<2x20x16x64x64xf16> | |
| %490 = linalg.generic {indexing_maps = [#map14, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1097 : tensor<2x20x16x64x64xf16>) outs(%59 : tensor<2x20x16x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x20x16x64x64xf16> | |
| %491:2 = linalg.generic {indexing_maps = [#map14, #map15, #map15], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%490 : tensor<2x20x16x64x64xf16>) outs(%64, %62 : tensor<2x20x1x64x64xf16>, tensor<2x20x1x64x64xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x20x1x64x64xf16>, tensor<2x20x1x64x64xi64>) | |
| %492 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%491#0 : tensor<2x20x1x64x64xf16>) outs(%59 : tensor<2x20x16x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x20x16x64x64xf16> | |
| %collapsed_1098 = tensor.collapse_shape %492 [[0], [1, 2], [3], [4]] : tensor<2x20x16x64x64xf16> into tensor<2x320x64x64xf16> | |
| %493 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1098 : tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %494 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%489, %493 : tensor<2x320x64x64xf16>, tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %495 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%494, %cst_935 : tensor<2x320x64x64xf16>, tensor<f16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %496 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%495 : tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %497 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%496 : tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %498 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%497, %cst_935 : tensor<2x320x64x64xf16>, tensor<f16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %499 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%498, %493 : tensor<2x320x64x64xf16>, tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %500 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_875 : tensor<320x20x1x3x3xf16>) outs(%74 : tensor<320x20x16x3x3xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x20x16x3x3xf16> | |
| %collapsed_1099 = tensor.collapse_shape %500 [[0], [1, 2], [3], [4]] : tensor<320x20x16x3x3xf16> into tensor<320x320x3x3xf16> | |
| %501 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_874, %collapsed_1099 : tensor<320x320x3x3xi8>, tensor<320x320x3x3xf16>) outs(%76 : tensor<320x320x3x3xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x320x3x3xf16> | |
| %padded_1100 = tensor.pad %499 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg4: index, %arg5: index, %arg6: index, %arg7: index): | |
| tensor.yield %cst_946 : f16 | |
| } : tensor<2x320x64x64xf16> to tensor<2x320x66x66xf16> | |
| %502 = linalg.generic {indexing_maps = [#map10, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_873 : tensor<320xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %503 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1100, %501 : tensor<2x320x66x66xf16>, tensor<320x320x3x3xf16>) outs(%502 : tensor<2x320x64x64xf16>) -> tensor<2x320x64x64xf16> | |
| %504 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%431, %503 : tensor<2x320x64x64xf16>, tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %505 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%504, %cst_924 : tensor<2x320x64x64xf16>, tensor<f16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %collapsed_1101 = tensor.collapse_shape %505 [[0], [1], [2, 3]] : tensor<2x320x64x64xf16> into tensor<2x320x4096xf16> | |
| %expanded_1102 = tensor.expand_shape %collapsed_1101 [[0], [1, 2], [3]] : tensor<2x320x4096xf16> into tensor<2x32x10x4096xf16> | |
| %506 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1102 : tensor<2x32x10x4096xf16>) outs(%32 : tensor<2x32x10x4096xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x10x4096xf32> | |
| %507 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%506 : tensor<2x32x10x4096xf32>) outs(%34 : tensor<2x32x10x4096xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x10x4096xf64> | |
| %508 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%507 : tensor<2x32x10x4096xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %509 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%508 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_954 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %510 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%507, %509 : tensor<2x32x10x4096xf64>, tensor<2x32x1x1xf64>) outs(%34 : tensor<2x32x10x4096xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x10x4096xf64> | |
| %511 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%510, %510 : tensor<2x32x10x4096xf64>, tensor<2x32x10x4096xf64>) outs(%34 : tensor<2x32x10x4096xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x10x4096xf64> | |
| %512 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%511 : tensor<2x32x10x4096xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %513 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%512 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_954 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %514 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%513 : tensor<2x32x1x1xf64>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %515 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%506 : tensor<2x32x10x4096xf32>) outs(%46 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %516 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%515 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_955 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %517 = linalg.generic {indexing_maps = [#map11, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%514, %cst_923 : tensor<2x32x1x1xf32>, tensor<f16>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %518 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%517 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %519 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1102, %516 : tensor<2x32x10x4096xf16>, tensor<2x32x1x1xf32>) outs(%32 : tensor<2x32x10x4096xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x10x4096xf32> | |
| %520 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%519, %518 : tensor<2x32x10x4096xf32>, tensor<2x32x1x1xf32>) outs(%32 : tensor<2x32x10x4096xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x10x4096xf32> | |
| %collapsed_1103 = tensor.collapse_shape %520 [[0], [1, 2], [3]] : tensor<2x32x10x4096xf32> into tensor<2x320x4096xf32> | |
| %expanded_1104 = tensor.expand_shape %collapsed_1103 [[0], [1], [2, 3]] : tensor<2x320x4096xf32> into tensor<2x320x64x64xf32> | |
| %expanded_1105 = tensor.expand_shape %cst_872 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
| %expanded_1106 = tensor.expand_shape %cst_871 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
| %521 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1104, %expanded_1106 : tensor<2x320x64x64xf32>, tensor<1x320x1x1xf16>) outs(%53 : tensor<2x320x64x64xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x320x64x64xf32> | |
| %522 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%521, %expanded_1105 : tensor<2x320x64x64xf32>, tensor<1x320x1x1xf16>) outs(%53 : tensor<2x320x64x64xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x320x64x64xf32> | |
| %523 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%522 : tensor<2x320x64x64xf32>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %524 = linalg.generic {indexing_maps = [#map1, #map16], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%523 : tensor<2x320x64x64xf16>) outs(%142 : tensor<2x64x64x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x64x64x320xf16> | |
| %collapsed_1107 = tensor.collapse_shape %524 [[0], [1, 2], [3]] : tensor<2x64x64x320xf16> into tensor<2x4096x320xf16> | |
| %expanded_1108 = tensor.expand_shape %collapsed_1107 [[0], [1], [2, 3]] : tensor<2x4096x320xf16> into tensor<2x4096x20x16xf16> | |
| %525 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1108 : tensor<2x4096x20x16xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %526:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%525 : tensor<2x4096x20x16xf16>) outs(%149, %147 : tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) | |
| %527 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%526#0 : tensor<2x4096x20x1xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %collapsed_1109 = tensor.collapse_shape %527 [[0], [1], [2, 3]] : tensor<2x4096x20x16xf16> into tensor<2x4096x320xf16> | |
| %528 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1109 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %529 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1107, %528 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %530 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%529, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %531 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%530 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %532 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%531 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %533 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%532, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %534 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%533, %528 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %535 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_870 : tensor<320x20x1xf16>) outs(%160 : tensor<320x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x20x16xf16> | |
| %collapsed_1110 = tensor.collapse_shape %535 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
| %536 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_869, %collapsed_1110 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x320xf16> | |
| %537 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%536 : tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x320xf16> | |
| %collapsed_1111 = tensor.collapse_shape %534 [[0, 1], [2]] : tensor<2x4096x320xf16> into tensor<8192x320xf16> | |
| %538 = linalg.matmul ins(%collapsed_1111, %537 : tensor<8192x320xf16>, tensor<320x320xf16>) outs(%166 : tensor<8192x320xf16>) -> tensor<8192x320xf16> | |
| %539 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_868, %538 : tensor<320xf16>, tensor<8192x320xf16>) outs(%165 : tensor<8192x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<8192x320xf16> | |
| %expanded_1112 = tensor.expand_shape %539 [[0, 1], [2]] : tensor<8192x320xf16> into tensor<2x4096x320xf16> | |
| %540 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1112 : tensor<2x4096x320xf16>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %541 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%540 : tensor<2x4096x320xf32>) outs(%171 : tensor<2x4096x320xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x320xf64> | |
| %542 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%541 : tensor<2x4096x320xf64>) outs(%174 : tensor<2x4096x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x1xf64> | |
| %543 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%542 : tensor<2x4096x1xf64>) outs(%173 : tensor<2x4096x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_959 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x1xf64> | |
| %544 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%541, %543 : tensor<2x4096x320xf64>, tensor<2x4096x1xf64>) outs(%171 : tensor<2x4096x320xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x320xf64> | |
| %545 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%544, %544 : tensor<2x4096x320xf64>, tensor<2x4096x320xf64>) outs(%171 : tensor<2x4096x320xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x320xf64> | |
| %546 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%545 : tensor<2x4096x320xf64>) outs(%174 : tensor<2x4096x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x1xf64> | |
| %547 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%546 : tensor<2x4096x1xf64>) outs(%173 : tensor<2x4096x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_959 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x1xf64> | |
| %548 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%547 : tensor<2x4096x1xf64>) outs(%181 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %549 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%540 : tensor<2x4096x320xf32>) outs(%183 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %550 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%549 : tensor<2x4096x1xf32>) outs(%181 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_960 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %551 = linalg.generic {indexing_maps = [#map20, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%548, %cst_938 : tensor<2x4096x1xf32>, tensor<f16>) outs(%181 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %552 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%551 : tensor<2x4096x1xf32>) outs(%181 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %553 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1112, %550 : tensor<2x4096x320xf16>, tensor<2x4096x1xf32>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %554 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%553, %552 : tensor<2x4096x320xf32>, tensor<2x4096x1xf32>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %555 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%554, %cst_867 : tensor<2x4096x320xf32>, tensor<320xf16>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %556 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%555, %cst_866 : tensor<2x4096x320xf32>, tensor<320xf16>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %557 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%556 : tensor<2x4096x320xf32>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %expanded_1113 = tensor.expand_shape %557 [[0], [1], [2, 3]] : tensor<2x4096x320xf16> into tensor<2x4096x20x16xf16> | |
| %558 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1113 : tensor<2x4096x20x16xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %559:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%558 : tensor<2x4096x20x16xf16>) outs(%149, %147 : tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) | |
| %560 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%559#0 : tensor<2x4096x20x1xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %collapsed_1114 = tensor.collapse_shape %560 [[0], [1], [2, 3]] : tensor<2x4096x20x16xf16> into tensor<2x4096x320xf16> | |
| %561 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1114 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %562 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%557, %561 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %563 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%562, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %564 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%563 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %565 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%564 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %566 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%565, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %567 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%566, %561 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %568 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_865 : tensor<320x20x1xf16>) outs(%160 : tensor<320x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x20x16xf16> | |
| %collapsed_1115 = tensor.collapse_shape %568 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
| %569 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_864, %collapsed_1115 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x320xf16> | |
| %570 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%569 : tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x320xf16> | |
| %collapsed_1116 = tensor.collapse_shape %567 [[0, 1], [2]] : tensor<2x4096x320xf16> into tensor<8192x320xf16> | |
| %571 = linalg.matmul ins(%collapsed_1116, %570 : tensor<8192x320xf16>, tensor<320x320xf16>) outs(%166 : tensor<8192x320xf16>) -> tensor<8192x320xf16> | |
| %expanded_1117 = tensor.expand_shape %571 [[0, 1], [2, 3]] : tensor<8192x320xf16> into tensor<2x4096x5x64xf16> | |
| %572 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1117 : tensor<2x4096x5x64xf16>) outs(%207 : tensor<2x5x4096x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x5x4096x64xf16> | |
| %collapsed_1118 = tensor.collapse_shape %572 [[0, 1], [2], [3]] : tensor<2x5x4096x64xf16> into tensor<10x4096x64xf16> | |
| %573 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_863 : tensor<320x20x1xf16>) outs(%160 : tensor<320x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x20x16xf16> | |
| %collapsed_1119 = tensor.collapse_shape %573 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
| %574 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_862, %collapsed_1119 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x320xf16> | |
| %575 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%574 : tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x320xf16> | |
| %576 = linalg.matmul ins(%collapsed_1116, %575 : tensor<8192x320xf16>, tensor<320x320xf16>) outs(%166 : tensor<8192x320xf16>) -> tensor<8192x320xf16> | |
| %577 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_861 : tensor<320x20x1xf16>) outs(%160 : tensor<320x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x20x16xf16> | |
| %collapsed_1120 = tensor.collapse_shape %577 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
| %578 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_860, %collapsed_1120 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x320xf16> | |
| %579 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%578 : tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x320xf16> | |
| %580 = linalg.matmul ins(%collapsed_1116, %579 : tensor<8192x320xf16>, tensor<320x320xf16>) outs(%166 : tensor<8192x320xf16>) -> tensor<8192x320xf16> | |
| %expanded_1121 = tensor.expand_shape %576 [[0, 1], [2, 3]] : tensor<8192x320xf16> into tensor<2x4096x5x64xf16> | |
| %581 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1121 : tensor<2x4096x5x64xf16>) outs(%207 : tensor<2x5x4096x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x5x4096x64xf16> | |
| %collapsed_1122 = tensor.collapse_shape %581 [[0, 1], [2], [3]] : tensor<2x5x4096x64xf16> into tensor<10x4096x64xf16> | |
| %expanded_1123 = tensor.expand_shape %580 [[0, 1], [2, 3]] : tensor<8192x320xf16> into tensor<2x4096x5x64xf16> | |
| %582 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1123 : tensor<2x4096x5x64xf16>) outs(%207 : tensor<2x5x4096x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x5x4096x64xf16> | |
| %collapsed_1124 = tensor.collapse_shape %582 [[0, 1], [2], [3]] : tensor<2x5x4096x64xf16> into tensor<10x4096x64xf16> | |
| %583 = linalg.generic {indexing_maps = [#map18, #map23], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1122 : tensor<10x4096x64xf16>) outs(%221 : tensor<10x64x4096xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<10x64x4096xf16> | |
| %584 = linalg.batch_matmul ins(%collapsed_1118, %583 : tensor<10x4096x64xf16>, tensor<10x64x4096xf16>) outs(%220 : tensor<10x4096x4096xf16>) -> tensor<10x4096x4096xf16> | |
| %585 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%584 : tensor<10x4096x4096xf16>) outs(%219 : tensor<10x4096x4096xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.mulf %in, %cst_961 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<10x4096x4096xf16> | |
| %586 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%585, %220 : tensor<10x4096x4096xf16>, tensor<10x4096x4096xf16>) outs(%219 : tensor<10x4096x4096xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in_2625, %cst_946 : f16 | |
| %6235 = arith.addf %in, %6234 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<10x4096x4096xf16> | |
| %587:2 = linalg.generic {indexing_maps = [#map18, #map20, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%586 : tensor<10x4096x4096xf16>) outs(%229, %227 : tensor<10x4096x1xf16>, tensor<10x4096x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<10x4096x1xf16>, tensor<10x4096x1xi64>) | |
| %588 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%586, %587#0 : tensor<10x4096x4096xf16>, tensor<10x4096x1xf16>) outs(%219 : tensor<10x4096x4096xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<10x4096x4096xf16> | |
| %589 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%588 : tensor<10x4096x4096xf16>) outs(%219 : tensor<10x4096x4096xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.exp %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<10x4096x4096xf16> | |
| %590 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%589 : tensor<10x4096x4096xf16>) outs(%233 : tensor<10x4096x1xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.addf %in, %out : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<10x4096x1xf16> | |
| %591 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%589, %590 : tensor<10x4096x4096xf16>, tensor<10x4096x1xf16>) outs(%219 : tensor<10x4096x4096xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<10x4096x4096xf16> | |
| %592 = linalg.batch_matmul ins(%591, %collapsed_1124 : tensor<10x4096x4096xf16>, tensor<10x4096x64xf16>) outs(%237 : tensor<10x4096x64xf16>) -> tensor<10x4096x64xf16> | |
| %expanded_1125 = tensor.expand_shape %592 [[0, 1], [2], [3]] : tensor<10x4096x64xf16> into tensor<2x5x4096x64xf16> | |
| %593 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1125 : tensor<2x5x4096x64xf16>) outs(%239 : tensor<2x4096x5x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x4096x5x64xf16> | |
| %collapsed_1126 = tensor.collapse_shape %593 [[0], [1], [2, 3]] : tensor<2x4096x5x64xf16> into tensor<2x4096x320xf16> | |
| %expanded_1127 = tensor.expand_shape %collapsed_1126 [[0], [1], [2, 3]] : tensor<2x4096x320xf16> into tensor<2x4096x20x16xf16> | |
| %594 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1127 : tensor<2x4096x20x16xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %595:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%594 : tensor<2x4096x20x16xf16>) outs(%149, %147 : tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) | |
| %596 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%595#0 : tensor<2x4096x20x1xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %collapsed_1128 = tensor.collapse_shape %596 [[0], [1], [2, 3]] : tensor<2x4096x20x16xf16> into tensor<2x4096x320xf16> | |
| %597 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1128 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %598 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1126, %597 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %599 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%598, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %600 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%599 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %601 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%600 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %602 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%601, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %603 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%602, %597 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %604 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_859 : tensor<320x20x1xf16>) outs(%160 : tensor<320x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x20x16xf16> | |
| %collapsed_1129 = tensor.collapse_shape %604 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
| %605 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_858, %collapsed_1129 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x320xf16> | |
| %606 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%605 : tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x320xf16> | |
| %collapsed_1130 = tensor.collapse_shape %603 [[0, 1], [2]] : tensor<2x4096x320xf16> into tensor<8192x320xf16> | |
| %607 = linalg.matmul ins(%collapsed_1130, %606 : tensor<8192x320xf16>, tensor<320x320xf16>) outs(%166 : tensor<8192x320xf16>) -> tensor<8192x320xf16> | |
| %608 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_857, %607 : tensor<320xf16>, tensor<8192x320xf16>) outs(%165 : tensor<8192x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<8192x320xf16> | |
| %expanded_1131 = tensor.expand_shape %608 [[0, 1], [2]] : tensor<8192x320xf16> into tensor<2x4096x320xf16> | |
| %609 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1131, %expanded_1112 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %610 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%609 : tensor<2x4096x320xf16>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %611 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%610 : tensor<2x4096x320xf32>) outs(%171 : tensor<2x4096x320xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x320xf64> | |
| %612 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%611 : tensor<2x4096x320xf64>) outs(%174 : tensor<2x4096x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x1xf64> | |
| %613 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%612 : tensor<2x4096x1xf64>) outs(%173 : tensor<2x4096x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_959 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x1xf64> | |
| %614 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%611, %613 : tensor<2x4096x320xf64>, tensor<2x4096x1xf64>) outs(%171 : tensor<2x4096x320xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x320xf64> | |
| %615 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%614, %614 : tensor<2x4096x320xf64>, tensor<2x4096x320xf64>) outs(%171 : tensor<2x4096x320xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x320xf64> | |
| %616 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%615 : tensor<2x4096x320xf64>) outs(%174 : tensor<2x4096x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x1xf64> | |
| %617 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%616 : tensor<2x4096x1xf64>) outs(%173 : tensor<2x4096x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_959 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x1xf64> | |
| %618 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%617 : tensor<2x4096x1xf64>) outs(%181 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %619 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%610 : tensor<2x4096x320xf32>) outs(%183 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %620 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%619 : tensor<2x4096x1xf32>) outs(%181 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_960 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %621 = linalg.generic {indexing_maps = [#map20, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%618, %cst_938 : tensor<2x4096x1xf32>, tensor<f16>) outs(%181 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %622 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%621 : tensor<2x4096x1xf32>) outs(%181 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %623 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%609, %620 : tensor<2x4096x320xf16>, tensor<2x4096x1xf32>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %624 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%623, %622 : tensor<2x4096x320xf32>, tensor<2x4096x1xf32>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %625 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%624, %cst_856 : tensor<2x4096x320xf32>, tensor<320xf16>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %626 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%625, %cst_855 : tensor<2x4096x320xf32>, tensor<320xf16>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %627 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%626 : tensor<2x4096x320xf32>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %expanded_1132 = tensor.expand_shape %627 [[0], [1], [2, 3]] : tensor<2x4096x320xf16> into tensor<2x4096x20x16xf16> | |
| %628 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1132 : tensor<2x4096x20x16xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %629:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%628 : tensor<2x4096x20x16xf16>) outs(%149, %147 : tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) | |
| %630 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%629#0 : tensor<2x4096x20x1xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %collapsed_1133 = tensor.collapse_shape %630 [[0], [1], [2, 3]] : tensor<2x4096x20x16xf16> into tensor<2x4096x320xf16> | |
| %631 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1133 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %632 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%627, %631 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %633 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%632, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %634 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%633 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %635 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%634 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %636 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%635, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %637 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%636, %631 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %638 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_854 : tensor<320x20x1xf16>) outs(%160 : tensor<320x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x20x16xf16> | |
| %collapsed_1134 = tensor.collapse_shape %638 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
| %639 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_853, %collapsed_1134 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x320xf16> | |
| %640 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%639 : tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x320xf16> | |
| %collapsed_1135 = tensor.collapse_shape %637 [[0, 1], [2]] : tensor<2x4096x320xf16> into tensor<8192x320xf16> | |
| %641 = linalg.matmul ins(%collapsed_1135, %640 : tensor<8192x320xf16>, tensor<320x320xf16>) outs(%166 : tensor<8192x320xf16>) -> tensor<8192x320xf16> | |
| %expanded_1136 = tensor.expand_shape %641 [[0, 1], [2, 3]] : tensor<8192x320xf16> into tensor<2x4096x5x64xf16> | |
| %642 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1136 : tensor<2x4096x5x64xf16>) outs(%207 : tensor<2x5x4096x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x5x4096x64xf16> | |
| %collapsed_1137 = tensor.collapse_shape %642 [[0, 1], [2], [3]] : tensor<2x5x4096x64xf16> into tensor<10x4096x64xf16> | |
| %643 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_852 : tensor<320x64x1xf16>) outs(%306 : tensor<320x64x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x64x16xf16> | |
| %collapsed_1138 = tensor.collapse_shape %643 [[0], [1, 2]] : tensor<320x64x16xf16> into tensor<320x1024xf16> | |
| %644 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_851, %collapsed_1138 : tensor<320x1024xi8>, tensor<320x1024xf16>) outs(%308 : tensor<320x1024xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x1024xf16> | |
| %645 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%644 : tensor<320x1024xf16>) outs(%310 : tensor<1024x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1024x320xf16> | |
| %646 = linalg.matmul ins(%collapsed_1050, %645 : tensor<154x1024xf16>, tensor<1024x320xf16>) outs(%313 : tensor<154x320xf16>) -> tensor<154x320xf16> | |
| %647 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_850 : tensor<320x64x1xf16>) outs(%306 : tensor<320x64x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x64x16xf16> | |
| %collapsed_1139 = tensor.collapse_shape %647 [[0], [1, 2]] : tensor<320x64x16xf16> into tensor<320x1024xf16> | |
| %648 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_849, %collapsed_1139 : tensor<320x1024xi8>, tensor<320x1024xf16>) outs(%308 : tensor<320x1024xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x1024xf16> | |
| %649 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%648 : tensor<320x1024xf16>) outs(%310 : tensor<1024x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1024x320xf16> | |
| %650 = linalg.matmul ins(%collapsed_1050, %649 : tensor<154x1024xf16>, tensor<1024x320xf16>) outs(%313 : tensor<154x320xf16>) -> tensor<154x320xf16> | |
| %expanded_1140 = tensor.expand_shape %646 [[0, 1], [2, 3]] : tensor<154x320xf16> into tensor<2x77x5x64xf16> | |
| %651 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1140 : tensor<2x77x5x64xf16>) outs(%319 : tensor<2x5x77x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x5x77x64xf16> | |
| %collapsed_1141 = tensor.collapse_shape %651 [[0, 1], [2], [3]] : tensor<2x5x77x64xf16> into tensor<10x77x64xf16> | |
| %expanded_1142 = tensor.expand_shape %650 [[0, 1], [2, 3]] : tensor<154x320xf16> into tensor<2x77x5x64xf16> | |
| %652 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1142 : tensor<2x77x5x64xf16>) outs(%319 : tensor<2x5x77x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x5x77x64xf16> | |
| %collapsed_1143 = tensor.collapse_shape %652 [[0, 1], [2], [3]] : tensor<2x5x77x64xf16> into tensor<10x77x64xf16> | |
| %653 = linalg.generic {indexing_maps = [#map18, #map23], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1141 : tensor<10x77x64xf16>) outs(%324 : tensor<10x64x77xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<10x64x77xf16> | |
| %654 = linalg.batch_matmul ins(%collapsed_1137, %653 : tensor<10x4096x64xf16>, tensor<10x64x77xf16>) outs(%323 : tensor<10x4096x77xf16>) -> tensor<10x4096x77xf16> | |
| %655 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%654 : tensor<10x4096x77xf16>) outs(%322 : tensor<10x4096x77xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.mulf %in, %cst_961 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<10x4096x77xf16> | |
| %656 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%655, %323 : tensor<10x4096x77xf16>, tensor<10x4096x77xf16>) outs(%322 : tensor<10x4096x77xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in_2625, %cst_946 : f16 | |
| %6235 = arith.addf %in, %6234 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<10x4096x77xf16> | |
| %657:2 = linalg.generic {indexing_maps = [#map18, #map20, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%656 : tensor<10x4096x77xf16>) outs(%229, %227 : tensor<10x4096x1xf16>, tensor<10x4096x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<10x4096x1xf16>, tensor<10x4096x1xi64>) | |
| %658 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%656, %657#0 : tensor<10x4096x77xf16>, tensor<10x4096x1xf16>) outs(%322 : tensor<10x4096x77xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<10x4096x77xf16> | |
| %659 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%658 : tensor<10x4096x77xf16>) outs(%322 : tensor<10x4096x77xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.exp %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<10x4096x77xf16> | |
| %660 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%659 : tensor<10x4096x77xf16>) outs(%233 : tensor<10x4096x1xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.addf %in, %out : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<10x4096x1xf16> | |
| %661 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%659, %660 : tensor<10x4096x77xf16>, tensor<10x4096x1xf16>) outs(%322 : tensor<10x4096x77xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<10x4096x77xf16> | |
| %662 = linalg.batch_matmul ins(%661, %collapsed_1143 : tensor<10x4096x77xf16>, tensor<10x77x64xf16>) outs(%237 : tensor<10x4096x64xf16>) -> tensor<10x4096x64xf16> | |
| %expanded_1144 = tensor.expand_shape %662 [[0, 1], [2], [3]] : tensor<10x4096x64xf16> into tensor<2x5x4096x64xf16> | |
| %663 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1144 : tensor<2x5x4096x64xf16>) outs(%239 : tensor<2x4096x5x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x4096x5x64xf16> | |
| %collapsed_1145 = tensor.collapse_shape %663 [[0], [1], [2, 3]] : tensor<2x4096x5x64xf16> into tensor<2x4096x320xf16> | |
| %expanded_1146 = tensor.expand_shape %collapsed_1145 [[0], [1], [2, 3]] : tensor<2x4096x320xf16> into tensor<2x4096x20x16xf16> | |
| %664 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1146 : tensor<2x4096x20x16xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %665:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%664 : tensor<2x4096x20x16xf16>) outs(%149, %147 : tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) | |
| %666 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%665#0 : tensor<2x4096x20x1xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %collapsed_1147 = tensor.collapse_shape %666 [[0], [1], [2, 3]] : tensor<2x4096x20x16xf16> into tensor<2x4096x320xf16> | |
| %667 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1147 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %668 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1145, %667 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %669 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%668, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %670 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%669 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %671 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%670 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %672 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%671, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %673 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%672, %667 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %674 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_848 : tensor<320x20x1xf16>) outs(%160 : tensor<320x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x20x16xf16> | |
| %collapsed_1148 = tensor.collapse_shape %674 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
| %675 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_847, %collapsed_1148 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x320xf16> | |
| %676 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%675 : tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x320xf16> | |
| %collapsed_1149 = tensor.collapse_shape %673 [[0, 1], [2]] : tensor<2x4096x320xf16> into tensor<8192x320xf16> | |
| %677 = linalg.matmul ins(%collapsed_1149, %676 : tensor<8192x320xf16>, tensor<320x320xf16>) outs(%166 : tensor<8192x320xf16>) -> tensor<8192x320xf16> | |
| %678 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_846, %677 : tensor<320xf16>, tensor<8192x320xf16>) outs(%165 : tensor<8192x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<8192x320xf16> | |
| %expanded_1150 = tensor.expand_shape %678 [[0, 1], [2]] : tensor<8192x320xf16> into tensor<2x4096x320xf16> | |
| %679 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1150, %609 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %680 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%679 : tensor<2x4096x320xf16>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %681 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%680 : tensor<2x4096x320xf32>) outs(%171 : tensor<2x4096x320xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x320xf64> | |
| %682 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%681 : tensor<2x4096x320xf64>) outs(%174 : tensor<2x4096x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x1xf64> | |
| %683 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%682 : tensor<2x4096x1xf64>) outs(%173 : tensor<2x4096x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_959 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x1xf64> | |
| %684 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%681, %683 : tensor<2x4096x320xf64>, tensor<2x4096x1xf64>) outs(%171 : tensor<2x4096x320xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x320xf64> | |
| %685 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%684, %684 : tensor<2x4096x320xf64>, tensor<2x4096x320xf64>) outs(%171 : tensor<2x4096x320xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x320xf64> | |
| %686 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%685 : tensor<2x4096x320xf64>) outs(%174 : tensor<2x4096x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x1xf64> | |
| %687 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%686 : tensor<2x4096x1xf64>) outs(%173 : tensor<2x4096x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_959 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x4096x1xf64> | |
| %688 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%687 : tensor<2x4096x1xf64>) outs(%181 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %689 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%680 : tensor<2x4096x320xf32>) outs(%183 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %690 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%689 : tensor<2x4096x1xf32>) outs(%181 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_960 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %691 = linalg.generic {indexing_maps = [#map20, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%688, %cst_938 : tensor<2x4096x1xf32>, tensor<f16>) outs(%181 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %692 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%691 : tensor<2x4096x1xf32>) outs(%181 : tensor<2x4096x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x1xf32> | |
| %693 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%679, %690 : tensor<2x4096x320xf16>, tensor<2x4096x1xf32>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %694 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%693, %692 : tensor<2x4096x320xf32>, tensor<2x4096x1xf32>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %695 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%694, %cst_845 : tensor<2x4096x320xf32>, tensor<320xf16>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %696 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%695, %cst_844 : tensor<2x4096x320xf32>, tensor<320xf16>) outs(%169 : tensor<2x4096x320xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x4096x320xf32> | |
| %697 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%696 : tensor<2x4096x320xf32>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %expanded_1151 = tensor.expand_shape %697 [[0], [1], [2, 3]] : tensor<2x4096x320xf16> into tensor<2x4096x20x16xf16> | |
| %698 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1151 : tensor<2x4096x20x16xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %699:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%698 : tensor<2x4096x20x16xf16>) outs(%149, %147 : tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) | |
| %700 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%699#0 : tensor<2x4096x20x1xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %collapsed_1152 = tensor.collapse_shape %700 [[0], [1], [2, 3]] : tensor<2x4096x20x16xf16> into tensor<2x4096x320xf16> | |
| %701 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1152 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %702 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%697, %701 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %703 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%702, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %704 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%703 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %705 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%704 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %706 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%705, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %707 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%706, %701 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %708 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_843 : tensor<2560x20x1xf16>) outs(%380 : tensor<2560x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2560x20x16xf16> | |
| %collapsed_1153 = tensor.collapse_shape %708 [[0], [1, 2]] : tensor<2560x20x16xf16> into tensor<2560x320xf16> | |
| %709 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_842, %collapsed_1153 : tensor<2560x320xi8>, tensor<2560x320xf16>) outs(%382 : tensor<2560x320xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<2560x320xf16> | |
| %710 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%709 : tensor<2560x320xf16>) outs(%384 : tensor<320x2560xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x2560xf16> | |
| %collapsed_1154 = tensor.collapse_shape %707 [[0, 1], [2]] : tensor<2x4096x320xf16> into tensor<8192x320xf16> | |
| %711 = linalg.matmul ins(%collapsed_1154, %710 : tensor<8192x320xf16>, tensor<320x2560xf16>) outs(%387 : tensor<8192x2560xf16>) -> tensor<8192x2560xf16> | |
| %712 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_841, %711 : tensor<2560xf16>, tensor<8192x2560xf16>) outs(%386 : tensor<8192x2560xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<8192x2560xf16> | |
| %expanded_1155 = tensor.expand_shape %712 [[0, 1], [2]] : tensor<8192x2560xf16> into tensor<2x4096x2560xf16> | |
| %extracted_slice_1156 = tensor.extract_slice %expanded_1155[0, 0, 0] [2, 4096, 1280] [1, 1, 1] : tensor<2x4096x2560xf16> to tensor<2x4096x1280xf16> | |
| %extracted_slice_1157 = tensor.extract_slice %expanded_1155[0, 0, 1280] [2, 4096, 1280] [1, 1, 1] : tensor<2x4096x2560xf16> to tensor<2x4096x1280xf16> | |
| %713 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%extracted_slice_1157 : tensor<2x4096x1280xf16>) outs(%390 : tensor<2x4096x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.sqrt %cst_949 : f16 | |
| %6235 = arith.divf %in, %6234 : f16 | |
| %6236 = math.erf %6235 : f16 | |
| %6237 = arith.addf %6236, %cst_947 : f16 | |
| %6238 = arith.mulf %6237, %cst_950 : f16 | |
| %6239 = arith.mulf %in, %6238 : f16 | |
| linalg.yield %6239 : f16 | |
| } -> tensor<2x4096x1280xf16> | |
| %714 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%extracted_slice_1156, %713 : tensor<2x4096x1280xf16>, tensor<2x4096x1280xf16>) outs(%390 : tensor<2x4096x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x1280xf16> | |
| %expanded_1158 = tensor.expand_shape %714 [[0], [1], [2, 3]] : tensor<2x4096x1280xf16> into tensor<2x4096x80x16xf16> | |
| %715 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1158 : tensor<2x4096x80x16xf16>) outs(%393 : tensor<2x4096x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x80x16xf16> | |
| %716:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%715 : tensor<2x4096x80x16xf16>) outs(%398, %396 : tensor<2x4096x80x1xf16>, tensor<2x4096x80x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x4096x80x1xf16>, tensor<2x4096x80x1xi64>) | |
| %717 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%716#0 : tensor<2x4096x80x1xf16>) outs(%393 : tensor<2x4096x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x4096x80x16xf16> | |
| %collapsed_1159 = tensor.collapse_shape %717 [[0], [1], [2, 3]] : tensor<2x4096x80x16xf16> into tensor<2x4096x1280xf16> | |
| %718 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1159 : tensor<2x4096x1280xf16>) outs(%390 : tensor<2x4096x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x1280xf16> | |
| %719 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%714, %718 : tensor<2x4096x1280xf16>, tensor<2x4096x1280xf16>) outs(%390 : tensor<2x4096x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x1280xf16> | |
| %720 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%719, %cst_935 : tensor<2x4096x1280xf16>, tensor<f16>) outs(%390 : tensor<2x4096x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x1280xf16> | |
| %721 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%720 : tensor<2x4096x1280xf16>) outs(%390 : tensor<2x4096x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x1280xf16> | |
| %722 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%721 : tensor<2x4096x1280xf16>) outs(%390 : tensor<2x4096x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x4096x1280xf16> | |
| %723 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%722, %cst_935 : tensor<2x4096x1280xf16>, tensor<f16>) outs(%390 : tensor<2x4096x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x1280xf16> | |
| %724 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%723, %718 : tensor<2x4096x1280xf16>, tensor<2x4096x1280xf16>) outs(%390 : tensor<2x4096x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x1280xf16> | |
| %725 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_840 : tensor<320x80x1xf16>) outs(%408 : tensor<320x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x80x16xf16> | |
| %collapsed_1160 = tensor.collapse_shape %725 [[0], [1, 2]] : tensor<320x80x16xf16> into tensor<320x1280xf16> | |
| %726 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_839, %collapsed_1160 : tensor<320x1280xi8>, tensor<320x1280xf16>) outs(%17 : tensor<320x1280xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x1280xf16> | |
| %727 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%726 : tensor<320x1280xf16>) outs(%82 : tensor<1280x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x320xf16> | |
| %collapsed_1161 = tensor.collapse_shape %724 [[0, 1], [2]] : tensor<2x4096x1280xf16> into tensor<8192x1280xf16> | |
| %728 = linalg.matmul ins(%collapsed_1161, %727 : tensor<8192x1280xf16>, tensor<1280x320xf16>) outs(%166 : tensor<8192x320xf16>) -> tensor<8192x320xf16> | |
| %729 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_838, %728 : tensor<320xf16>, tensor<8192x320xf16>) outs(%165 : tensor<8192x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<8192x320xf16> | |
| %expanded_1162 = tensor.expand_shape %729 [[0, 1], [2]] : tensor<8192x320xf16> into tensor<2x4096x320xf16> | |
| %730 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1162, %679 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %expanded_1163 = tensor.expand_shape %730 [[0], [1], [2, 3]] : tensor<2x4096x320xf16> into tensor<2x4096x20x16xf16> | |
| %731 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1163 : tensor<2x4096x20x16xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %732:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%731 : tensor<2x4096x20x16xf16>) outs(%149, %147 : tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x4096x20x1xf16>, tensor<2x4096x20x1xi64>) | |
| %733 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%732#0 : tensor<2x4096x20x1xf16>) outs(%144 : tensor<2x4096x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x4096x20x16xf16> | |
| %collapsed_1164 = tensor.collapse_shape %733 [[0], [1], [2, 3]] : tensor<2x4096x20x16xf16> into tensor<2x4096x320xf16> | |
| %734 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1164 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %735 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%730, %734 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %736 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%735, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %737 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%736 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %738 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%737 : tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %739 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%738, %cst_935 : tensor<2x4096x320xf16>, tensor<f16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %740 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%739, %734 : tensor<2x4096x320xf16>, tensor<2x4096x320xf16>) outs(%152 : tensor<2x4096x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x4096x320xf16> | |
| %741 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_837 : tensor<320x20x1xf16>) outs(%160 : tensor<320x20x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x20x16xf16> | |
| %collapsed_1165 = tensor.collapse_shape %741 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
| %742 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_836, %collapsed_1165 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x320xf16> | |
| %743 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%742 : tensor<320x320xf16>) outs(%162 : tensor<320x320xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x320xf16> | |
| %collapsed_1166 = tensor.collapse_shape %740 [[0, 1], [2]] : tensor<2x4096x320xf16> into tensor<8192x320xf16> | |
| %744 = linalg.matmul ins(%collapsed_1166, %743 : tensor<8192x320xf16>, tensor<320x320xf16>) outs(%166 : tensor<8192x320xf16>) -> tensor<8192x320xf16> | |
| %745 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_835, %744 : tensor<320xf16>, tensor<8192x320xf16>) outs(%165 : tensor<8192x320xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<8192x320xf16> | |
| %expanded_1167 = tensor.expand_shape %745 [[0, 1, 2], [3]] : tensor<8192x320xf16> into tensor<2x64x64x320xf16> | |
| %746 = linalg.generic {indexing_maps = [#map1, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1167 : tensor<2x64x64x320xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %747 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%746, %505 : tensor<2x320x64x64xf16>, tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %expanded_1168 = tensor.expand_shape %747 [[0], [1, 2], [3], [4]] : tensor<2x320x64x64xf16> into tensor<2x20x16x64x64xf16> | |
| %748 = linalg.generic {indexing_maps = [#map14, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1168 : tensor<2x20x16x64x64xf16>) outs(%59 : tensor<2x20x16x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x20x16x64x64xf16> | |
| %749:2 = linalg.generic {indexing_maps = [#map14, #map15, #map15], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%748 : tensor<2x20x16x64x64xf16>) outs(%64, %62 : tensor<2x20x1x64x64xf16>, tensor<2x20x1x64x64xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x20x1x64x64xf16>, tensor<2x20x1x64x64xi64>) | |
| %750 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%749#0 : tensor<2x20x1x64x64xf16>) outs(%59 : tensor<2x20x16x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x20x16x64x64xf16> | |
| %collapsed_1169 = tensor.collapse_shape %750 [[0], [1, 2], [3], [4]] : tensor<2x20x16x64x64xf16> into tensor<2x320x64x64xf16> | |
| %751 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1169 : tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %752 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%747, %751 : tensor<2x320x64x64xf16>, tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %753 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%752, %cst_935 : tensor<2x320x64x64xf16>, tensor<f16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %754 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%753 : tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %755 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%754 : tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %756 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%755, %cst_935 : tensor<2x320x64x64xf16>, tensor<f16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %757 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%756, %751 : tensor<2x320x64x64xf16>, tensor<2x320x64x64xf16>) outs(%29 : tensor<2x320x64x64xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x64x64xf16> | |
| %758 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_834 : tensor<320x20x1x3x3xf16>) outs(%74 : tensor<320x20x16x3x3xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<320x20x16x3x3xf16> | |
| %collapsed_1170 = tensor.collapse_shape %758 [[0], [1, 2], [3], [4]] : tensor<320x20x16x3x3xf16> into tensor<320x320x3x3xf16> | |
| %759 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_833, %collapsed_1170 : tensor<320x320x3x3xi8>, tensor<320x320x3x3xf16>) outs(%76 : tensor<320x320x3x3xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<320x320x3x3xf16> | |
| %padded_1171 = tensor.pad %757 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg4: index, %arg5: index, %arg6: index, %arg7: index): | |
| tensor.yield %cst_946 : f16 | |
| } : tensor<2x320x64x64xf16> to tensor<2x320x66x66xf16> | |
| %760 = tensor.empty() : tensor<2x320x32x32xf16> | |
| %761 = linalg.generic {indexing_maps = [#map10, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_832 : tensor<320xf16>) outs(%760 : tensor<2x320x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x320x32x32xf16> | |
| %762 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<2> : vector<2xi64>} ins(%padded_1171, %759 : tensor<2x320x66x66xf16>, tensor<320x320x3x3xf16>) outs(%761 : tensor<2x320x32x32xf16>) -> tensor<2x320x32x32xf16> | |
| %collapsed_1172 = tensor.collapse_shape %762 [[0], [1], [2, 3]] : tensor<2x320x32x32xf16> into tensor<2x320x1024xf16> | |
| %expanded_1173 = tensor.expand_shape %collapsed_1172 [[0], [1, 2], [3]] : tensor<2x320x1024xf16> into tensor<2x32x10x1024xf16> | |
| %763 = tensor.empty() : tensor<2x32x10x1024xf32> | |
| %764 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1173 : tensor<2x32x10x1024xf16>) outs(%763 : tensor<2x32x10x1024xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x10x1024xf32> | |
| %765 = tensor.empty() : tensor<2x32x10x1024xf64> | |
| %766 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%764 : tensor<2x32x10x1024xf32>) outs(%765 : tensor<2x32x10x1024xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x10x1024xf64> | |
| %767 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%766 : tensor<2x32x10x1024xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %768 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%767 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_962 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %769 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%766, %768 : tensor<2x32x10x1024xf64>, tensor<2x32x1x1xf64>) outs(%765 : tensor<2x32x10x1024xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x10x1024xf64> | |
| %770 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%769, %769 : tensor<2x32x10x1024xf64>, tensor<2x32x10x1024xf64>) outs(%765 : tensor<2x32x10x1024xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x10x1024xf64> | |
| %771 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%770 : tensor<2x32x10x1024xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %772 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%771 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_962 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %773 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%772 : tensor<2x32x1x1xf64>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %774 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%764 : tensor<2x32x10x1024xf32>) outs(%46 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %775 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%774 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_963 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %776 = linalg.generic {indexing_maps = [#map11, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%773, %cst_938 : tensor<2x32x1x1xf32>, tensor<f16>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %777 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%776 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %778 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1173, %775 : tensor<2x32x10x1024xf16>, tensor<2x32x1x1xf32>) outs(%763 : tensor<2x32x10x1024xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x10x1024xf32> | |
| %779 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%778, %777 : tensor<2x32x10x1024xf32>, tensor<2x32x1x1xf32>) outs(%763 : tensor<2x32x10x1024xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x10x1024xf32> | |
| %collapsed_1174 = tensor.collapse_shape %779 [[0], [1, 2], [3]] : tensor<2x32x10x1024xf32> into tensor<2x320x1024xf32> | |
| %expanded_1175 = tensor.expand_shape %collapsed_1174 [[0], [1], [2, 3]] : tensor<2x320x1024xf32> into tensor<2x320x32x32xf32> | |
| %expanded_1176 = tensor.expand_shape %cst_831 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
| %expanded_1177 = tensor.expand_shape %cst_830 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
| %780 = tensor.empty() : tensor<2x320x32x32xf32> | |
| %781 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1175, %expanded_1177 : tensor<2x320x32x32xf32>, tensor<1x320x1x1xf16>) outs(%780 : tensor<2x320x32x32xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x320x32x32xf32> | |
| %782 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%781, %expanded_1176 : tensor<2x320x32x32xf32>, tensor<1x320x1x1xf16>) outs(%780 : tensor<2x320x32x32xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x320x32x32xf32> | |
| %783 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%782 : tensor<2x320x32x32xf32>) outs(%760 : tensor<2x320x32x32xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x32x32xf16> | |
| %784 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%783 : tensor<2x320x32x32xf16>) outs(%760 : tensor<2x320x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.negf %in : f16 | |
| %6235 = math.exp %6234 : f16 | |
| %6236 = arith.addf %6235, %cst_947 : f16 | |
| %6237 = arith.divf %cst_947, %6236 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x320x32x32xf16> | |
| %785 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%784, %783 : tensor<2x320x32x32xf16>, tensor<2x320x32x32xf16>) outs(%760 : tensor<2x320x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x32x32xf16> | |
| %expanded_1178 = tensor.expand_shape %785 [[0], [1, 2], [3], [4]] : tensor<2x320x32x32xf16> into tensor<2x20x16x32x32xf16> | |
| %786 = tensor.empty() : tensor<2x20x16x32x32xf16> | |
| %787 = linalg.generic {indexing_maps = [#map14, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1178 : tensor<2x20x16x32x32xf16>) outs(%786 : tensor<2x20x16x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x20x16x32x32xf16> | |
| %788 = tensor.empty() : tensor<2x20x1x32x32xi64> | |
| %789 = linalg.fill ins(%c0_i64 : i64) outs(%788 : tensor<2x20x1x32x32xi64>) -> tensor<2x20x1x32x32xi64> | |
| %790 = tensor.empty() : tensor<2x20x1x32x32xf16> | |
| %791 = linalg.fill ins(%cst_948 : f16) outs(%790 : tensor<2x20x1x32x32xf16>) -> tensor<2x20x1x32x32xf16> | |
| %792:2 = linalg.generic {indexing_maps = [#map14, #map15, #map15], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%787 : tensor<2x20x16x32x32xf16>) outs(%791, %789 : tensor<2x20x1x32x32xf16>, tensor<2x20x1x32x32xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x20x1x32x32xf16>, tensor<2x20x1x32x32xi64>) | |
| %793 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%792#0 : tensor<2x20x1x32x32xf16>) outs(%786 : tensor<2x20x16x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x20x16x32x32xf16> | |
| %collapsed_1179 = tensor.collapse_shape %793 [[0], [1, 2], [3], [4]] : tensor<2x20x16x32x32xf16> into tensor<2x320x32x32xf16> | |
| %794 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1179 : tensor<2x320x32x32xf16>) outs(%760 : tensor<2x320x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x32x32xf16> | |
| %795 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%785, %794 : tensor<2x320x32x32xf16>, tensor<2x320x32x32xf16>) outs(%760 : tensor<2x320x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x32x32xf16> | |
| %796 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%795, %cst_935 : tensor<2x320x32x32xf16>, tensor<f16>) outs(%760 : tensor<2x320x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x32x32xf16> | |
| %797 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%796 : tensor<2x320x32x32xf16>) outs(%760 : tensor<2x320x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x32x32xf16> | |
| %798 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%797 : tensor<2x320x32x32xf16>) outs(%760 : tensor<2x320x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x320x32x32xf16> | |
| %799 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%798, %cst_935 : tensor<2x320x32x32xf16>, tensor<f16>) outs(%760 : tensor<2x320x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x32x32xf16> | |
| %800 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%799, %794 : tensor<2x320x32x32xf16>, tensor<2x320x32x32xf16>) outs(%760 : tensor<2x320x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x32x32xf16> | |
| %801 = tensor.empty() : tensor<640x20x16x3x3xf16> | |
| %802 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_829 : tensor<640x20x1x3x3xf16>) outs(%801 : tensor<640x20x16x3x3xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x20x16x3x3xf16> | |
| %collapsed_1180 = tensor.collapse_shape %802 [[0], [1, 2], [3], [4]] : tensor<640x20x16x3x3xf16> into tensor<640x320x3x3xf16> | |
| %803 = tensor.empty() : tensor<640x320x3x3xf16> | |
| %804 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_828, %collapsed_1180 : tensor<640x320x3x3xi8>, tensor<640x320x3x3xf16>) outs(%803 : tensor<640x320x3x3xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x320x3x3xf16> | |
| %padded_1181 = tensor.pad %800 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg4: index, %arg5: index, %arg6: index, %arg7: index): | |
| tensor.yield %cst_946 : f16 | |
| } : tensor<2x320x32x32xf16> to tensor<2x320x34x34xf16> | |
| %805 = tensor.empty() : tensor<2x640x32x32xf16> | |
| %806 = linalg.generic {indexing_maps = [#map10, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_827 : tensor<640xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %807 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1181, %804 : tensor<2x320x34x34xf16>, tensor<640x320x3x3xf16>) outs(%806 : tensor<2x640x32x32xf16>) -> tensor<2x640x32x32xf16> | |
| %808 = tensor.empty() : tensor<1280x640xf16> | |
| %809 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%cst_826 : tensor<640x1280xf16>) outs(%808 : tensor<1280x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x640xf16> | |
| %810 = tensor.empty() : tensor<2x640xf16> | |
| %811 = linalg.fill ins(%cst_946 : f16) outs(%810 : tensor<2x640xf16>) -> tensor<2x640xf16> | |
| %812 = linalg.matmul ins(%81, %809 : tensor<2x1280xf16>, tensor<1280x640xf16>) outs(%811 : tensor<2x640xf16>) -> tensor<2x640xf16> | |
| %813 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_825, %812 : tensor<640xf16>, tensor<2x640xf16>) outs(%810 : tensor<2x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640xf16> | |
| %expanded_1182 = tensor.expand_shape %813 [[0], [1, 2, 3]] : tensor<2x640xf16> into tensor<2x640x1x1xf16> | |
| %814 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%807, %expanded_1182 : tensor<2x640x32x32xf16>, tensor<2x640x1x1xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %collapsed_1183 = tensor.collapse_shape %814 [[0], [1], [2, 3]] : tensor<2x640x32x32xf16> into tensor<2x640x1024xf16> | |
| %expanded_1184 = tensor.expand_shape %collapsed_1183 [[0], [1, 2], [3]] : tensor<2x640x1024xf16> into tensor<2x32x20x1024xf16> | |
| %815 = tensor.empty() : tensor<2x32x20x1024xf32> | |
| %816 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1184 : tensor<2x32x20x1024xf16>) outs(%815 : tensor<2x32x20x1024xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x20x1024xf32> | |
| %817 = tensor.empty() : tensor<2x32x20x1024xf64> | |
| %818 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%816 : tensor<2x32x20x1024xf32>) outs(%817 : tensor<2x32x20x1024xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x20x1024xf64> | |
| %819 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%818 : tensor<2x32x20x1024xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %820 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%819 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_964 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %821 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%818, %820 : tensor<2x32x20x1024xf64>, tensor<2x32x1x1xf64>) outs(%817 : tensor<2x32x20x1024xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x20x1024xf64> | |
| %822 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%821, %821 : tensor<2x32x20x1024xf64>, tensor<2x32x20x1024xf64>) outs(%817 : tensor<2x32x20x1024xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x20x1024xf64> | |
| %823 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%822 : tensor<2x32x20x1024xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %824 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%823 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_964 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %825 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%824 : tensor<2x32x1x1xf64>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %826 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%816 : tensor<2x32x20x1024xf32>) outs(%46 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %827 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%826 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_965 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %828 = linalg.generic {indexing_maps = [#map11, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%825, %cst_938 : tensor<2x32x1x1xf32>, tensor<f16>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %829 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%828 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %830 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1184, %827 : tensor<2x32x20x1024xf16>, tensor<2x32x1x1xf32>) outs(%815 : tensor<2x32x20x1024xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x20x1024xf32> | |
| %831 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%830, %829 : tensor<2x32x20x1024xf32>, tensor<2x32x1x1xf32>) outs(%815 : tensor<2x32x20x1024xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x20x1024xf32> | |
| %collapsed_1185 = tensor.collapse_shape %831 [[0], [1, 2], [3]] : tensor<2x32x20x1024xf32> into tensor<2x640x1024xf32> | |
| %expanded_1186 = tensor.expand_shape %collapsed_1185 [[0], [1], [2, 3]] : tensor<2x640x1024xf32> into tensor<2x640x32x32xf32> | |
| %expanded_1187 = tensor.expand_shape %cst_824 [[0, 1, 2, 3]] : tensor<640xf16> into tensor<1x640x1x1xf16> | |
| %expanded_1188 = tensor.expand_shape %cst_823 [[0, 1, 2, 3]] : tensor<640xf16> into tensor<1x640x1x1xf16> | |
| %832 = tensor.empty() : tensor<2x640x32x32xf32> | |
| %833 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1186, %expanded_1188 : tensor<2x640x32x32xf32>, tensor<1x640x1x1xf16>) outs(%832 : tensor<2x640x32x32xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x640x32x32xf32> | |
| %834 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%833, %expanded_1187 : tensor<2x640x32x32xf32>, tensor<1x640x1x1xf16>) outs(%832 : tensor<2x640x32x32xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x640x32x32xf32> | |
| %835 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%834 : tensor<2x640x32x32xf32>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %836 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%835 : tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.negf %in : f16 | |
| %6235 = math.exp %6234 : f16 | |
| %6236 = arith.addf %6235, %cst_947 : f16 | |
| %6237 = arith.divf %cst_947, %6236 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %837 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%836, %835 : tensor<2x640x32x32xf16>, tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %expanded_1189 = tensor.expand_shape %837 [[0], [1, 2], [3], [4]] : tensor<2x640x32x32xf16> into tensor<2x40x16x32x32xf16> | |
| %838 = tensor.empty() : tensor<2x40x16x32x32xf16> | |
| %839 = linalg.generic {indexing_maps = [#map14, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1189 : tensor<2x40x16x32x32xf16>) outs(%838 : tensor<2x40x16x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x40x16x32x32xf16> | |
| %840 = tensor.empty() : tensor<2x40x1x32x32xi64> | |
| %841 = linalg.fill ins(%c0_i64 : i64) outs(%840 : tensor<2x40x1x32x32xi64>) -> tensor<2x40x1x32x32xi64> | |
| %842 = tensor.empty() : tensor<2x40x1x32x32xf16> | |
| %843 = linalg.fill ins(%cst_948 : f16) outs(%842 : tensor<2x40x1x32x32xf16>) -> tensor<2x40x1x32x32xf16> | |
| %844:2 = linalg.generic {indexing_maps = [#map14, #map15, #map15], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%839 : tensor<2x40x16x32x32xf16>) outs(%843, %841 : tensor<2x40x1x32x32xf16>, tensor<2x40x1x32x32xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x40x1x32x32xf16>, tensor<2x40x1x32x32xi64>) | |
| %845 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%844#0 : tensor<2x40x1x32x32xf16>) outs(%838 : tensor<2x40x16x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x40x16x32x32xf16> | |
| %collapsed_1190 = tensor.collapse_shape %845 [[0], [1, 2], [3], [4]] : tensor<2x40x16x32x32xf16> into tensor<2x640x32x32xf16> | |
| %846 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1190 : tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %847 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%837, %846 : tensor<2x640x32x32xf16>, tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %848 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%847, %cst_935 : tensor<2x640x32x32xf16>, tensor<f16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %849 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%848 : tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %850 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%849 : tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %851 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%850, %cst_935 : tensor<2x640x32x32xf16>, tensor<f16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %852 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%851, %846 : tensor<2x640x32x32xf16>, tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %853 = tensor.empty() : tensor<640x40x16x3x3xf16> | |
| %854 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_822 : tensor<640x40x1x3x3xf16>) outs(%853 : tensor<640x40x16x3x3xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x40x16x3x3xf16> | |
| %collapsed_1191 = tensor.collapse_shape %854 [[0], [1, 2], [3], [4]] : tensor<640x40x16x3x3xf16> into tensor<640x640x3x3xf16> | |
| %855 = tensor.empty() : tensor<640x640x3x3xf16> | |
| %856 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_821, %collapsed_1191 : tensor<640x640x3x3xi8>, tensor<640x640x3x3xf16>) outs(%855 : tensor<640x640x3x3xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x640x3x3xf16> | |
| %padded_1192 = tensor.pad %852 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg4: index, %arg5: index, %arg6: index, %arg7: index): | |
| tensor.yield %cst_946 : f16 | |
| } : tensor<2x640x32x32xf16> to tensor<2x640x34x34xf16> | |
| %857 = linalg.generic {indexing_maps = [#map10, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_820 : tensor<640xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %858 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1192, %856 : tensor<2x640x34x34xf16>, tensor<640x640x3x3xf16>) outs(%857 : tensor<2x640x32x32xf16>) -> tensor<2x640x32x32xf16> | |
| %expanded_1193 = tensor.expand_shape %762 [[0], [1, 2], [3], [4]] : tensor<2x320x32x32xf16> into tensor<2x20x16x32x32xf16> | |
| %859 = linalg.generic {indexing_maps = [#map14, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1193 : tensor<2x20x16x32x32xf16>) outs(%786 : tensor<2x20x16x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x20x16x32x32xf16> | |
| %860:2 = linalg.generic {indexing_maps = [#map14, #map15, #map15], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%859 : tensor<2x20x16x32x32xf16>) outs(%791, %789 : tensor<2x20x1x32x32xf16>, tensor<2x20x1x32x32xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x20x1x32x32xf16>, tensor<2x20x1x32x32xi64>) | |
| %861 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%860#0 : tensor<2x20x1x32x32xf16>) outs(%786 : tensor<2x20x16x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x20x16x32x32xf16> | |
| %collapsed_1194 = tensor.collapse_shape %861 [[0], [1, 2], [3], [4]] : tensor<2x20x16x32x32xf16> into tensor<2x320x32x32xf16> | |
| %862 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1194 : tensor<2x320x32x32xf16>) outs(%760 : tensor<2x320x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x32x32xf16> | |
| %863 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%762, %862 : tensor<2x320x32x32xf16>, tensor<2x320x32x32xf16>) outs(%760 : tensor<2x320x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x32x32xf16> | |
| %864 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%863, %cst_935 : tensor<2x320x32x32xf16>, tensor<f16>) outs(%760 : tensor<2x320x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x32x32xf16> | |
| %865 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%864 : tensor<2x320x32x32xf16>) outs(%760 : tensor<2x320x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x32x32xf16> | |
| %866 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%865 : tensor<2x320x32x32xf16>) outs(%760 : tensor<2x320x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x320x32x32xf16> | |
| %867 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%866, %cst_935 : tensor<2x320x32x32xf16>, tensor<f16>) outs(%760 : tensor<2x320x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x32x32xf16> | |
| %868 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%867, %862 : tensor<2x320x32x32xf16>, tensor<2x320x32x32xf16>) outs(%760 : tensor<2x320x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x320x32x32xf16> | |
| %869 = tensor.empty() : tensor<640x20x16x1x1xf16> | |
| %870 = linalg.generic {indexing_maps = [#map25, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_819 : tensor<640x20x1x1x1xf16>) outs(%869 : tensor<640x20x16x1x1xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x20x16x1x1xf16> | |
| %871 = linalg.generic {indexing_maps = [#map26, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%870 : tensor<640x20x16x1x1xf16>) outs(%869 : tensor<640x20x16x1x1xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x20x16x1x1xf16> | |
| %collapsed_1195 = tensor.collapse_shape %871 [[0], [1, 2], [3], [4]] : tensor<640x20x16x1x1xf16> into tensor<640x320x1x1xf16> | |
| %872 = tensor.empty() : tensor<640x320x1x1xf16> | |
| %873 = linalg.generic {indexing_maps = [#map11, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_818, %collapsed_1195 : tensor<640x320x1x1xi8>, tensor<640x320x1x1xf16>) outs(%872 : tensor<640x320x1x1xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x320x1x1xf16> | |
| %874 = linalg.generic {indexing_maps = [#map10, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_817 : tensor<640xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %875 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%868, %873 : tensor<2x320x32x32xf16>, tensor<640x320x1x1xf16>) outs(%874 : tensor<2x640x32x32xf16>) -> tensor<2x640x32x32xf16> | |
| %876 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%875, %858 : tensor<2x640x32x32xf16>, tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %877 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%876, %cst_924 : tensor<2x640x32x32xf16>, tensor<f16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %collapsed_1196 = tensor.collapse_shape %877 [[0], [1], [2, 3]] : tensor<2x640x32x32xf16> into tensor<2x640x1024xf16> | |
| %expanded_1197 = tensor.expand_shape %collapsed_1196 [[0], [1, 2], [3]] : tensor<2x640x1024xf16> into tensor<2x32x20x1024xf16> | |
| %878 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1197 : tensor<2x32x20x1024xf16>) outs(%815 : tensor<2x32x20x1024xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x20x1024xf32> | |
| %879 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%878 : tensor<2x32x20x1024xf32>) outs(%817 : tensor<2x32x20x1024xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x20x1024xf64> | |
| %880 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%879 : tensor<2x32x20x1024xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %881 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%880 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_964 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %882 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%879, %881 : tensor<2x32x20x1024xf64>, tensor<2x32x1x1xf64>) outs(%817 : tensor<2x32x20x1024xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x20x1024xf64> | |
| %883 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%882, %882 : tensor<2x32x20x1024xf64>, tensor<2x32x20x1024xf64>) outs(%817 : tensor<2x32x20x1024xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x20x1024xf64> | |
| %884 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%883 : tensor<2x32x20x1024xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %885 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%884 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_964 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %886 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%885 : tensor<2x32x1x1xf64>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %887 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%878 : tensor<2x32x20x1024xf32>) outs(%46 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %888 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%887 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_965 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %889 = linalg.generic {indexing_maps = [#map11, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%886, %cst_923 : tensor<2x32x1x1xf32>, tensor<f16>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %890 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%889 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %891 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1197, %888 : tensor<2x32x20x1024xf16>, tensor<2x32x1x1xf32>) outs(%815 : tensor<2x32x20x1024xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x20x1024xf32> | |
| %892 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%891, %890 : tensor<2x32x20x1024xf32>, tensor<2x32x1x1xf32>) outs(%815 : tensor<2x32x20x1024xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x20x1024xf32> | |
| %collapsed_1198 = tensor.collapse_shape %892 [[0], [1, 2], [3]] : tensor<2x32x20x1024xf32> into tensor<2x640x1024xf32> | |
| %expanded_1199 = tensor.expand_shape %collapsed_1198 [[0], [1], [2, 3]] : tensor<2x640x1024xf32> into tensor<2x640x32x32xf32> | |
| %expanded_1200 = tensor.expand_shape %cst_816 [[0, 1, 2, 3]] : tensor<640xf16> into tensor<1x640x1x1xf16> | |
| %expanded_1201 = tensor.expand_shape %cst_815 [[0, 1, 2, 3]] : tensor<640xf16> into tensor<1x640x1x1xf16> | |
| %893 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1199, %expanded_1201 : tensor<2x640x32x32xf32>, tensor<1x640x1x1xf16>) outs(%832 : tensor<2x640x32x32xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x640x32x32xf32> | |
| %894 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%893, %expanded_1200 : tensor<2x640x32x32xf32>, tensor<1x640x1x1xf16>) outs(%832 : tensor<2x640x32x32xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x640x32x32xf32> | |
| %895 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%894 : tensor<2x640x32x32xf32>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %896 = tensor.empty() : tensor<2x32x32x640xf16> | |
| %897 = linalg.generic {indexing_maps = [#map1, #map16], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%895 : tensor<2x640x32x32xf16>) outs(%896 : tensor<2x32x32x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x32x32x640xf16> | |
| %collapsed_1202 = tensor.collapse_shape %897 [[0], [1, 2], [3]] : tensor<2x32x32x640xf16> into tensor<2x1024x640xf16> | |
| %expanded_1203 = tensor.expand_shape %collapsed_1202 [[0], [1], [2, 3]] : tensor<2x1024x640xf16> into tensor<2x1024x40x16xf16> | |
| %898 = tensor.empty() : tensor<2x1024x40x16xf16> | |
| %899 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1203 : tensor<2x1024x40x16xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %900 = tensor.empty() : tensor<2x1024x40x1xi64> | |
| %901 = linalg.fill ins(%c0_i64 : i64) outs(%900 : tensor<2x1024x40x1xi64>) -> tensor<2x1024x40x1xi64> | |
| %902 = tensor.empty() : tensor<2x1024x40x1xf16> | |
| %903 = linalg.fill ins(%cst_948 : f16) outs(%902 : tensor<2x1024x40x1xf16>) -> tensor<2x1024x40x1xf16> | |
| %904:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%899 : tensor<2x1024x40x16xf16>) outs(%903, %901 : tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) | |
| %905 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%904#0 : tensor<2x1024x40x1xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %collapsed_1204 = tensor.collapse_shape %905 [[0], [1], [2, 3]] : tensor<2x1024x40x16xf16> into tensor<2x1024x640xf16> | |
| %906 = tensor.empty() : tensor<2x1024x640xf16> | |
| %907 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1204 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %908 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1202, %907 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %909 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%908, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %910 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%909 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %911 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%910 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %912 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%911, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %913 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%912, %907 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %914 = tensor.empty() : tensor<640x40x16xf16> | |
| %915 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_814 : tensor<640x40x1xf16>) outs(%914 : tensor<640x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x40x16xf16> | |
| %collapsed_1205 = tensor.collapse_shape %915 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
| %916 = tensor.empty() : tensor<640x640xf16> | |
| %917 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_813, %collapsed_1205 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x640xf16> | |
| %918 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%917 : tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x640xf16> | |
| %collapsed_1206 = tensor.collapse_shape %913 [[0, 1], [2]] : tensor<2x1024x640xf16> into tensor<2048x640xf16> | |
| %919 = tensor.empty() : tensor<2048x640xf16> | |
| %920 = linalg.fill ins(%cst_946 : f16) outs(%919 : tensor<2048x640xf16>) -> tensor<2048x640xf16> | |
| %921 = linalg.matmul ins(%collapsed_1206, %918 : tensor<2048x640xf16>, tensor<640x640xf16>) outs(%920 : tensor<2048x640xf16>) -> tensor<2048x640xf16> | |
| %922 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_812, %921 : tensor<640xf16>, tensor<2048x640xf16>) outs(%919 : tensor<2048x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2048x640xf16> | |
| %expanded_1207 = tensor.expand_shape %922 [[0, 1], [2]] : tensor<2048x640xf16> into tensor<2x1024x640xf16> | |
| %923 = tensor.empty() : tensor<2x1024x640xf32> | |
| %924 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1207 : tensor<2x1024x640xf16>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %925 = tensor.empty() : tensor<2x1024x640xf64> | |
| %926 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%924 : tensor<2x1024x640xf32>) outs(%925 : tensor<2x1024x640xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x640xf64> | |
| %927 = tensor.empty() : tensor<2x1024x1xf64> | |
| %928 = linalg.fill ins(%cst_951 : f64) outs(%927 : tensor<2x1024x1xf64>) -> tensor<2x1024x1xf64> | |
| %929 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%926 : tensor<2x1024x640xf64>) outs(%928 : tensor<2x1024x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x1xf64> | |
| %930 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%929 : tensor<2x1024x1xf64>) outs(%927 : tensor<2x1024x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_966 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x1xf64> | |
| %931 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%926, %930 : tensor<2x1024x640xf64>, tensor<2x1024x1xf64>) outs(%925 : tensor<2x1024x640xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x640xf64> | |
| %932 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%931, %931 : tensor<2x1024x640xf64>, tensor<2x1024x640xf64>) outs(%925 : tensor<2x1024x640xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x640xf64> | |
| %933 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%932 : tensor<2x1024x640xf64>) outs(%928 : tensor<2x1024x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x1xf64> | |
| %934 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%933 : tensor<2x1024x1xf64>) outs(%927 : tensor<2x1024x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_966 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x1xf64> | |
| %935 = tensor.empty() : tensor<2x1024x1xf32> | |
| %936 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%934 : tensor<2x1024x1xf64>) outs(%935 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %937 = linalg.fill ins(%cst_952 : f32) outs(%935 : tensor<2x1024x1xf32>) -> tensor<2x1024x1xf32> | |
| %938 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%924 : tensor<2x1024x640xf32>) outs(%937 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %939 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%938 : tensor<2x1024x1xf32>) outs(%935 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_967 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %940 = linalg.generic {indexing_maps = [#map20, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%936, %cst_938 : tensor<2x1024x1xf32>, tensor<f16>) outs(%935 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %941 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%940 : tensor<2x1024x1xf32>) outs(%935 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %942 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1207, %939 : tensor<2x1024x640xf16>, tensor<2x1024x1xf32>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %943 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%942, %941 : tensor<2x1024x640xf32>, tensor<2x1024x1xf32>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %944 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%943, %cst_811 : tensor<2x1024x640xf32>, tensor<640xf16>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %945 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%944, %cst_810 : tensor<2x1024x640xf32>, tensor<640xf16>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %946 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%945 : tensor<2x1024x640xf32>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %expanded_1208 = tensor.expand_shape %946 [[0], [1], [2, 3]] : tensor<2x1024x640xf16> into tensor<2x1024x40x16xf16> | |
| %947 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1208 : tensor<2x1024x40x16xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %948:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%947 : tensor<2x1024x40x16xf16>) outs(%903, %901 : tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) | |
| %949 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%948#0 : tensor<2x1024x40x1xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %collapsed_1209 = tensor.collapse_shape %949 [[0], [1], [2, 3]] : tensor<2x1024x40x16xf16> into tensor<2x1024x640xf16> | |
| %950 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1209 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %951 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%946, %950 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %952 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%951, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %953 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%952 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %954 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%953 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %955 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%954, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %956 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%955, %950 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %957 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_809 : tensor<640x40x1xf16>) outs(%914 : tensor<640x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x40x16xf16> | |
| %collapsed_1210 = tensor.collapse_shape %957 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
| %958 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_808, %collapsed_1210 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x640xf16> | |
| %959 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%958 : tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x640xf16> | |
| %collapsed_1211 = tensor.collapse_shape %956 [[0, 1], [2]] : tensor<2x1024x640xf16> into tensor<2048x640xf16> | |
| %960 = linalg.matmul ins(%collapsed_1211, %959 : tensor<2048x640xf16>, tensor<640x640xf16>) outs(%920 : tensor<2048x640xf16>) -> tensor<2048x640xf16> | |
| %expanded_1212 = tensor.expand_shape %960 [[0, 1], [2, 3]] : tensor<2048x640xf16> into tensor<2x1024x10x64xf16> | |
| %961 = tensor.empty() : tensor<2x10x1024x64xf16> | |
| %962 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1212 : tensor<2x1024x10x64xf16>) outs(%961 : tensor<2x10x1024x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x10x1024x64xf16> | |
| %collapsed_1213 = tensor.collapse_shape %962 [[0, 1], [2], [3]] : tensor<2x10x1024x64xf16> into tensor<20x1024x64xf16> | |
| %963 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_807 : tensor<640x40x1xf16>) outs(%914 : tensor<640x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x40x16xf16> | |
| %collapsed_1214 = tensor.collapse_shape %963 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
| %964 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_806, %collapsed_1214 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x640xf16> | |
| %965 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%964 : tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x640xf16> | |
| %966 = linalg.matmul ins(%collapsed_1211, %965 : tensor<2048x640xf16>, tensor<640x640xf16>) outs(%920 : tensor<2048x640xf16>) -> tensor<2048x640xf16> | |
| %967 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_805 : tensor<640x40x1xf16>) outs(%914 : tensor<640x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x40x16xf16> | |
| %collapsed_1215 = tensor.collapse_shape %967 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
| %968 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_804, %collapsed_1215 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x640xf16> | |
| %969 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%968 : tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x640xf16> | |
| %970 = linalg.matmul ins(%collapsed_1211, %969 : tensor<2048x640xf16>, tensor<640x640xf16>) outs(%920 : tensor<2048x640xf16>) -> tensor<2048x640xf16> | |
| %expanded_1216 = tensor.expand_shape %966 [[0, 1], [2, 3]] : tensor<2048x640xf16> into tensor<2x1024x10x64xf16> | |
| %971 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1216 : tensor<2x1024x10x64xf16>) outs(%961 : tensor<2x10x1024x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x10x1024x64xf16> | |
| %collapsed_1217 = tensor.collapse_shape %971 [[0, 1], [2], [3]] : tensor<2x10x1024x64xf16> into tensor<20x1024x64xf16> | |
| %expanded_1218 = tensor.expand_shape %970 [[0, 1], [2, 3]] : tensor<2048x640xf16> into tensor<2x1024x10x64xf16> | |
| %972 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1218 : tensor<2x1024x10x64xf16>) outs(%961 : tensor<2x10x1024x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x10x1024x64xf16> | |
| %collapsed_1219 = tensor.collapse_shape %972 [[0, 1], [2], [3]] : tensor<2x10x1024x64xf16> into tensor<20x1024x64xf16> | |
| %973 = tensor.empty() : tensor<20x1024x1024xf16> | |
| %974 = linalg.fill ins(%cst_946 : f16) outs(%973 : tensor<20x1024x1024xf16>) -> tensor<20x1024x1024xf16> | |
| %975 = tensor.empty() : tensor<20x64x1024xf16> | |
| %976 = linalg.generic {indexing_maps = [#map18, #map23], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1217 : tensor<20x1024x64xf16>) outs(%975 : tensor<20x64x1024xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<20x64x1024xf16> | |
| %977 = linalg.batch_matmul ins(%collapsed_1213, %976 : tensor<20x1024x64xf16>, tensor<20x64x1024xf16>) outs(%974 : tensor<20x1024x1024xf16>) -> tensor<20x1024x1024xf16> | |
| %978 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%977 : tensor<20x1024x1024xf16>) outs(%973 : tensor<20x1024x1024xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.mulf %in, %cst_961 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<20x1024x1024xf16> | |
| %979 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%978, %974 : tensor<20x1024x1024xf16>, tensor<20x1024x1024xf16>) outs(%973 : tensor<20x1024x1024xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in_2625, %cst_946 : f16 | |
| %6235 = arith.addf %in, %6234 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<20x1024x1024xf16> | |
| %980 = tensor.empty() : tensor<20x1024x1xi64> | |
| %981 = linalg.fill ins(%c0_i64 : i64) outs(%980 : tensor<20x1024x1xi64>) -> tensor<20x1024x1xi64> | |
| %982 = tensor.empty() : tensor<20x1024x1xf16> | |
| %983 = linalg.fill ins(%cst_948 : f16) outs(%982 : tensor<20x1024x1xf16>) -> tensor<20x1024x1xf16> | |
| %984:2 = linalg.generic {indexing_maps = [#map18, #map20, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%979 : tensor<20x1024x1024xf16>) outs(%983, %981 : tensor<20x1024x1xf16>, tensor<20x1024x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<20x1024x1xf16>, tensor<20x1024x1xi64>) | |
| %985 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%979, %984#0 : tensor<20x1024x1024xf16>, tensor<20x1024x1xf16>) outs(%973 : tensor<20x1024x1024xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<20x1024x1024xf16> | |
| %986 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%985 : tensor<20x1024x1024xf16>) outs(%973 : tensor<20x1024x1024xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.exp %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<20x1024x1024xf16> | |
| %987 = linalg.fill ins(%cst_946 : f16) outs(%982 : tensor<20x1024x1xf16>) -> tensor<20x1024x1xf16> | |
| %988 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%986 : tensor<20x1024x1024xf16>) outs(%987 : tensor<20x1024x1xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.addf %in, %out : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<20x1024x1xf16> | |
| %989 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%986, %988 : tensor<20x1024x1024xf16>, tensor<20x1024x1xf16>) outs(%973 : tensor<20x1024x1024xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<20x1024x1024xf16> | |
| %990 = tensor.empty() : tensor<20x1024x64xf16> | |
| %991 = linalg.fill ins(%cst_946 : f16) outs(%990 : tensor<20x1024x64xf16>) -> tensor<20x1024x64xf16> | |
| %992 = linalg.batch_matmul ins(%989, %collapsed_1219 : tensor<20x1024x1024xf16>, tensor<20x1024x64xf16>) outs(%991 : tensor<20x1024x64xf16>) -> tensor<20x1024x64xf16> | |
| %expanded_1220 = tensor.expand_shape %992 [[0, 1], [2], [3]] : tensor<20x1024x64xf16> into tensor<2x10x1024x64xf16> | |
| %993 = tensor.empty() : tensor<2x1024x10x64xf16> | |
| %994 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1220 : tensor<2x10x1024x64xf16>) outs(%993 : tensor<2x1024x10x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1024x10x64xf16> | |
| %collapsed_1221 = tensor.collapse_shape %994 [[0], [1], [2, 3]] : tensor<2x1024x10x64xf16> into tensor<2x1024x640xf16> | |
| %expanded_1222 = tensor.expand_shape %collapsed_1221 [[0], [1], [2, 3]] : tensor<2x1024x640xf16> into tensor<2x1024x40x16xf16> | |
| %995 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1222 : tensor<2x1024x40x16xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %996:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%995 : tensor<2x1024x40x16xf16>) outs(%903, %901 : tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) | |
| %997 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%996#0 : tensor<2x1024x40x1xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %collapsed_1223 = tensor.collapse_shape %997 [[0], [1], [2, 3]] : tensor<2x1024x40x16xf16> into tensor<2x1024x640xf16> | |
| %998 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1223 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %999 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1221, %998 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1000 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%999, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1001 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1000 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1002 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1001 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1003 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1002, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1004 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1003, %998 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1005 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_803 : tensor<640x40x1xf16>) outs(%914 : tensor<640x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x40x16xf16> | |
| %collapsed_1224 = tensor.collapse_shape %1005 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
| %1006 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_802, %collapsed_1224 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x640xf16> | |
| %1007 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1006 : tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x640xf16> | |
| %collapsed_1225 = tensor.collapse_shape %1004 [[0, 1], [2]] : tensor<2x1024x640xf16> into tensor<2048x640xf16> | |
| %1008 = linalg.matmul ins(%collapsed_1225, %1007 : tensor<2048x640xf16>, tensor<640x640xf16>) outs(%920 : tensor<2048x640xf16>) -> tensor<2048x640xf16> | |
| %1009 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_801, %1008 : tensor<640xf16>, tensor<2048x640xf16>) outs(%919 : tensor<2048x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2048x640xf16> | |
| %expanded_1226 = tensor.expand_shape %1009 [[0, 1], [2]] : tensor<2048x640xf16> into tensor<2x1024x640xf16> | |
| %1010 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1226, %expanded_1207 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1011 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1010 : tensor<2x1024x640xf16>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %1012 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1011 : tensor<2x1024x640xf32>) outs(%925 : tensor<2x1024x640xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x640xf64> | |
| %1013 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1012 : tensor<2x1024x640xf64>) outs(%928 : tensor<2x1024x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x1xf64> | |
| %1014 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1013 : tensor<2x1024x1xf64>) outs(%927 : tensor<2x1024x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_966 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x1xf64> | |
| %1015 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1012, %1014 : tensor<2x1024x640xf64>, tensor<2x1024x1xf64>) outs(%925 : tensor<2x1024x640xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x640xf64> | |
| %1016 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1015, %1015 : tensor<2x1024x640xf64>, tensor<2x1024x640xf64>) outs(%925 : tensor<2x1024x640xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x640xf64> | |
| %1017 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1016 : tensor<2x1024x640xf64>) outs(%928 : tensor<2x1024x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x1xf64> | |
| %1018 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1017 : tensor<2x1024x1xf64>) outs(%927 : tensor<2x1024x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_966 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x1xf64> | |
| %1019 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1018 : tensor<2x1024x1xf64>) outs(%935 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %1020 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1011 : tensor<2x1024x640xf32>) outs(%937 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %1021 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1020 : tensor<2x1024x1xf32>) outs(%935 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_967 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %1022 = linalg.generic {indexing_maps = [#map20, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1019, %cst_938 : tensor<2x1024x1xf32>, tensor<f16>) outs(%935 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %1023 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1022 : tensor<2x1024x1xf32>) outs(%935 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %1024 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1010, %1021 : tensor<2x1024x640xf16>, tensor<2x1024x1xf32>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %1025 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1024, %1023 : tensor<2x1024x640xf32>, tensor<2x1024x1xf32>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %1026 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1025, %cst_800 : tensor<2x1024x640xf32>, tensor<640xf16>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %1027 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1026, %cst_799 : tensor<2x1024x640xf32>, tensor<640xf16>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %1028 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1027 : tensor<2x1024x640xf32>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %expanded_1227 = tensor.expand_shape %1028 [[0], [1], [2, 3]] : tensor<2x1024x640xf16> into tensor<2x1024x40x16xf16> | |
| %1029 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1227 : tensor<2x1024x40x16xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %1030:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1029 : tensor<2x1024x40x16xf16>) outs(%903, %901 : tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) | |
| %1031 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1030#0 : tensor<2x1024x40x1xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %collapsed_1228 = tensor.collapse_shape %1031 [[0], [1], [2, 3]] : tensor<2x1024x40x16xf16> into tensor<2x1024x640xf16> | |
| %1032 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1228 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1033 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1028, %1032 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1034 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1033, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1035 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1034 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1036 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1035 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1037 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1036, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1038 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1037, %1032 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1039 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_798 : tensor<640x40x1xf16>) outs(%914 : tensor<640x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x40x16xf16> | |
| %collapsed_1229 = tensor.collapse_shape %1039 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
| %1040 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_797, %collapsed_1229 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x640xf16> | |
| %1041 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1040 : tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x640xf16> | |
| %collapsed_1230 = tensor.collapse_shape %1038 [[0, 1], [2]] : tensor<2x1024x640xf16> into tensor<2048x640xf16> | |
| %1042 = linalg.matmul ins(%collapsed_1230, %1041 : tensor<2048x640xf16>, tensor<640x640xf16>) outs(%920 : tensor<2048x640xf16>) -> tensor<2048x640xf16> | |
| %expanded_1231 = tensor.expand_shape %1042 [[0, 1], [2, 3]] : tensor<2048x640xf16> into tensor<2x1024x10x64xf16> | |
| %1043 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1231 : tensor<2x1024x10x64xf16>) outs(%961 : tensor<2x10x1024x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x10x1024x64xf16> | |
| %collapsed_1232 = tensor.collapse_shape %1043 [[0, 1], [2], [3]] : tensor<2x10x1024x64xf16> into tensor<20x1024x64xf16> | |
| %1044 = tensor.empty() : tensor<640x64x16xf16> | |
| %1045 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_796 : tensor<640x64x1xf16>) outs(%1044 : tensor<640x64x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x64x16xf16> | |
| %collapsed_1233 = tensor.collapse_shape %1045 [[0], [1, 2]] : tensor<640x64x16xf16> into tensor<640x1024xf16> | |
| %1046 = tensor.empty() : tensor<640x1024xf16> | |
| %1047 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_795, %collapsed_1233 : tensor<640x1024xi8>, tensor<640x1024xf16>) outs(%1046 : tensor<640x1024xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x1024xf16> | |
| %1048 = tensor.empty() : tensor<1024x640xf16> | |
| %1049 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1047 : tensor<640x1024xf16>) outs(%1048 : tensor<1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1024x640xf16> | |
| %1050 = tensor.empty() : tensor<154x640xf16> | |
| %1051 = linalg.fill ins(%cst_946 : f16) outs(%1050 : tensor<154x640xf16>) -> tensor<154x640xf16> | |
| %1052 = linalg.matmul ins(%collapsed_1050, %1049 : tensor<154x1024xf16>, tensor<1024x640xf16>) outs(%1051 : tensor<154x640xf16>) -> tensor<154x640xf16> | |
| %1053 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_794 : tensor<640x64x1xf16>) outs(%1044 : tensor<640x64x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x64x16xf16> | |
| %collapsed_1234 = tensor.collapse_shape %1053 [[0], [1, 2]] : tensor<640x64x16xf16> into tensor<640x1024xf16> | |
| %1054 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_793, %collapsed_1234 : tensor<640x1024xi8>, tensor<640x1024xf16>) outs(%1046 : tensor<640x1024xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x1024xf16> | |
| %1055 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1054 : tensor<640x1024xf16>) outs(%1048 : tensor<1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1024x640xf16> | |
| %1056 = linalg.matmul ins(%collapsed_1050, %1055 : tensor<154x1024xf16>, tensor<1024x640xf16>) outs(%1051 : tensor<154x640xf16>) -> tensor<154x640xf16> | |
| %expanded_1235 = tensor.expand_shape %1052 [[0, 1], [2, 3]] : tensor<154x640xf16> into tensor<2x77x10x64xf16> | |
| %1057 = tensor.empty() : tensor<2x10x77x64xf16> | |
| %1058 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1235 : tensor<2x77x10x64xf16>) outs(%1057 : tensor<2x10x77x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x10x77x64xf16> | |
| %collapsed_1236 = tensor.collapse_shape %1058 [[0, 1], [2], [3]] : tensor<2x10x77x64xf16> into tensor<20x77x64xf16> | |
| %expanded_1237 = tensor.expand_shape %1056 [[0, 1], [2, 3]] : tensor<154x640xf16> into tensor<2x77x10x64xf16> | |
| %1059 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1237 : tensor<2x77x10x64xf16>) outs(%1057 : tensor<2x10x77x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x10x77x64xf16> | |
| %collapsed_1238 = tensor.collapse_shape %1059 [[0, 1], [2], [3]] : tensor<2x10x77x64xf16> into tensor<20x77x64xf16> | |
| %1060 = tensor.empty() : tensor<20x1024x77xf16> | |
| %1061 = linalg.fill ins(%cst_946 : f16) outs(%1060 : tensor<20x1024x77xf16>) -> tensor<20x1024x77xf16> | |
| %1062 = tensor.empty() : tensor<20x64x77xf16> | |
| %1063 = linalg.generic {indexing_maps = [#map18, #map23], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1236 : tensor<20x77x64xf16>) outs(%1062 : tensor<20x64x77xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<20x64x77xf16> | |
| %1064 = linalg.batch_matmul ins(%collapsed_1232, %1063 : tensor<20x1024x64xf16>, tensor<20x64x77xf16>) outs(%1061 : tensor<20x1024x77xf16>) -> tensor<20x1024x77xf16> | |
| %1065 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1064 : tensor<20x1024x77xf16>) outs(%1060 : tensor<20x1024x77xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.mulf %in, %cst_961 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<20x1024x77xf16> | |
| %1066 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1065, %1061 : tensor<20x1024x77xf16>, tensor<20x1024x77xf16>) outs(%1060 : tensor<20x1024x77xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in_2625, %cst_946 : f16 | |
| %6235 = arith.addf %in, %6234 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<20x1024x77xf16> | |
| %1067:2 = linalg.generic {indexing_maps = [#map18, #map20, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1066 : tensor<20x1024x77xf16>) outs(%983, %981 : tensor<20x1024x1xf16>, tensor<20x1024x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<20x1024x1xf16>, tensor<20x1024x1xi64>) | |
| %1068 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1066, %1067#0 : tensor<20x1024x77xf16>, tensor<20x1024x1xf16>) outs(%1060 : tensor<20x1024x77xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<20x1024x77xf16> | |
| %1069 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1068 : tensor<20x1024x77xf16>) outs(%1060 : tensor<20x1024x77xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.exp %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<20x1024x77xf16> | |
| %1070 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1069 : tensor<20x1024x77xf16>) outs(%987 : tensor<20x1024x1xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.addf %in, %out : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<20x1024x1xf16> | |
| %1071 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1069, %1070 : tensor<20x1024x77xf16>, tensor<20x1024x1xf16>) outs(%1060 : tensor<20x1024x77xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<20x1024x77xf16> | |
| %1072 = linalg.batch_matmul ins(%1071, %collapsed_1238 : tensor<20x1024x77xf16>, tensor<20x77x64xf16>) outs(%991 : tensor<20x1024x64xf16>) -> tensor<20x1024x64xf16> | |
| %expanded_1239 = tensor.expand_shape %1072 [[0, 1], [2], [3]] : tensor<20x1024x64xf16> into tensor<2x10x1024x64xf16> | |
| %1073 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1239 : tensor<2x10x1024x64xf16>) outs(%993 : tensor<2x1024x10x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1024x10x64xf16> | |
| %collapsed_1240 = tensor.collapse_shape %1073 [[0], [1], [2, 3]] : tensor<2x1024x10x64xf16> into tensor<2x1024x640xf16> | |
| %expanded_1241 = tensor.expand_shape %collapsed_1240 [[0], [1], [2, 3]] : tensor<2x1024x640xf16> into tensor<2x1024x40x16xf16> | |
| %1074 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1241 : tensor<2x1024x40x16xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %1075:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1074 : tensor<2x1024x40x16xf16>) outs(%903, %901 : tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) | |
| %1076 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1075#0 : tensor<2x1024x40x1xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %collapsed_1242 = tensor.collapse_shape %1076 [[0], [1], [2, 3]] : tensor<2x1024x40x16xf16> into tensor<2x1024x640xf16> | |
| %1077 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1242 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1078 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1240, %1077 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1079 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1078, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1080 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1079 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1081 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1080 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1082 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1081, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1083 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1082, %1077 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1084 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_792 : tensor<640x40x1xf16>) outs(%914 : tensor<640x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x40x16xf16> | |
| %collapsed_1243 = tensor.collapse_shape %1084 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
| %1085 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_791, %collapsed_1243 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x640xf16> | |
| %1086 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1085 : tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x640xf16> | |
| %collapsed_1244 = tensor.collapse_shape %1083 [[0, 1], [2]] : tensor<2x1024x640xf16> into tensor<2048x640xf16> | |
| %1087 = linalg.matmul ins(%collapsed_1244, %1086 : tensor<2048x640xf16>, tensor<640x640xf16>) outs(%920 : tensor<2048x640xf16>) -> tensor<2048x640xf16> | |
| %1088 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_790, %1087 : tensor<640xf16>, tensor<2048x640xf16>) outs(%919 : tensor<2048x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2048x640xf16> | |
| %expanded_1245 = tensor.expand_shape %1088 [[0, 1], [2]] : tensor<2048x640xf16> into tensor<2x1024x640xf16> | |
| %1089 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1245, %1010 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1090 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1089 : tensor<2x1024x640xf16>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %1091 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1090 : tensor<2x1024x640xf32>) outs(%925 : tensor<2x1024x640xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x640xf64> | |
| %1092 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1091 : tensor<2x1024x640xf64>) outs(%928 : tensor<2x1024x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x1xf64> | |
| %1093 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1092 : tensor<2x1024x1xf64>) outs(%927 : tensor<2x1024x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_966 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x1xf64> | |
| %1094 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1091, %1093 : tensor<2x1024x640xf64>, tensor<2x1024x1xf64>) outs(%925 : tensor<2x1024x640xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x640xf64> | |
| %1095 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1094, %1094 : tensor<2x1024x640xf64>, tensor<2x1024x640xf64>) outs(%925 : tensor<2x1024x640xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x640xf64> | |
| %1096 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1095 : tensor<2x1024x640xf64>) outs(%928 : tensor<2x1024x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x1xf64> | |
| %1097 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1096 : tensor<2x1024x1xf64>) outs(%927 : tensor<2x1024x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_966 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x1xf64> | |
| %1098 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1097 : tensor<2x1024x1xf64>) outs(%935 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %1099 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1090 : tensor<2x1024x640xf32>) outs(%937 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %1100 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1099 : tensor<2x1024x1xf32>) outs(%935 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_967 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %1101 = linalg.generic {indexing_maps = [#map20, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1098, %cst_938 : tensor<2x1024x1xf32>, tensor<f16>) outs(%935 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %1102 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1101 : tensor<2x1024x1xf32>) outs(%935 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %1103 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1089, %1100 : tensor<2x1024x640xf16>, tensor<2x1024x1xf32>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %1104 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1103, %1102 : tensor<2x1024x640xf32>, tensor<2x1024x1xf32>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %1105 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1104, %cst_789 : tensor<2x1024x640xf32>, tensor<640xf16>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %1106 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1105, %cst_788 : tensor<2x1024x640xf32>, tensor<640xf16>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %1107 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1106 : tensor<2x1024x640xf32>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %expanded_1246 = tensor.expand_shape %1107 [[0], [1], [2, 3]] : tensor<2x1024x640xf16> into tensor<2x1024x40x16xf16> | |
| %1108 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1246 : tensor<2x1024x40x16xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %1109:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1108 : tensor<2x1024x40x16xf16>) outs(%903, %901 : tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) | |
| %1110 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1109#0 : tensor<2x1024x40x1xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %collapsed_1247 = tensor.collapse_shape %1110 [[0], [1], [2, 3]] : tensor<2x1024x40x16xf16> into tensor<2x1024x640xf16> | |
| %1111 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1247 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1112 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1107, %1111 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1113 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1112, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1114 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1113 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1115 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1114 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1116 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1115, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1117 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1116, %1111 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1118 = tensor.empty() : tensor<5120x40x16xf16> | |
| %1119 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_787 : tensor<5120x40x1xf16>) outs(%1118 : tensor<5120x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<5120x40x16xf16> | |
| %collapsed_1248 = tensor.collapse_shape %1119 [[0], [1, 2]] : tensor<5120x40x16xf16> into tensor<5120x640xf16> | |
| %1120 = tensor.empty() : tensor<5120x640xf16> | |
| %1121 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_786, %collapsed_1248 : tensor<5120x640xi8>, tensor<5120x640xf16>) outs(%1120 : tensor<5120x640xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<5120x640xf16> | |
| %1122 = tensor.empty() : tensor<640x5120xf16> | |
| %1123 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1121 : tensor<5120x640xf16>) outs(%1122 : tensor<640x5120xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x5120xf16> | |
| %collapsed_1249 = tensor.collapse_shape %1117 [[0, 1], [2]] : tensor<2x1024x640xf16> into tensor<2048x640xf16> | |
| %1124 = tensor.empty() : tensor<2048x5120xf16> | |
| %1125 = linalg.fill ins(%cst_946 : f16) outs(%1124 : tensor<2048x5120xf16>) -> tensor<2048x5120xf16> | |
| %1126 = linalg.matmul ins(%collapsed_1249, %1123 : tensor<2048x640xf16>, tensor<640x5120xf16>) outs(%1125 : tensor<2048x5120xf16>) -> tensor<2048x5120xf16> | |
| %1127 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_785, %1126 : tensor<5120xf16>, tensor<2048x5120xf16>) outs(%1124 : tensor<2048x5120xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2048x5120xf16> | |
| %expanded_1250 = tensor.expand_shape %1127 [[0, 1], [2]] : tensor<2048x5120xf16> into tensor<2x1024x5120xf16> | |
| %extracted_slice_1251 = tensor.extract_slice %expanded_1250[0, 0, 0] [2, 1024, 2560] [1, 1, 1] : tensor<2x1024x5120xf16> to tensor<2x1024x2560xf16> | |
| %extracted_slice_1252 = tensor.extract_slice %expanded_1250[0, 0, 2560] [2, 1024, 2560] [1, 1, 1] : tensor<2x1024x5120xf16> to tensor<2x1024x2560xf16> | |
| %1128 = tensor.empty() : tensor<2x1024x2560xf16> | |
| %1129 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%extracted_slice_1252 : tensor<2x1024x2560xf16>) outs(%1128 : tensor<2x1024x2560xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.sqrt %cst_949 : f16 | |
| %6235 = arith.divf %in, %6234 : f16 | |
| %6236 = math.erf %6235 : f16 | |
| %6237 = arith.addf %6236, %cst_947 : f16 | |
| %6238 = arith.mulf %6237, %cst_950 : f16 | |
| %6239 = arith.mulf %in, %6238 : f16 | |
| linalg.yield %6239 : f16 | |
| } -> tensor<2x1024x2560xf16> | |
| %1130 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%extracted_slice_1251, %1129 : tensor<2x1024x2560xf16>, tensor<2x1024x2560xf16>) outs(%1128 : tensor<2x1024x2560xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x2560xf16> | |
| %expanded_1253 = tensor.expand_shape %1130 [[0], [1], [2, 3]] : tensor<2x1024x2560xf16> into tensor<2x1024x160x16xf16> | |
| %1131 = tensor.empty() : tensor<2x1024x160x16xf16> | |
| %1132 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1253 : tensor<2x1024x160x16xf16>) outs(%1131 : tensor<2x1024x160x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x160x16xf16> | |
| %1133 = tensor.empty() : tensor<2x1024x160x1xi64> | |
| %1134 = linalg.fill ins(%c0_i64 : i64) outs(%1133 : tensor<2x1024x160x1xi64>) -> tensor<2x1024x160x1xi64> | |
| %1135 = tensor.empty() : tensor<2x1024x160x1xf16> | |
| %1136 = linalg.fill ins(%cst_948 : f16) outs(%1135 : tensor<2x1024x160x1xf16>) -> tensor<2x1024x160x1xf16> | |
| %1137:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1132 : tensor<2x1024x160x16xf16>) outs(%1136, %1134 : tensor<2x1024x160x1xf16>, tensor<2x1024x160x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x1024x160x1xf16>, tensor<2x1024x160x1xi64>) | |
| %1138 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1137#0 : tensor<2x1024x160x1xf16>) outs(%1131 : tensor<2x1024x160x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1024x160x16xf16> | |
| %collapsed_1254 = tensor.collapse_shape %1138 [[0], [1], [2, 3]] : tensor<2x1024x160x16xf16> into tensor<2x1024x2560xf16> | |
| %1139 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1254 : tensor<2x1024x2560xf16>) outs(%1128 : tensor<2x1024x2560xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x2560xf16> | |
| %1140 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1130, %1139 : tensor<2x1024x2560xf16>, tensor<2x1024x2560xf16>) outs(%1128 : tensor<2x1024x2560xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x2560xf16> | |
| %1141 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1140, %cst_935 : tensor<2x1024x2560xf16>, tensor<f16>) outs(%1128 : tensor<2x1024x2560xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x2560xf16> | |
| %1142 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1141 : tensor<2x1024x2560xf16>) outs(%1128 : tensor<2x1024x2560xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x2560xf16> | |
| %1143 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1142 : tensor<2x1024x2560xf16>) outs(%1128 : tensor<2x1024x2560xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1024x2560xf16> | |
| %1144 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1143, %cst_935 : tensor<2x1024x2560xf16>, tensor<f16>) outs(%1128 : tensor<2x1024x2560xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x2560xf16> | |
| %1145 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1144, %1139 : tensor<2x1024x2560xf16>, tensor<2x1024x2560xf16>) outs(%1128 : tensor<2x1024x2560xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x2560xf16> | |
| %1146 = tensor.empty() : tensor<640x160x16xf16> | |
| %1147 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_784 : tensor<640x160x1xf16>) outs(%1146 : tensor<640x160x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x160x16xf16> | |
| %collapsed_1255 = tensor.collapse_shape %1147 [[0], [1, 2]] : tensor<640x160x16xf16> into tensor<640x2560xf16> | |
| %1148 = tensor.empty() : tensor<640x2560xf16> | |
| %1149 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_783, %collapsed_1255 : tensor<640x2560xi8>, tensor<640x2560xf16>) outs(%1148 : tensor<640x2560xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x2560xf16> | |
| %1150 = tensor.empty() : tensor<2560x640xf16> | |
| %1151 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1149 : tensor<640x2560xf16>) outs(%1150 : tensor<2560x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2560x640xf16> | |
| %collapsed_1256 = tensor.collapse_shape %1145 [[0, 1], [2]] : tensor<2x1024x2560xf16> into tensor<2048x2560xf16> | |
| %1152 = linalg.matmul ins(%collapsed_1256, %1151 : tensor<2048x2560xf16>, tensor<2560x640xf16>) outs(%920 : tensor<2048x640xf16>) -> tensor<2048x640xf16> | |
| %1153 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_782, %1152 : tensor<640xf16>, tensor<2048x640xf16>) outs(%919 : tensor<2048x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2048x640xf16> | |
| %expanded_1257 = tensor.expand_shape %1153 [[0, 1], [2]] : tensor<2048x640xf16> into tensor<2x1024x640xf16> | |
| %1154 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1257, %1089 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %expanded_1258 = tensor.expand_shape %1154 [[0], [1], [2, 3]] : tensor<2x1024x640xf16> into tensor<2x1024x40x16xf16> | |
| %1155 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1258 : tensor<2x1024x40x16xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %1156:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1155 : tensor<2x1024x40x16xf16>) outs(%903, %901 : tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) | |
| %1157 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1156#0 : tensor<2x1024x40x1xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %collapsed_1259 = tensor.collapse_shape %1157 [[0], [1], [2, 3]] : tensor<2x1024x40x16xf16> into tensor<2x1024x640xf16> | |
| %1158 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1259 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1159 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1154, %1158 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1160 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1159, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1161 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1160 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1162 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1161 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1163 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1162, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1164 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1163, %1158 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1165 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_781 : tensor<640x40x1xf16>) outs(%914 : tensor<640x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x40x16xf16> | |
| %collapsed_1260 = tensor.collapse_shape %1165 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
| %1166 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_780, %collapsed_1260 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x640xf16> | |
| %1167 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1166 : tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x640xf16> | |
| %collapsed_1261 = tensor.collapse_shape %1164 [[0, 1], [2]] : tensor<2x1024x640xf16> into tensor<2048x640xf16> | |
| %1168 = linalg.matmul ins(%collapsed_1261, %1167 : tensor<2048x640xf16>, tensor<640x640xf16>) outs(%920 : tensor<2048x640xf16>) -> tensor<2048x640xf16> | |
| %1169 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_779, %1168 : tensor<640xf16>, tensor<2048x640xf16>) outs(%919 : tensor<2048x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2048x640xf16> | |
| %expanded_1262 = tensor.expand_shape %1169 [[0, 1, 2], [3]] : tensor<2048x640xf16> into tensor<2x32x32x640xf16> | |
| %1170 = linalg.generic {indexing_maps = [#map1, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1262 : tensor<2x32x32x640xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1171 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1170, %877 : tensor<2x640x32x32xf16>, tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %collapsed_1263 = tensor.collapse_shape %1171 [[0], [1], [2, 3]] : tensor<2x640x32x32xf16> into tensor<2x640x1024xf16> | |
| %expanded_1264 = tensor.expand_shape %collapsed_1263 [[0], [1, 2], [3]] : tensor<2x640x1024xf16> into tensor<2x32x20x1024xf16> | |
| %1172 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1264 : tensor<2x32x20x1024xf16>) outs(%815 : tensor<2x32x20x1024xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x20x1024xf32> | |
| %1173 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1172 : tensor<2x32x20x1024xf32>) outs(%817 : tensor<2x32x20x1024xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x20x1024xf64> | |
| %1174 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1173 : tensor<2x32x20x1024xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1175 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1174 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_964 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1176 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1173, %1175 : tensor<2x32x20x1024xf64>, tensor<2x32x1x1xf64>) outs(%817 : tensor<2x32x20x1024xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x20x1024xf64> | |
| %1177 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1176, %1176 : tensor<2x32x20x1024xf64>, tensor<2x32x20x1024xf64>) outs(%817 : tensor<2x32x20x1024xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x20x1024xf64> | |
| %1178 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1177 : tensor<2x32x20x1024xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1179 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1178 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_964 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1180 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1179 : tensor<2x32x1x1xf64>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1181 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1172 : tensor<2x32x20x1024xf32>) outs(%46 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1182 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1181 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_965 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1183 = linalg.generic {indexing_maps = [#map11, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1180, %cst_938 : tensor<2x32x1x1xf32>, tensor<f16>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1184 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1183 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1185 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1264, %1182 : tensor<2x32x20x1024xf16>, tensor<2x32x1x1xf32>) outs(%815 : tensor<2x32x20x1024xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x20x1024xf32> | |
| %1186 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1185, %1184 : tensor<2x32x20x1024xf32>, tensor<2x32x1x1xf32>) outs(%815 : tensor<2x32x20x1024xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x20x1024xf32> | |
| %collapsed_1265 = tensor.collapse_shape %1186 [[0], [1, 2], [3]] : tensor<2x32x20x1024xf32> into tensor<2x640x1024xf32> | |
| %expanded_1266 = tensor.expand_shape %collapsed_1265 [[0], [1], [2, 3]] : tensor<2x640x1024xf32> into tensor<2x640x32x32xf32> | |
| %expanded_1267 = tensor.expand_shape %cst_778 [[0, 1, 2, 3]] : tensor<640xf16> into tensor<1x640x1x1xf16> | |
| %expanded_1268 = tensor.expand_shape %cst_777 [[0, 1, 2, 3]] : tensor<640xf16> into tensor<1x640x1x1xf16> | |
| %1187 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1266, %expanded_1268 : tensor<2x640x32x32xf32>, tensor<1x640x1x1xf16>) outs(%832 : tensor<2x640x32x32xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x640x32x32xf32> | |
| %1188 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1187, %expanded_1267 : tensor<2x640x32x32xf32>, tensor<1x640x1x1xf16>) outs(%832 : tensor<2x640x32x32xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x640x32x32xf32> | |
| %1189 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1188 : tensor<2x640x32x32xf32>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1190 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1189 : tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.negf %in : f16 | |
| %6235 = math.exp %6234 : f16 | |
| %6236 = arith.addf %6235, %cst_947 : f16 | |
| %6237 = arith.divf %cst_947, %6236 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1191 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1190, %1189 : tensor<2x640x32x32xf16>, tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %expanded_1269 = tensor.expand_shape %1191 [[0], [1, 2], [3], [4]] : tensor<2x640x32x32xf16> into tensor<2x40x16x32x32xf16> | |
| %1192 = linalg.generic {indexing_maps = [#map14, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1269 : tensor<2x40x16x32x32xf16>) outs(%838 : tensor<2x40x16x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x40x16x32x32xf16> | |
| %1193:2 = linalg.generic {indexing_maps = [#map14, #map15, #map15], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%1192 : tensor<2x40x16x32x32xf16>) outs(%843, %841 : tensor<2x40x1x32x32xf16>, tensor<2x40x1x32x32xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x40x1x32x32xf16>, tensor<2x40x1x32x32xi64>) | |
| %1194 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1193#0 : tensor<2x40x1x32x32xf16>) outs(%838 : tensor<2x40x16x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x40x16x32x32xf16> | |
| %collapsed_1270 = tensor.collapse_shape %1194 [[0], [1, 2], [3], [4]] : tensor<2x40x16x32x32xf16> into tensor<2x640x32x32xf16> | |
| %1195 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1270 : tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1196 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1191, %1195 : tensor<2x640x32x32xf16>, tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1197 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1196, %cst_935 : tensor<2x640x32x32xf16>, tensor<f16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1198 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1197 : tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1199 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1198 : tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1200 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1199, %cst_935 : tensor<2x640x32x32xf16>, tensor<f16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1201 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1200, %1195 : tensor<2x640x32x32xf16>, tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1202 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_776 : tensor<640x40x1x3x3xf16>) outs(%853 : tensor<640x40x16x3x3xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x40x16x3x3xf16> | |
| %collapsed_1271 = tensor.collapse_shape %1202 [[0], [1, 2], [3], [4]] : tensor<640x40x16x3x3xf16> into tensor<640x640x3x3xf16> | |
| %1203 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_775, %collapsed_1271 : tensor<640x640x3x3xi8>, tensor<640x640x3x3xf16>) outs(%855 : tensor<640x640x3x3xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x640x3x3xf16> | |
| %padded_1272 = tensor.pad %1201 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg4: index, %arg5: index, %arg6: index, %arg7: index): | |
| tensor.yield %cst_946 : f16 | |
| } : tensor<2x640x32x32xf16> to tensor<2x640x34x34xf16> | |
| %1204 = linalg.generic {indexing_maps = [#map10, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_774 : tensor<640xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1205 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1272, %1203 : tensor<2x640x34x34xf16>, tensor<640x640x3x3xf16>) outs(%1204 : tensor<2x640x32x32xf16>) -> tensor<2x640x32x32xf16> | |
| %1206 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%cst_773 : tensor<640x1280xf16>) outs(%808 : tensor<1280x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x640xf16> | |
| %1207 = linalg.matmul ins(%81, %1206 : tensor<2x1280xf16>, tensor<1280x640xf16>) outs(%811 : tensor<2x640xf16>) -> tensor<2x640xf16> | |
| %1208 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_772, %1207 : tensor<640xf16>, tensor<2x640xf16>) outs(%810 : tensor<2x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640xf16> | |
| %expanded_1273 = tensor.expand_shape %1208 [[0], [1, 2, 3]] : tensor<2x640xf16> into tensor<2x640x1x1xf16> | |
| %1209 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1205, %expanded_1273 : tensor<2x640x32x32xf16>, tensor<2x640x1x1xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %collapsed_1274 = tensor.collapse_shape %1209 [[0], [1], [2, 3]] : tensor<2x640x32x32xf16> into tensor<2x640x1024xf16> | |
| %expanded_1275 = tensor.expand_shape %collapsed_1274 [[0], [1, 2], [3]] : tensor<2x640x1024xf16> into tensor<2x32x20x1024xf16> | |
| %1210 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1275 : tensor<2x32x20x1024xf16>) outs(%815 : tensor<2x32x20x1024xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x20x1024xf32> | |
| %1211 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1210 : tensor<2x32x20x1024xf32>) outs(%817 : tensor<2x32x20x1024xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x20x1024xf64> | |
| %1212 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1211 : tensor<2x32x20x1024xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1213 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1212 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_964 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1214 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1211, %1213 : tensor<2x32x20x1024xf64>, tensor<2x32x1x1xf64>) outs(%817 : tensor<2x32x20x1024xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x20x1024xf64> | |
| %1215 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1214, %1214 : tensor<2x32x20x1024xf64>, tensor<2x32x20x1024xf64>) outs(%817 : tensor<2x32x20x1024xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x20x1024xf64> | |
| %1216 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1215 : tensor<2x32x20x1024xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1217 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1216 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_964 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1218 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1217 : tensor<2x32x1x1xf64>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1219 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1210 : tensor<2x32x20x1024xf32>) outs(%46 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1220 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1219 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_965 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1221 = linalg.generic {indexing_maps = [#map11, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1218, %cst_938 : tensor<2x32x1x1xf32>, tensor<f16>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1222 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1221 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1223 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1275, %1220 : tensor<2x32x20x1024xf16>, tensor<2x32x1x1xf32>) outs(%815 : tensor<2x32x20x1024xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x20x1024xf32> | |
| %1224 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1223, %1222 : tensor<2x32x20x1024xf32>, tensor<2x32x1x1xf32>) outs(%815 : tensor<2x32x20x1024xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x20x1024xf32> | |
| %collapsed_1276 = tensor.collapse_shape %1224 [[0], [1, 2], [3]] : tensor<2x32x20x1024xf32> into tensor<2x640x1024xf32> | |
| %expanded_1277 = tensor.expand_shape %collapsed_1276 [[0], [1], [2, 3]] : tensor<2x640x1024xf32> into tensor<2x640x32x32xf32> | |
| %expanded_1278 = tensor.expand_shape %cst_771 [[0, 1, 2, 3]] : tensor<640xf16> into tensor<1x640x1x1xf16> | |
| %expanded_1279 = tensor.expand_shape %cst_770 [[0, 1, 2, 3]] : tensor<640xf16> into tensor<1x640x1x1xf16> | |
| %1225 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1277, %expanded_1279 : tensor<2x640x32x32xf32>, tensor<1x640x1x1xf16>) outs(%832 : tensor<2x640x32x32xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x640x32x32xf32> | |
| %1226 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1225, %expanded_1278 : tensor<2x640x32x32xf32>, tensor<1x640x1x1xf16>) outs(%832 : tensor<2x640x32x32xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x640x32x32xf32> | |
| %1227 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1226 : tensor<2x640x32x32xf32>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1228 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1227 : tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.negf %in : f16 | |
| %6235 = math.exp %6234 : f16 | |
| %6236 = arith.addf %6235, %cst_947 : f16 | |
| %6237 = arith.divf %cst_947, %6236 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1229 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1228, %1227 : tensor<2x640x32x32xf16>, tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %expanded_1280 = tensor.expand_shape %1229 [[0], [1, 2], [3], [4]] : tensor<2x640x32x32xf16> into tensor<2x40x16x32x32xf16> | |
| %1230 = linalg.generic {indexing_maps = [#map14, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1280 : tensor<2x40x16x32x32xf16>) outs(%838 : tensor<2x40x16x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x40x16x32x32xf16> | |
| %1231:2 = linalg.generic {indexing_maps = [#map14, #map15, #map15], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%1230 : tensor<2x40x16x32x32xf16>) outs(%843, %841 : tensor<2x40x1x32x32xf16>, tensor<2x40x1x32x32xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x40x1x32x32xf16>, tensor<2x40x1x32x32xi64>) | |
| %1232 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1231#0 : tensor<2x40x1x32x32xf16>) outs(%838 : tensor<2x40x16x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x40x16x32x32xf16> | |
| %collapsed_1281 = tensor.collapse_shape %1232 [[0], [1, 2], [3], [4]] : tensor<2x40x16x32x32xf16> into tensor<2x640x32x32xf16> | |
| %1233 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1281 : tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1234 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1229, %1233 : tensor<2x640x32x32xf16>, tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1235 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1234, %cst_935 : tensor<2x640x32x32xf16>, tensor<f16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1236 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1235 : tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1237 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1236 : tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1238 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1237, %cst_935 : tensor<2x640x32x32xf16>, tensor<f16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1239 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1238, %1233 : tensor<2x640x32x32xf16>, tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1240 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_769 : tensor<640x40x1x3x3xf16>) outs(%853 : tensor<640x40x16x3x3xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x40x16x3x3xf16> | |
| %collapsed_1282 = tensor.collapse_shape %1240 [[0], [1, 2], [3], [4]] : tensor<640x40x16x3x3xf16> into tensor<640x640x3x3xf16> | |
| %1241 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_768, %collapsed_1282 : tensor<640x640x3x3xi8>, tensor<640x640x3x3xf16>) outs(%855 : tensor<640x640x3x3xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x640x3x3xf16> | |
| %padded_1283 = tensor.pad %1239 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg4: index, %arg5: index, %arg6: index, %arg7: index): | |
| tensor.yield %cst_946 : f16 | |
| } : tensor<2x640x32x32xf16> to tensor<2x640x34x34xf16> | |
| %1242 = linalg.generic {indexing_maps = [#map10, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_767 : tensor<640xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1243 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1283, %1241 : tensor<2x640x34x34xf16>, tensor<640x640x3x3xf16>) outs(%1242 : tensor<2x640x32x32xf16>) -> tensor<2x640x32x32xf16> | |
| %1244 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1171, %1243 : tensor<2x640x32x32xf16>, tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1245 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1244, %cst_924 : tensor<2x640x32x32xf16>, tensor<f16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %collapsed_1284 = tensor.collapse_shape %1245 [[0], [1], [2, 3]] : tensor<2x640x32x32xf16> into tensor<2x640x1024xf16> | |
| %expanded_1285 = tensor.expand_shape %collapsed_1284 [[0], [1, 2], [3]] : tensor<2x640x1024xf16> into tensor<2x32x20x1024xf16> | |
| %1246 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1285 : tensor<2x32x20x1024xf16>) outs(%815 : tensor<2x32x20x1024xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x20x1024xf32> | |
| %1247 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1246 : tensor<2x32x20x1024xf32>) outs(%817 : tensor<2x32x20x1024xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x20x1024xf64> | |
| %1248 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1247 : tensor<2x32x20x1024xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1249 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1248 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_964 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1250 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1247, %1249 : tensor<2x32x20x1024xf64>, tensor<2x32x1x1xf64>) outs(%817 : tensor<2x32x20x1024xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x20x1024xf64> | |
| %1251 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1250, %1250 : tensor<2x32x20x1024xf64>, tensor<2x32x20x1024xf64>) outs(%817 : tensor<2x32x20x1024xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x20x1024xf64> | |
| %1252 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1251 : tensor<2x32x20x1024xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1253 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1252 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_964 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1254 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1253 : tensor<2x32x1x1xf64>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1255 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1246 : tensor<2x32x20x1024xf32>) outs(%46 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1256 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1255 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_965 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1257 = linalg.generic {indexing_maps = [#map11, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1254, %cst_923 : tensor<2x32x1x1xf32>, tensor<f16>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1258 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1257 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1259 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1285, %1256 : tensor<2x32x20x1024xf16>, tensor<2x32x1x1xf32>) outs(%815 : tensor<2x32x20x1024xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x20x1024xf32> | |
| %1260 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1259, %1258 : tensor<2x32x20x1024xf32>, tensor<2x32x1x1xf32>) outs(%815 : tensor<2x32x20x1024xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x20x1024xf32> | |
| %collapsed_1286 = tensor.collapse_shape %1260 [[0], [1, 2], [3]] : tensor<2x32x20x1024xf32> into tensor<2x640x1024xf32> | |
| %expanded_1287 = tensor.expand_shape %collapsed_1286 [[0], [1], [2, 3]] : tensor<2x640x1024xf32> into tensor<2x640x32x32xf32> | |
| %expanded_1288 = tensor.expand_shape %cst_766 [[0, 1, 2, 3]] : tensor<640xf16> into tensor<1x640x1x1xf16> | |
| %expanded_1289 = tensor.expand_shape %cst_765 [[0, 1, 2, 3]] : tensor<640xf16> into tensor<1x640x1x1xf16> | |
| %1261 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1287, %expanded_1289 : tensor<2x640x32x32xf32>, tensor<1x640x1x1xf16>) outs(%832 : tensor<2x640x32x32xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x640x32x32xf32> | |
| %1262 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1261, %expanded_1288 : tensor<2x640x32x32xf32>, tensor<1x640x1x1xf16>) outs(%832 : tensor<2x640x32x32xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x640x32x32xf32> | |
| %1263 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1262 : tensor<2x640x32x32xf32>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1264 = linalg.generic {indexing_maps = [#map1, #map16], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1263 : tensor<2x640x32x32xf16>) outs(%896 : tensor<2x32x32x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x32x32x640xf16> | |
| %collapsed_1290 = tensor.collapse_shape %1264 [[0], [1, 2], [3]] : tensor<2x32x32x640xf16> into tensor<2x1024x640xf16> | |
| %expanded_1291 = tensor.expand_shape %collapsed_1290 [[0], [1], [2, 3]] : tensor<2x1024x640xf16> into tensor<2x1024x40x16xf16> | |
| %1265 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1291 : tensor<2x1024x40x16xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %1266:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1265 : tensor<2x1024x40x16xf16>) outs(%903, %901 : tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) | |
| %1267 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1266#0 : tensor<2x1024x40x1xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %collapsed_1292 = tensor.collapse_shape %1267 [[0], [1], [2, 3]] : tensor<2x1024x40x16xf16> into tensor<2x1024x640xf16> | |
| %1268 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1292 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1269 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1290, %1268 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1270 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1269, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1271 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1270 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1272 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1271 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1273 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1272, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1274 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1273, %1268 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1275 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_764 : tensor<640x40x1xf16>) outs(%914 : tensor<640x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x40x16xf16> | |
| %collapsed_1293 = tensor.collapse_shape %1275 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
| %1276 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_763, %collapsed_1293 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x640xf16> | |
| %1277 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1276 : tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x640xf16> | |
| %collapsed_1294 = tensor.collapse_shape %1274 [[0, 1], [2]] : tensor<2x1024x640xf16> into tensor<2048x640xf16> | |
| %1278 = linalg.matmul ins(%collapsed_1294, %1277 : tensor<2048x640xf16>, tensor<640x640xf16>) outs(%920 : tensor<2048x640xf16>) -> tensor<2048x640xf16> | |
| %1279 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_762, %1278 : tensor<640xf16>, tensor<2048x640xf16>) outs(%919 : tensor<2048x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2048x640xf16> | |
| %expanded_1295 = tensor.expand_shape %1279 [[0, 1], [2]] : tensor<2048x640xf16> into tensor<2x1024x640xf16> | |
| %1280 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1295 : tensor<2x1024x640xf16>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %1281 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1280 : tensor<2x1024x640xf32>) outs(%925 : tensor<2x1024x640xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x640xf64> | |
| %1282 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1281 : tensor<2x1024x640xf64>) outs(%928 : tensor<2x1024x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x1xf64> | |
| %1283 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1282 : tensor<2x1024x1xf64>) outs(%927 : tensor<2x1024x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_966 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x1xf64> | |
| %1284 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1281, %1283 : tensor<2x1024x640xf64>, tensor<2x1024x1xf64>) outs(%925 : tensor<2x1024x640xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x640xf64> | |
| %1285 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1284, %1284 : tensor<2x1024x640xf64>, tensor<2x1024x640xf64>) outs(%925 : tensor<2x1024x640xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x640xf64> | |
| %1286 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1285 : tensor<2x1024x640xf64>) outs(%928 : tensor<2x1024x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x1xf64> | |
| %1287 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1286 : tensor<2x1024x1xf64>) outs(%927 : tensor<2x1024x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_966 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x1xf64> | |
| %1288 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1287 : tensor<2x1024x1xf64>) outs(%935 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %1289 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1280 : tensor<2x1024x640xf32>) outs(%937 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %1290 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1289 : tensor<2x1024x1xf32>) outs(%935 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_967 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %1291 = linalg.generic {indexing_maps = [#map20, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1288, %cst_938 : tensor<2x1024x1xf32>, tensor<f16>) outs(%935 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %1292 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1291 : tensor<2x1024x1xf32>) outs(%935 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %1293 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1295, %1290 : tensor<2x1024x640xf16>, tensor<2x1024x1xf32>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %1294 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1293, %1292 : tensor<2x1024x640xf32>, tensor<2x1024x1xf32>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %1295 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1294, %cst_761 : tensor<2x1024x640xf32>, tensor<640xf16>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %1296 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1295, %cst_760 : tensor<2x1024x640xf32>, tensor<640xf16>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %1297 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1296 : tensor<2x1024x640xf32>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %expanded_1296 = tensor.expand_shape %1297 [[0], [1], [2, 3]] : tensor<2x1024x640xf16> into tensor<2x1024x40x16xf16> | |
| %1298 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1296 : tensor<2x1024x40x16xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %1299:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1298 : tensor<2x1024x40x16xf16>) outs(%903, %901 : tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) | |
| %1300 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1299#0 : tensor<2x1024x40x1xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %collapsed_1297 = tensor.collapse_shape %1300 [[0], [1], [2, 3]] : tensor<2x1024x40x16xf16> into tensor<2x1024x640xf16> | |
| %1301 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1297 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1302 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1297, %1301 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1303 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1302, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1304 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1303 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1305 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1304 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1306 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1305, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1307 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1306, %1301 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1308 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_759 : tensor<640x40x1xf16>) outs(%914 : tensor<640x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x40x16xf16> | |
| %collapsed_1298 = tensor.collapse_shape %1308 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
| %1309 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_758, %collapsed_1298 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x640xf16> | |
| %1310 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1309 : tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x640xf16> | |
| %collapsed_1299 = tensor.collapse_shape %1307 [[0, 1], [2]] : tensor<2x1024x640xf16> into tensor<2048x640xf16> | |
| %1311 = linalg.matmul ins(%collapsed_1299, %1310 : tensor<2048x640xf16>, tensor<640x640xf16>) outs(%920 : tensor<2048x640xf16>) -> tensor<2048x640xf16> | |
| %expanded_1300 = tensor.expand_shape %1311 [[0, 1], [2, 3]] : tensor<2048x640xf16> into tensor<2x1024x10x64xf16> | |
| %1312 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1300 : tensor<2x1024x10x64xf16>) outs(%961 : tensor<2x10x1024x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x10x1024x64xf16> | |
| %collapsed_1301 = tensor.collapse_shape %1312 [[0, 1], [2], [3]] : tensor<2x10x1024x64xf16> into tensor<20x1024x64xf16> | |
| %1313 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_757 : tensor<640x40x1xf16>) outs(%914 : tensor<640x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x40x16xf16> | |
| %collapsed_1302 = tensor.collapse_shape %1313 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
| %1314 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_756, %collapsed_1302 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x640xf16> | |
| %1315 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1314 : tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x640xf16> | |
| %1316 = linalg.matmul ins(%collapsed_1299, %1315 : tensor<2048x640xf16>, tensor<640x640xf16>) outs(%920 : tensor<2048x640xf16>) -> tensor<2048x640xf16> | |
| %1317 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_755 : tensor<640x40x1xf16>) outs(%914 : tensor<640x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x40x16xf16> | |
| %collapsed_1303 = tensor.collapse_shape %1317 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
| %1318 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_754, %collapsed_1303 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x640xf16> | |
| %1319 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1318 : tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x640xf16> | |
| %1320 = linalg.matmul ins(%collapsed_1299, %1319 : tensor<2048x640xf16>, tensor<640x640xf16>) outs(%920 : tensor<2048x640xf16>) -> tensor<2048x640xf16> | |
| %expanded_1304 = tensor.expand_shape %1316 [[0, 1], [2, 3]] : tensor<2048x640xf16> into tensor<2x1024x10x64xf16> | |
| %1321 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1304 : tensor<2x1024x10x64xf16>) outs(%961 : tensor<2x10x1024x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x10x1024x64xf16> | |
| %collapsed_1305 = tensor.collapse_shape %1321 [[0, 1], [2], [3]] : tensor<2x10x1024x64xf16> into tensor<20x1024x64xf16> | |
| %expanded_1306 = tensor.expand_shape %1320 [[0, 1], [2, 3]] : tensor<2048x640xf16> into tensor<2x1024x10x64xf16> | |
| %1322 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1306 : tensor<2x1024x10x64xf16>) outs(%961 : tensor<2x10x1024x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x10x1024x64xf16> | |
| %collapsed_1307 = tensor.collapse_shape %1322 [[0, 1], [2], [3]] : tensor<2x10x1024x64xf16> into tensor<20x1024x64xf16> | |
| %1323 = linalg.generic {indexing_maps = [#map18, #map23], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1305 : tensor<20x1024x64xf16>) outs(%975 : tensor<20x64x1024xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<20x64x1024xf16> | |
| %1324 = linalg.batch_matmul ins(%collapsed_1301, %1323 : tensor<20x1024x64xf16>, tensor<20x64x1024xf16>) outs(%974 : tensor<20x1024x1024xf16>) -> tensor<20x1024x1024xf16> | |
| %1325 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1324 : tensor<20x1024x1024xf16>) outs(%973 : tensor<20x1024x1024xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.mulf %in, %cst_961 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<20x1024x1024xf16> | |
| %1326 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1325, %974 : tensor<20x1024x1024xf16>, tensor<20x1024x1024xf16>) outs(%973 : tensor<20x1024x1024xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in_2625, %cst_946 : f16 | |
| %6235 = arith.addf %in, %6234 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<20x1024x1024xf16> | |
| %1327:2 = linalg.generic {indexing_maps = [#map18, #map20, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1326 : tensor<20x1024x1024xf16>) outs(%983, %981 : tensor<20x1024x1xf16>, tensor<20x1024x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<20x1024x1xf16>, tensor<20x1024x1xi64>) | |
| %1328 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1326, %1327#0 : tensor<20x1024x1024xf16>, tensor<20x1024x1xf16>) outs(%973 : tensor<20x1024x1024xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<20x1024x1024xf16> | |
| %1329 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1328 : tensor<20x1024x1024xf16>) outs(%973 : tensor<20x1024x1024xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.exp %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<20x1024x1024xf16> | |
| %1330 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1329 : tensor<20x1024x1024xf16>) outs(%987 : tensor<20x1024x1xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.addf %in, %out : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<20x1024x1xf16> | |
| %1331 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1329, %1330 : tensor<20x1024x1024xf16>, tensor<20x1024x1xf16>) outs(%973 : tensor<20x1024x1024xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<20x1024x1024xf16> | |
| %1332 = linalg.batch_matmul ins(%1331, %collapsed_1307 : tensor<20x1024x1024xf16>, tensor<20x1024x64xf16>) outs(%991 : tensor<20x1024x64xf16>) -> tensor<20x1024x64xf16> | |
| %expanded_1308 = tensor.expand_shape %1332 [[0, 1], [2], [3]] : tensor<20x1024x64xf16> into tensor<2x10x1024x64xf16> | |
| %1333 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1308 : tensor<2x10x1024x64xf16>) outs(%993 : tensor<2x1024x10x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1024x10x64xf16> | |
| %collapsed_1309 = tensor.collapse_shape %1333 [[0], [1], [2, 3]] : tensor<2x1024x10x64xf16> into tensor<2x1024x640xf16> | |
| %expanded_1310 = tensor.expand_shape %collapsed_1309 [[0], [1], [2, 3]] : tensor<2x1024x640xf16> into tensor<2x1024x40x16xf16> | |
| %1334 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1310 : tensor<2x1024x40x16xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %1335:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1334 : tensor<2x1024x40x16xf16>) outs(%903, %901 : tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) | |
| %1336 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1335#0 : tensor<2x1024x40x1xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %collapsed_1311 = tensor.collapse_shape %1336 [[0], [1], [2, 3]] : tensor<2x1024x40x16xf16> into tensor<2x1024x640xf16> | |
| %1337 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1311 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1338 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1309, %1337 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1339 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1338, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1340 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1339 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1341 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1340 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1342 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1341, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1343 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1342, %1337 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1344 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_753 : tensor<640x40x1xf16>) outs(%914 : tensor<640x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x40x16xf16> | |
| %collapsed_1312 = tensor.collapse_shape %1344 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
| %1345 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_752, %collapsed_1312 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x640xf16> | |
| %1346 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1345 : tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x640xf16> | |
| %collapsed_1313 = tensor.collapse_shape %1343 [[0, 1], [2]] : tensor<2x1024x640xf16> into tensor<2048x640xf16> | |
| %1347 = linalg.matmul ins(%collapsed_1313, %1346 : tensor<2048x640xf16>, tensor<640x640xf16>) outs(%920 : tensor<2048x640xf16>) -> tensor<2048x640xf16> | |
| %1348 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_751, %1347 : tensor<640xf16>, tensor<2048x640xf16>) outs(%919 : tensor<2048x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2048x640xf16> | |
| %expanded_1314 = tensor.expand_shape %1348 [[0, 1], [2]] : tensor<2048x640xf16> into tensor<2x1024x640xf16> | |
| %1349 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1314, %expanded_1295 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1350 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1349 : tensor<2x1024x640xf16>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %1351 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1350 : tensor<2x1024x640xf32>) outs(%925 : tensor<2x1024x640xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x640xf64> | |
| %1352 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1351 : tensor<2x1024x640xf64>) outs(%928 : tensor<2x1024x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x1xf64> | |
| %1353 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1352 : tensor<2x1024x1xf64>) outs(%927 : tensor<2x1024x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_966 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x1xf64> | |
| %1354 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1351, %1353 : tensor<2x1024x640xf64>, tensor<2x1024x1xf64>) outs(%925 : tensor<2x1024x640xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x640xf64> | |
| %1355 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1354, %1354 : tensor<2x1024x640xf64>, tensor<2x1024x640xf64>) outs(%925 : tensor<2x1024x640xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x640xf64> | |
| %1356 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1355 : tensor<2x1024x640xf64>) outs(%928 : tensor<2x1024x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x1xf64> | |
| %1357 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1356 : tensor<2x1024x1xf64>) outs(%927 : tensor<2x1024x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_966 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x1xf64> | |
| %1358 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1357 : tensor<2x1024x1xf64>) outs(%935 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %1359 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1350 : tensor<2x1024x640xf32>) outs(%937 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %1360 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1359 : tensor<2x1024x1xf32>) outs(%935 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_967 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %1361 = linalg.generic {indexing_maps = [#map20, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1358, %cst_938 : tensor<2x1024x1xf32>, tensor<f16>) outs(%935 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %1362 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1361 : tensor<2x1024x1xf32>) outs(%935 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %1363 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1349, %1360 : tensor<2x1024x640xf16>, tensor<2x1024x1xf32>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %1364 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1363, %1362 : tensor<2x1024x640xf32>, tensor<2x1024x1xf32>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %1365 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1364, %cst_750 : tensor<2x1024x640xf32>, tensor<640xf16>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %1366 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1365, %cst_749 : tensor<2x1024x640xf32>, tensor<640xf16>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %1367 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1366 : tensor<2x1024x640xf32>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %expanded_1315 = tensor.expand_shape %1367 [[0], [1], [2, 3]] : tensor<2x1024x640xf16> into tensor<2x1024x40x16xf16> | |
| %1368 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1315 : tensor<2x1024x40x16xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %1369:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1368 : tensor<2x1024x40x16xf16>) outs(%903, %901 : tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) | |
| %1370 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1369#0 : tensor<2x1024x40x1xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %collapsed_1316 = tensor.collapse_shape %1370 [[0], [1], [2, 3]] : tensor<2x1024x40x16xf16> into tensor<2x1024x640xf16> | |
| %1371 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1316 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1372 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1367, %1371 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1373 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1372, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1374 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1373 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1375 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1374 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1376 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1375, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1377 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1376, %1371 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1378 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_748 : tensor<640x40x1xf16>) outs(%914 : tensor<640x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x40x16xf16> | |
| %collapsed_1317 = tensor.collapse_shape %1378 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
| %1379 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_747, %collapsed_1317 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x640xf16> | |
| %1380 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1379 : tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x640xf16> | |
| %collapsed_1318 = tensor.collapse_shape %1377 [[0, 1], [2]] : tensor<2x1024x640xf16> into tensor<2048x640xf16> | |
| %1381 = linalg.matmul ins(%collapsed_1318, %1380 : tensor<2048x640xf16>, tensor<640x640xf16>) outs(%920 : tensor<2048x640xf16>) -> tensor<2048x640xf16> | |
| %expanded_1319 = tensor.expand_shape %1381 [[0, 1], [2, 3]] : tensor<2048x640xf16> into tensor<2x1024x10x64xf16> | |
| %1382 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1319 : tensor<2x1024x10x64xf16>) outs(%961 : tensor<2x10x1024x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x10x1024x64xf16> | |
| %collapsed_1320 = tensor.collapse_shape %1382 [[0, 1], [2], [3]] : tensor<2x10x1024x64xf16> into tensor<20x1024x64xf16> | |
| %1383 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_746 : tensor<640x64x1xf16>) outs(%1044 : tensor<640x64x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x64x16xf16> | |
| %collapsed_1321 = tensor.collapse_shape %1383 [[0], [1, 2]] : tensor<640x64x16xf16> into tensor<640x1024xf16> | |
| %1384 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_745, %collapsed_1321 : tensor<640x1024xi8>, tensor<640x1024xf16>) outs(%1046 : tensor<640x1024xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x1024xf16> | |
| %1385 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1384 : tensor<640x1024xf16>) outs(%1048 : tensor<1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1024x640xf16> | |
| %1386 = linalg.matmul ins(%collapsed_1050, %1385 : tensor<154x1024xf16>, tensor<1024x640xf16>) outs(%1051 : tensor<154x640xf16>) -> tensor<154x640xf16> | |
| %1387 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_744 : tensor<640x64x1xf16>) outs(%1044 : tensor<640x64x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x64x16xf16> | |
| %collapsed_1322 = tensor.collapse_shape %1387 [[0], [1, 2]] : tensor<640x64x16xf16> into tensor<640x1024xf16> | |
| %1388 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_743, %collapsed_1322 : tensor<640x1024xi8>, tensor<640x1024xf16>) outs(%1046 : tensor<640x1024xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x1024xf16> | |
| %1389 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1388 : tensor<640x1024xf16>) outs(%1048 : tensor<1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1024x640xf16> | |
| %1390 = linalg.matmul ins(%collapsed_1050, %1389 : tensor<154x1024xf16>, tensor<1024x640xf16>) outs(%1051 : tensor<154x640xf16>) -> tensor<154x640xf16> | |
| %expanded_1323 = tensor.expand_shape %1386 [[0, 1], [2, 3]] : tensor<154x640xf16> into tensor<2x77x10x64xf16> | |
| %1391 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1323 : tensor<2x77x10x64xf16>) outs(%1057 : tensor<2x10x77x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x10x77x64xf16> | |
| %collapsed_1324 = tensor.collapse_shape %1391 [[0, 1], [2], [3]] : tensor<2x10x77x64xf16> into tensor<20x77x64xf16> | |
| %expanded_1325 = tensor.expand_shape %1390 [[0, 1], [2, 3]] : tensor<154x640xf16> into tensor<2x77x10x64xf16> | |
| %1392 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1325 : tensor<2x77x10x64xf16>) outs(%1057 : tensor<2x10x77x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x10x77x64xf16> | |
| %collapsed_1326 = tensor.collapse_shape %1392 [[0, 1], [2], [3]] : tensor<2x10x77x64xf16> into tensor<20x77x64xf16> | |
| %1393 = linalg.generic {indexing_maps = [#map18, #map23], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1324 : tensor<20x77x64xf16>) outs(%1062 : tensor<20x64x77xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<20x64x77xf16> | |
| %1394 = linalg.batch_matmul ins(%collapsed_1320, %1393 : tensor<20x1024x64xf16>, tensor<20x64x77xf16>) outs(%1061 : tensor<20x1024x77xf16>) -> tensor<20x1024x77xf16> | |
| %1395 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1394 : tensor<20x1024x77xf16>) outs(%1060 : tensor<20x1024x77xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.mulf %in, %cst_961 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<20x1024x77xf16> | |
| %1396 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1395, %1061 : tensor<20x1024x77xf16>, tensor<20x1024x77xf16>) outs(%1060 : tensor<20x1024x77xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in_2625, %cst_946 : f16 | |
| %6235 = arith.addf %in, %6234 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<20x1024x77xf16> | |
| %1397:2 = linalg.generic {indexing_maps = [#map18, #map20, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1396 : tensor<20x1024x77xf16>) outs(%983, %981 : tensor<20x1024x1xf16>, tensor<20x1024x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<20x1024x1xf16>, tensor<20x1024x1xi64>) | |
| %1398 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1396, %1397#0 : tensor<20x1024x77xf16>, tensor<20x1024x1xf16>) outs(%1060 : tensor<20x1024x77xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<20x1024x77xf16> | |
| %1399 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1398 : tensor<20x1024x77xf16>) outs(%1060 : tensor<20x1024x77xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.exp %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<20x1024x77xf16> | |
| %1400 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1399 : tensor<20x1024x77xf16>) outs(%987 : tensor<20x1024x1xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.addf %in, %out : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<20x1024x1xf16> | |
| %1401 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1399, %1400 : tensor<20x1024x77xf16>, tensor<20x1024x1xf16>) outs(%1060 : tensor<20x1024x77xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<20x1024x77xf16> | |
| %1402 = linalg.batch_matmul ins(%1401, %collapsed_1326 : tensor<20x1024x77xf16>, tensor<20x77x64xf16>) outs(%991 : tensor<20x1024x64xf16>) -> tensor<20x1024x64xf16> | |
| %expanded_1327 = tensor.expand_shape %1402 [[0, 1], [2], [3]] : tensor<20x1024x64xf16> into tensor<2x10x1024x64xf16> | |
| %1403 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1327 : tensor<2x10x1024x64xf16>) outs(%993 : tensor<2x1024x10x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1024x10x64xf16> | |
| %collapsed_1328 = tensor.collapse_shape %1403 [[0], [1], [2, 3]] : tensor<2x1024x10x64xf16> into tensor<2x1024x640xf16> | |
| %expanded_1329 = tensor.expand_shape %collapsed_1328 [[0], [1], [2, 3]] : tensor<2x1024x640xf16> into tensor<2x1024x40x16xf16> | |
| %1404 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1329 : tensor<2x1024x40x16xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %1405:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1404 : tensor<2x1024x40x16xf16>) outs(%903, %901 : tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) | |
| %1406 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1405#0 : tensor<2x1024x40x1xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %collapsed_1330 = tensor.collapse_shape %1406 [[0], [1], [2, 3]] : tensor<2x1024x40x16xf16> into tensor<2x1024x640xf16> | |
| %1407 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1330 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1408 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1328, %1407 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1409 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1408, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1410 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1409 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1411 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1410 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1412 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1411, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1413 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1412, %1407 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1414 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_742 : tensor<640x40x1xf16>) outs(%914 : tensor<640x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x40x16xf16> | |
| %collapsed_1331 = tensor.collapse_shape %1414 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
| %1415 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_741, %collapsed_1331 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x640xf16> | |
| %1416 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1415 : tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x640xf16> | |
| %collapsed_1332 = tensor.collapse_shape %1413 [[0, 1], [2]] : tensor<2x1024x640xf16> into tensor<2048x640xf16> | |
| %1417 = linalg.matmul ins(%collapsed_1332, %1416 : tensor<2048x640xf16>, tensor<640x640xf16>) outs(%920 : tensor<2048x640xf16>) -> tensor<2048x640xf16> | |
| %1418 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_740, %1417 : tensor<640xf16>, tensor<2048x640xf16>) outs(%919 : tensor<2048x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2048x640xf16> | |
| %expanded_1333 = tensor.expand_shape %1418 [[0, 1], [2]] : tensor<2048x640xf16> into tensor<2x1024x640xf16> | |
| %1419 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1333, %1349 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1420 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1419 : tensor<2x1024x640xf16>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %1421 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1420 : tensor<2x1024x640xf32>) outs(%925 : tensor<2x1024x640xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x640xf64> | |
| %1422 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1421 : tensor<2x1024x640xf64>) outs(%928 : tensor<2x1024x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x1xf64> | |
| %1423 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1422 : tensor<2x1024x1xf64>) outs(%927 : tensor<2x1024x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_966 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x1xf64> | |
| %1424 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1421, %1423 : tensor<2x1024x640xf64>, tensor<2x1024x1xf64>) outs(%925 : tensor<2x1024x640xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x640xf64> | |
| %1425 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1424, %1424 : tensor<2x1024x640xf64>, tensor<2x1024x640xf64>) outs(%925 : tensor<2x1024x640xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x640xf64> | |
| %1426 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1425 : tensor<2x1024x640xf64>) outs(%928 : tensor<2x1024x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x1xf64> | |
| %1427 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1426 : tensor<2x1024x1xf64>) outs(%927 : tensor<2x1024x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_966 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x1024x1xf64> | |
| %1428 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1427 : tensor<2x1024x1xf64>) outs(%935 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %1429 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1420 : tensor<2x1024x640xf32>) outs(%937 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %1430 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1429 : tensor<2x1024x1xf32>) outs(%935 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_967 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %1431 = linalg.generic {indexing_maps = [#map20, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1428, %cst_938 : tensor<2x1024x1xf32>, tensor<f16>) outs(%935 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %1432 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1431 : tensor<2x1024x1xf32>) outs(%935 : tensor<2x1024x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x1xf32> | |
| %1433 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1419, %1430 : tensor<2x1024x640xf16>, tensor<2x1024x1xf32>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %1434 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1433, %1432 : tensor<2x1024x640xf32>, tensor<2x1024x1xf32>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %1435 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1434, %cst_739 : tensor<2x1024x640xf32>, tensor<640xf16>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %1436 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1435, %cst_738 : tensor<2x1024x640xf32>, tensor<640xf16>) outs(%923 : tensor<2x1024x640xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1024x640xf32> | |
| %1437 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1436 : tensor<2x1024x640xf32>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %expanded_1334 = tensor.expand_shape %1437 [[0], [1], [2, 3]] : tensor<2x1024x640xf16> into tensor<2x1024x40x16xf16> | |
| %1438 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1334 : tensor<2x1024x40x16xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %1439:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1438 : tensor<2x1024x40x16xf16>) outs(%903, %901 : tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) | |
| %1440 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1439#0 : tensor<2x1024x40x1xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %collapsed_1335 = tensor.collapse_shape %1440 [[0], [1], [2, 3]] : tensor<2x1024x40x16xf16> into tensor<2x1024x640xf16> | |
| %1441 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1335 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1442 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1437, %1441 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1443 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1442, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1444 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1443 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1445 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1444 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1446 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1445, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1447 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1446, %1441 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1448 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_737 : tensor<5120x40x1xf16>) outs(%1118 : tensor<5120x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<5120x40x16xf16> | |
| %collapsed_1336 = tensor.collapse_shape %1448 [[0], [1, 2]] : tensor<5120x40x16xf16> into tensor<5120x640xf16> | |
| %1449 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_736, %collapsed_1336 : tensor<5120x640xi8>, tensor<5120x640xf16>) outs(%1120 : tensor<5120x640xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<5120x640xf16> | |
| %1450 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1449 : tensor<5120x640xf16>) outs(%1122 : tensor<640x5120xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x5120xf16> | |
| %collapsed_1337 = tensor.collapse_shape %1447 [[0, 1], [2]] : tensor<2x1024x640xf16> into tensor<2048x640xf16> | |
| %1451 = linalg.matmul ins(%collapsed_1337, %1450 : tensor<2048x640xf16>, tensor<640x5120xf16>) outs(%1125 : tensor<2048x5120xf16>) -> tensor<2048x5120xf16> | |
| %1452 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_735, %1451 : tensor<5120xf16>, tensor<2048x5120xf16>) outs(%1124 : tensor<2048x5120xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2048x5120xf16> | |
| %expanded_1338 = tensor.expand_shape %1452 [[0, 1], [2]] : tensor<2048x5120xf16> into tensor<2x1024x5120xf16> | |
| %extracted_slice_1339 = tensor.extract_slice %expanded_1338[0, 0, 0] [2, 1024, 2560] [1, 1, 1] : tensor<2x1024x5120xf16> to tensor<2x1024x2560xf16> | |
| %extracted_slice_1340 = tensor.extract_slice %expanded_1338[0, 0, 2560] [2, 1024, 2560] [1, 1, 1] : tensor<2x1024x5120xf16> to tensor<2x1024x2560xf16> | |
| %1453 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%extracted_slice_1340 : tensor<2x1024x2560xf16>) outs(%1128 : tensor<2x1024x2560xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.sqrt %cst_949 : f16 | |
| %6235 = arith.divf %in, %6234 : f16 | |
| %6236 = math.erf %6235 : f16 | |
| %6237 = arith.addf %6236, %cst_947 : f16 | |
| %6238 = arith.mulf %6237, %cst_950 : f16 | |
| %6239 = arith.mulf %in, %6238 : f16 | |
| linalg.yield %6239 : f16 | |
| } -> tensor<2x1024x2560xf16> | |
| %1454 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%extracted_slice_1339, %1453 : tensor<2x1024x2560xf16>, tensor<2x1024x2560xf16>) outs(%1128 : tensor<2x1024x2560xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x2560xf16> | |
| %expanded_1341 = tensor.expand_shape %1454 [[0], [1], [2, 3]] : tensor<2x1024x2560xf16> into tensor<2x1024x160x16xf16> | |
| %1455 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1341 : tensor<2x1024x160x16xf16>) outs(%1131 : tensor<2x1024x160x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x160x16xf16> | |
| %1456:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1455 : tensor<2x1024x160x16xf16>) outs(%1136, %1134 : tensor<2x1024x160x1xf16>, tensor<2x1024x160x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x1024x160x1xf16>, tensor<2x1024x160x1xi64>) | |
| %1457 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1456#0 : tensor<2x1024x160x1xf16>) outs(%1131 : tensor<2x1024x160x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1024x160x16xf16> | |
| %collapsed_1342 = tensor.collapse_shape %1457 [[0], [1], [2, 3]] : tensor<2x1024x160x16xf16> into tensor<2x1024x2560xf16> | |
| %1458 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1342 : tensor<2x1024x2560xf16>) outs(%1128 : tensor<2x1024x2560xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x2560xf16> | |
| %1459 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1454, %1458 : tensor<2x1024x2560xf16>, tensor<2x1024x2560xf16>) outs(%1128 : tensor<2x1024x2560xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x2560xf16> | |
| %1460 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1459, %cst_935 : tensor<2x1024x2560xf16>, tensor<f16>) outs(%1128 : tensor<2x1024x2560xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x2560xf16> | |
| %1461 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1460 : tensor<2x1024x2560xf16>) outs(%1128 : tensor<2x1024x2560xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x2560xf16> | |
| %1462 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1461 : tensor<2x1024x2560xf16>) outs(%1128 : tensor<2x1024x2560xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1024x2560xf16> | |
| %1463 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1462, %cst_935 : tensor<2x1024x2560xf16>, tensor<f16>) outs(%1128 : tensor<2x1024x2560xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x2560xf16> | |
| %1464 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1463, %1458 : tensor<2x1024x2560xf16>, tensor<2x1024x2560xf16>) outs(%1128 : tensor<2x1024x2560xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x2560xf16> | |
| %1465 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_734 : tensor<640x160x1xf16>) outs(%1146 : tensor<640x160x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x160x16xf16> | |
| %collapsed_1343 = tensor.collapse_shape %1465 [[0], [1, 2]] : tensor<640x160x16xf16> into tensor<640x2560xf16> | |
| %1466 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_733, %collapsed_1343 : tensor<640x2560xi8>, tensor<640x2560xf16>) outs(%1148 : tensor<640x2560xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x2560xf16> | |
| %1467 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1466 : tensor<640x2560xf16>) outs(%1150 : tensor<2560x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2560x640xf16> | |
| %collapsed_1344 = tensor.collapse_shape %1464 [[0, 1], [2]] : tensor<2x1024x2560xf16> into tensor<2048x2560xf16> | |
| %1468 = linalg.matmul ins(%collapsed_1344, %1467 : tensor<2048x2560xf16>, tensor<2560x640xf16>) outs(%920 : tensor<2048x640xf16>) -> tensor<2048x640xf16> | |
| %1469 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_732, %1468 : tensor<640xf16>, tensor<2048x640xf16>) outs(%919 : tensor<2048x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2048x640xf16> | |
| %expanded_1345 = tensor.expand_shape %1469 [[0, 1], [2]] : tensor<2048x640xf16> into tensor<2x1024x640xf16> | |
| %1470 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1345, %1419 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %expanded_1346 = tensor.expand_shape %1470 [[0], [1], [2, 3]] : tensor<2x1024x640xf16> into tensor<2x1024x40x16xf16> | |
| %1471 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1346 : tensor<2x1024x40x16xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %1472:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1471 : tensor<2x1024x40x16xf16>) outs(%903, %901 : tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x1024x40x1xf16>, tensor<2x1024x40x1xi64>) | |
| %1473 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1472#0 : tensor<2x1024x40x1xf16>) outs(%898 : tensor<2x1024x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1024x40x16xf16> | |
| %collapsed_1347 = tensor.collapse_shape %1473 [[0], [1], [2, 3]] : tensor<2x1024x40x16xf16> into tensor<2x1024x640xf16> | |
| %1474 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1347 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1475 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1470, %1474 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1476 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1475, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1477 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1476 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1478 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1477 : tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1479 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1478, %cst_935 : tensor<2x1024x640xf16>, tensor<f16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1480 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1479, %1474 : tensor<2x1024x640xf16>, tensor<2x1024x640xf16>) outs(%906 : tensor<2x1024x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1024x640xf16> | |
| %1481 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_731 : tensor<640x40x1xf16>) outs(%914 : tensor<640x40x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x40x16xf16> | |
| %collapsed_1348 = tensor.collapse_shape %1481 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
| %1482 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_730, %collapsed_1348 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x640xf16> | |
| %1483 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1482 : tensor<640x640xf16>) outs(%916 : tensor<640x640xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x640xf16> | |
| %collapsed_1349 = tensor.collapse_shape %1480 [[0, 1], [2]] : tensor<2x1024x640xf16> into tensor<2048x640xf16> | |
| %1484 = linalg.matmul ins(%collapsed_1349, %1483 : tensor<2048x640xf16>, tensor<640x640xf16>) outs(%920 : tensor<2048x640xf16>) -> tensor<2048x640xf16> | |
| %1485 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_729, %1484 : tensor<640xf16>, tensor<2048x640xf16>) outs(%919 : tensor<2048x640xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2048x640xf16> | |
| %expanded_1350 = tensor.expand_shape %1485 [[0, 1, 2], [3]] : tensor<2048x640xf16> into tensor<2x32x32x640xf16> | |
| %1486 = linalg.generic {indexing_maps = [#map1, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1350 : tensor<2x32x32x640xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1487 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1486, %1245 : tensor<2x640x32x32xf16>, tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %expanded_1351 = tensor.expand_shape %1487 [[0], [1, 2], [3], [4]] : tensor<2x640x32x32xf16> into tensor<2x40x16x32x32xf16> | |
| %1488 = linalg.generic {indexing_maps = [#map14, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1351 : tensor<2x40x16x32x32xf16>) outs(%838 : tensor<2x40x16x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x40x16x32x32xf16> | |
| %1489:2 = linalg.generic {indexing_maps = [#map14, #map15, #map15], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%1488 : tensor<2x40x16x32x32xf16>) outs(%843, %841 : tensor<2x40x1x32x32xf16>, tensor<2x40x1x32x32xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x40x1x32x32xf16>, tensor<2x40x1x32x32xi64>) | |
| %1490 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1489#0 : tensor<2x40x1x32x32xf16>) outs(%838 : tensor<2x40x16x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x40x16x32x32xf16> | |
| %collapsed_1352 = tensor.collapse_shape %1490 [[0], [1, 2], [3], [4]] : tensor<2x40x16x32x32xf16> into tensor<2x640x32x32xf16> | |
| %1491 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1352 : tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1492 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1487, %1491 : tensor<2x640x32x32xf16>, tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1493 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1492, %cst_935 : tensor<2x640x32x32xf16>, tensor<f16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1494 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1493 : tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1495 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1494 : tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1496 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1495, %cst_935 : tensor<2x640x32x32xf16>, tensor<f16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1497 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1496, %1491 : tensor<2x640x32x32xf16>, tensor<2x640x32x32xf16>) outs(%805 : tensor<2x640x32x32xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x32x32xf16> | |
| %1498 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_728 : tensor<640x40x1x3x3xf16>) outs(%853 : tensor<640x40x16x3x3xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<640x40x16x3x3xf16> | |
| %collapsed_1353 = tensor.collapse_shape %1498 [[0], [1, 2], [3], [4]] : tensor<640x40x16x3x3xf16> into tensor<640x640x3x3xf16> | |
| %1499 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_727, %collapsed_1353 : tensor<640x640x3x3xi8>, tensor<640x640x3x3xf16>) outs(%855 : tensor<640x640x3x3xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<640x640x3x3xf16> | |
| %padded_1354 = tensor.pad %1497 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg4: index, %arg5: index, %arg6: index, %arg7: index): | |
| tensor.yield %cst_946 : f16 | |
| } : tensor<2x640x32x32xf16> to tensor<2x640x34x34xf16> | |
| %1500 = tensor.empty() : tensor<2x640x16x16xf16> | |
| %1501 = linalg.generic {indexing_maps = [#map10, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_726 : tensor<640xf16>) outs(%1500 : tensor<2x640x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x640x16x16xf16> | |
| %1502 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<2> : vector<2xi64>} ins(%padded_1354, %1499 : tensor<2x640x34x34xf16>, tensor<640x640x3x3xf16>) outs(%1501 : tensor<2x640x16x16xf16>) -> tensor<2x640x16x16xf16> | |
| %collapsed_1355 = tensor.collapse_shape %1502 [[0], [1], [2, 3]] : tensor<2x640x16x16xf16> into tensor<2x640x256xf16> | |
| %expanded_1356 = tensor.expand_shape %collapsed_1355 [[0], [1, 2], [3]] : tensor<2x640x256xf16> into tensor<2x32x20x256xf16> | |
| %1503 = tensor.empty() : tensor<2x32x20x256xf32> | |
| %1504 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1356 : tensor<2x32x20x256xf16>) outs(%1503 : tensor<2x32x20x256xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x20x256xf32> | |
| %1505 = tensor.empty() : tensor<2x32x20x256xf64> | |
| %1506 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1504 : tensor<2x32x20x256xf32>) outs(%1505 : tensor<2x32x20x256xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x20x256xf64> | |
| %1507 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1506 : tensor<2x32x20x256xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1508 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1507 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_968 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1509 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1506, %1508 : tensor<2x32x20x256xf64>, tensor<2x32x1x1xf64>) outs(%1505 : tensor<2x32x20x256xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x20x256xf64> | |
| %1510 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1509, %1509 : tensor<2x32x20x256xf64>, tensor<2x32x20x256xf64>) outs(%1505 : tensor<2x32x20x256xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x20x256xf64> | |
| %1511 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1510 : tensor<2x32x20x256xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1512 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1511 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_968 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1513 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1512 : tensor<2x32x1x1xf64>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1514 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1504 : tensor<2x32x20x256xf32>) outs(%46 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1515 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1514 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_969 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1516 = linalg.generic {indexing_maps = [#map11, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1513, %cst_938 : tensor<2x32x1x1xf32>, tensor<f16>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1517 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1516 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1518 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1356, %1515 : tensor<2x32x20x256xf16>, tensor<2x32x1x1xf32>) outs(%1503 : tensor<2x32x20x256xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x20x256xf32> | |
| %1519 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1518, %1517 : tensor<2x32x20x256xf32>, tensor<2x32x1x1xf32>) outs(%1503 : tensor<2x32x20x256xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x20x256xf32> | |
| %collapsed_1357 = tensor.collapse_shape %1519 [[0], [1, 2], [3]] : tensor<2x32x20x256xf32> into tensor<2x640x256xf32> | |
| %expanded_1358 = tensor.expand_shape %collapsed_1357 [[0], [1], [2, 3]] : tensor<2x640x256xf32> into tensor<2x640x16x16xf32> | |
| %expanded_1359 = tensor.expand_shape %cst_725 [[0, 1, 2, 3]] : tensor<640xf16> into tensor<1x640x1x1xf16> | |
| %expanded_1360 = tensor.expand_shape %cst_724 [[0, 1, 2, 3]] : tensor<640xf16> into tensor<1x640x1x1xf16> | |
| %1520 = tensor.empty() : tensor<2x640x16x16xf32> | |
| %1521 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1358, %expanded_1360 : tensor<2x640x16x16xf32>, tensor<1x640x1x1xf16>) outs(%1520 : tensor<2x640x16x16xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x640x16x16xf32> | |
| %1522 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1521, %expanded_1359 : tensor<2x640x16x16xf32>, tensor<1x640x1x1xf16>) outs(%1520 : tensor<2x640x16x16xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x640x16x16xf32> | |
| %1523 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1522 : tensor<2x640x16x16xf32>) outs(%1500 : tensor<2x640x16x16xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x16x16xf16> | |
| %1524 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1523 : tensor<2x640x16x16xf16>) outs(%1500 : tensor<2x640x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.negf %in : f16 | |
| %6235 = math.exp %6234 : f16 | |
| %6236 = arith.addf %6235, %cst_947 : f16 | |
| %6237 = arith.divf %cst_947, %6236 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x640x16x16xf16> | |
| %1525 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1524, %1523 : tensor<2x640x16x16xf16>, tensor<2x640x16x16xf16>) outs(%1500 : tensor<2x640x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x16x16xf16> | |
| %expanded_1361 = tensor.expand_shape %1525 [[0], [1, 2], [3], [4]] : tensor<2x640x16x16xf16> into tensor<2x40x16x16x16xf16> | |
| %1526 = tensor.empty() : tensor<2x40x16x16x16xf16> | |
| %1527 = linalg.generic {indexing_maps = [#map14, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1361 : tensor<2x40x16x16x16xf16>) outs(%1526 : tensor<2x40x16x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x40x16x16x16xf16> | |
| %1528 = tensor.empty() : tensor<2x40x1x16x16xi64> | |
| %1529 = linalg.fill ins(%c0_i64 : i64) outs(%1528 : tensor<2x40x1x16x16xi64>) -> tensor<2x40x1x16x16xi64> | |
| %1530 = tensor.empty() : tensor<2x40x1x16x16xf16> | |
| %1531 = linalg.fill ins(%cst_948 : f16) outs(%1530 : tensor<2x40x1x16x16xf16>) -> tensor<2x40x1x16x16xf16> | |
| %1532:2 = linalg.generic {indexing_maps = [#map14, #map15, #map15], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%1527 : tensor<2x40x16x16x16xf16>) outs(%1531, %1529 : tensor<2x40x1x16x16xf16>, tensor<2x40x1x16x16xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x40x1x16x16xf16>, tensor<2x40x1x16x16xi64>) | |
| %1533 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1532#0 : tensor<2x40x1x16x16xf16>) outs(%1526 : tensor<2x40x16x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x40x16x16x16xf16> | |
| %collapsed_1362 = tensor.collapse_shape %1533 [[0], [1, 2], [3], [4]] : tensor<2x40x16x16x16xf16> into tensor<2x640x16x16xf16> | |
| %1534 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1362 : tensor<2x640x16x16xf16>) outs(%1500 : tensor<2x640x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x16x16xf16> | |
| %1535 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1525, %1534 : tensor<2x640x16x16xf16>, tensor<2x640x16x16xf16>) outs(%1500 : tensor<2x640x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x16x16xf16> | |
| %1536 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1535, %cst_935 : tensor<2x640x16x16xf16>, tensor<f16>) outs(%1500 : tensor<2x640x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x16x16xf16> | |
| %1537 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1536 : tensor<2x640x16x16xf16>) outs(%1500 : tensor<2x640x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x16x16xf16> | |
| %1538 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1537 : tensor<2x640x16x16xf16>) outs(%1500 : tensor<2x640x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x640x16x16xf16> | |
| %1539 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1538, %cst_935 : tensor<2x640x16x16xf16>, tensor<f16>) outs(%1500 : tensor<2x640x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x16x16xf16> | |
| %1540 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1539, %1534 : tensor<2x640x16x16xf16>, tensor<2x640x16x16xf16>) outs(%1500 : tensor<2x640x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x16x16xf16> | |
| %1541 = tensor.empty() : tensor<1280x40x16x3x3xf16> | |
| %1542 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_723 : tensor<1280x40x1x3x3xf16>) outs(%1541 : tensor<1280x40x16x3x3xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x40x16x3x3xf16> | |
| %collapsed_1363 = tensor.collapse_shape %1542 [[0], [1, 2], [3], [4]] : tensor<1280x40x16x3x3xf16> into tensor<1280x640x3x3xf16> | |
| %1543 = tensor.empty() : tensor<1280x640x3x3xf16> | |
| %1544 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_722, %collapsed_1363 : tensor<1280x640x3x3xi8>, tensor<1280x640x3x3xf16>) outs(%1543 : tensor<1280x640x3x3xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x640x3x3xf16> | |
| %padded_1364 = tensor.pad %1540 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg4: index, %arg5: index, %arg6: index, %arg7: index): | |
| tensor.yield %cst_946 : f16 | |
| } : tensor<2x640x16x16xf16> to tensor<2x640x18x18xf16> | |
| %1545 = tensor.empty() : tensor<2x1280x16x16xf16> | |
| %1546 = linalg.generic {indexing_maps = [#map10, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_721 : tensor<1280xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1547 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1364, %1544 : tensor<2x640x18x18xf16>, tensor<1280x640x3x3xf16>) outs(%1546 : tensor<2x1280x16x16xf16>) -> tensor<2x1280x16x16xf16> | |
| %1548 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%cst_720 : tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x1280xf16> | |
| %1549 = linalg.matmul ins(%81, %1548 : tensor<2x1280xf16>, tensor<1280x1280xf16>) outs(%20 : tensor<2x1280xf16>) -> tensor<2x1280xf16> | |
| %1550 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_719, %1549 : tensor<1280xf16>, tensor<2x1280xf16>) outs(%19 : tensor<2x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280xf16> | |
| %expanded_1365 = tensor.expand_shape %1550 [[0], [1, 2, 3]] : tensor<2x1280xf16> into tensor<2x1280x1x1xf16> | |
| %1551 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1547, %expanded_1365 : tensor<2x1280x16x16xf16>, tensor<2x1280x1x1xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %collapsed_1366 = tensor.collapse_shape %1551 [[0], [1], [2, 3]] : tensor<2x1280x16x16xf16> into tensor<2x1280x256xf16> | |
| %expanded_1367 = tensor.expand_shape %collapsed_1366 [[0], [1, 2], [3]] : tensor<2x1280x256xf16> into tensor<2x32x40x256xf16> | |
| %1552 = tensor.empty() : tensor<2x32x40x256xf32> | |
| %1553 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1367 : tensor<2x32x40x256xf16>) outs(%1552 : tensor<2x32x40x256xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x40x256xf32> | |
| %1554 = tensor.empty() : tensor<2x32x40x256xf64> | |
| %1555 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1553 : tensor<2x32x40x256xf32>) outs(%1554 : tensor<2x32x40x256xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x40x256xf64> | |
| %1556 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1555 : tensor<2x32x40x256xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1557 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1556 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_962 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1558 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1555, %1557 : tensor<2x32x40x256xf64>, tensor<2x32x1x1xf64>) outs(%1554 : tensor<2x32x40x256xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x40x256xf64> | |
| %1559 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1558, %1558 : tensor<2x32x40x256xf64>, tensor<2x32x40x256xf64>) outs(%1554 : tensor<2x32x40x256xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x40x256xf64> | |
| %1560 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1559 : tensor<2x32x40x256xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1561 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1560 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_962 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1562 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1561 : tensor<2x32x1x1xf64>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1563 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1553 : tensor<2x32x40x256xf32>) outs(%46 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1564 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1563 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_963 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1565 = linalg.generic {indexing_maps = [#map11, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1562, %cst_938 : tensor<2x32x1x1xf32>, tensor<f16>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1566 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1565 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1567 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1367, %1564 : tensor<2x32x40x256xf16>, tensor<2x32x1x1xf32>) outs(%1552 : tensor<2x32x40x256xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x40x256xf32> | |
| %1568 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1567, %1566 : tensor<2x32x40x256xf32>, tensor<2x32x1x1xf32>) outs(%1552 : tensor<2x32x40x256xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x40x256xf32> | |
| %collapsed_1368 = tensor.collapse_shape %1568 [[0], [1, 2], [3]] : tensor<2x32x40x256xf32> into tensor<2x1280x256xf32> | |
| %expanded_1369 = tensor.expand_shape %collapsed_1368 [[0], [1], [2, 3]] : tensor<2x1280x256xf32> into tensor<2x1280x16x16xf32> | |
| %expanded_1370 = tensor.expand_shape %cst_718 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
| %expanded_1371 = tensor.expand_shape %cst_717 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
| %1569 = tensor.empty() : tensor<2x1280x16x16xf32> | |
| %1570 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1369, %expanded_1371 : tensor<2x1280x16x16xf32>, tensor<1x1280x1x1xf16>) outs(%1569 : tensor<2x1280x16x16xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1280x16x16xf32> | |
| %1571 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1570, %expanded_1370 : tensor<2x1280x16x16xf32>, tensor<1x1280x1x1xf16>) outs(%1569 : tensor<2x1280x16x16xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1280x16x16xf32> | |
| %1572 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1571 : tensor<2x1280x16x16xf32>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1573 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1572 : tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.negf %in : f16 | |
| %6235 = math.exp %6234 : f16 | |
| %6236 = arith.addf %6235, %cst_947 : f16 | |
| %6237 = arith.divf %cst_947, %6236 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1574 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1573, %1572 : tensor<2x1280x16x16xf16>, tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %expanded_1372 = tensor.expand_shape %1574 [[0], [1, 2], [3], [4]] : tensor<2x1280x16x16xf16> into tensor<2x80x16x16x16xf16> | |
| %1575 = tensor.empty() : tensor<2x80x16x16x16xf16> | |
| %1576 = linalg.generic {indexing_maps = [#map14, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1372 : tensor<2x80x16x16x16xf16>) outs(%1575 : tensor<2x80x16x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x80x16x16x16xf16> | |
| %1577 = tensor.empty() : tensor<2x80x1x16x16xi64> | |
| %1578 = linalg.fill ins(%c0_i64 : i64) outs(%1577 : tensor<2x80x1x16x16xi64>) -> tensor<2x80x1x16x16xi64> | |
| %1579 = tensor.empty() : tensor<2x80x1x16x16xf16> | |
| %1580 = linalg.fill ins(%cst_948 : f16) outs(%1579 : tensor<2x80x1x16x16xf16>) -> tensor<2x80x1x16x16xf16> | |
| %1581:2 = linalg.generic {indexing_maps = [#map14, #map15, #map15], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%1576 : tensor<2x80x16x16x16xf16>) outs(%1580, %1578 : tensor<2x80x1x16x16xf16>, tensor<2x80x1x16x16xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x80x1x16x16xf16>, tensor<2x80x1x16x16xi64>) | |
| %1582 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1581#0 : tensor<2x80x1x16x16xf16>) outs(%1575 : tensor<2x80x16x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x80x16x16x16xf16> | |
| %collapsed_1373 = tensor.collapse_shape %1582 [[0], [1, 2], [3], [4]] : tensor<2x80x16x16x16xf16> into tensor<2x1280x16x16xf16> | |
| %1583 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1373 : tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1584 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1574, %1583 : tensor<2x1280x16x16xf16>, tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1585 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1584, %cst_935 : tensor<2x1280x16x16xf16>, tensor<f16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1586 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1585 : tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1587 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1586 : tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1588 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1587, %cst_935 : tensor<2x1280x16x16xf16>, tensor<f16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1589 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1588, %1583 : tensor<2x1280x16x16xf16>, tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1590 = tensor.empty() : tensor<1280x80x16x3x3xf16> | |
| %1591 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_716 : tensor<1280x80x1x3x3xf16>) outs(%1590 : tensor<1280x80x16x3x3xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x80x16x3x3xf16> | |
| %collapsed_1374 = tensor.collapse_shape %1591 [[0], [1, 2], [3], [4]] : tensor<1280x80x16x3x3xf16> into tensor<1280x1280x3x3xf16> | |
| %1592 = tensor.empty() : tensor<1280x1280x3x3xf16> | |
| %1593 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_715, %collapsed_1374 : tensor<1280x1280x3x3xi8>, tensor<1280x1280x3x3xf16>) outs(%1592 : tensor<1280x1280x3x3xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x1280x3x3xf16> | |
| %padded_1375 = tensor.pad %1589 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg4: index, %arg5: index, %arg6: index, %arg7: index): | |
| tensor.yield %cst_946 : f16 | |
| } : tensor<2x1280x16x16xf16> to tensor<2x1280x18x18xf16> | |
| %1594 = linalg.generic {indexing_maps = [#map10, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_714 : tensor<1280xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1595 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1375, %1593 : tensor<2x1280x18x18xf16>, tensor<1280x1280x3x3xf16>) outs(%1594 : tensor<2x1280x16x16xf16>) -> tensor<2x1280x16x16xf16> | |
| %expanded_1376 = tensor.expand_shape %1502 [[0], [1, 2], [3], [4]] : tensor<2x640x16x16xf16> into tensor<2x40x16x16x16xf16> | |
| %1596 = linalg.generic {indexing_maps = [#map14, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1376 : tensor<2x40x16x16x16xf16>) outs(%1526 : tensor<2x40x16x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x40x16x16x16xf16> | |
| %1597:2 = linalg.generic {indexing_maps = [#map14, #map15, #map15], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%1596 : tensor<2x40x16x16x16xf16>) outs(%1531, %1529 : tensor<2x40x1x16x16xf16>, tensor<2x40x1x16x16xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x40x1x16x16xf16>, tensor<2x40x1x16x16xi64>) | |
| %1598 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1597#0 : tensor<2x40x1x16x16xf16>) outs(%1526 : tensor<2x40x16x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x40x16x16x16xf16> | |
| %collapsed_1377 = tensor.collapse_shape %1598 [[0], [1, 2], [3], [4]] : tensor<2x40x16x16x16xf16> into tensor<2x640x16x16xf16> | |
| %1599 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1377 : tensor<2x640x16x16xf16>) outs(%1500 : tensor<2x640x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x16x16xf16> | |
| %1600 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1502, %1599 : tensor<2x640x16x16xf16>, tensor<2x640x16x16xf16>) outs(%1500 : tensor<2x640x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x16x16xf16> | |
| %1601 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1600, %cst_935 : tensor<2x640x16x16xf16>, tensor<f16>) outs(%1500 : tensor<2x640x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x16x16xf16> | |
| %1602 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1601 : tensor<2x640x16x16xf16>) outs(%1500 : tensor<2x640x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x16x16xf16> | |
| %1603 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1602 : tensor<2x640x16x16xf16>) outs(%1500 : tensor<2x640x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x640x16x16xf16> | |
| %1604 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1603, %cst_935 : tensor<2x640x16x16xf16>, tensor<f16>) outs(%1500 : tensor<2x640x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x16x16xf16> | |
| %1605 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1604, %1599 : tensor<2x640x16x16xf16>, tensor<2x640x16x16xf16>) outs(%1500 : tensor<2x640x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x640x16x16xf16> | |
| %1606 = tensor.empty() : tensor<1280x40x16x1x1xf16> | |
| %1607 = linalg.generic {indexing_maps = [#map25, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_713 : tensor<1280x40x1x1x1xf16>) outs(%1606 : tensor<1280x40x16x1x1xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x40x16x1x1xf16> | |
| %1608 = linalg.generic {indexing_maps = [#map26, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1607 : tensor<1280x40x16x1x1xf16>) outs(%1606 : tensor<1280x40x16x1x1xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x40x16x1x1xf16> | |
| %collapsed_1378 = tensor.collapse_shape %1608 [[0], [1, 2], [3], [4]] : tensor<1280x40x16x1x1xf16> into tensor<1280x640x1x1xf16> | |
| %1609 = tensor.empty() : tensor<1280x640x1x1xf16> | |
| %1610 = linalg.generic {indexing_maps = [#map11, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_712, %collapsed_1378 : tensor<1280x640x1x1xi8>, tensor<1280x640x1x1xf16>) outs(%1609 : tensor<1280x640x1x1xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x640x1x1xf16> | |
| %1611 = linalg.generic {indexing_maps = [#map10, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_711 : tensor<1280xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1612 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1605, %1610 : tensor<2x640x16x16xf16>, tensor<1280x640x1x1xf16>) outs(%1611 : tensor<2x1280x16x16xf16>) -> tensor<2x1280x16x16xf16> | |
| %1613 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1612, %1595 : tensor<2x1280x16x16xf16>, tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1614 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1613, %cst_924 : tensor<2x1280x16x16xf16>, tensor<f16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %collapsed_1379 = tensor.collapse_shape %1614 [[0], [1], [2, 3]] : tensor<2x1280x16x16xf16> into tensor<2x1280x256xf16> | |
| %expanded_1380 = tensor.expand_shape %collapsed_1379 [[0], [1, 2], [3]] : tensor<2x1280x256xf16> into tensor<2x32x40x256xf16> | |
| %1615 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1380 : tensor<2x32x40x256xf16>) outs(%1552 : tensor<2x32x40x256xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x40x256xf32> | |
| %1616 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1615 : tensor<2x32x40x256xf32>) outs(%1554 : tensor<2x32x40x256xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x40x256xf64> | |
| %1617 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1616 : tensor<2x32x40x256xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1618 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1617 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_962 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1619 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1616, %1618 : tensor<2x32x40x256xf64>, tensor<2x32x1x1xf64>) outs(%1554 : tensor<2x32x40x256xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x40x256xf64> | |
| %1620 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1619, %1619 : tensor<2x32x40x256xf64>, tensor<2x32x40x256xf64>) outs(%1554 : tensor<2x32x40x256xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x40x256xf64> | |
| %1621 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1620 : tensor<2x32x40x256xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1622 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1621 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_962 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1623 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1622 : tensor<2x32x1x1xf64>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1624 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1615 : tensor<2x32x40x256xf32>) outs(%46 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1625 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1624 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_963 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1626 = linalg.generic {indexing_maps = [#map11, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1623, %cst_923 : tensor<2x32x1x1xf32>, tensor<f16>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1627 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1626 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1628 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1380, %1625 : tensor<2x32x40x256xf16>, tensor<2x32x1x1xf32>) outs(%1552 : tensor<2x32x40x256xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x40x256xf32> | |
| %1629 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1628, %1627 : tensor<2x32x40x256xf32>, tensor<2x32x1x1xf32>) outs(%1552 : tensor<2x32x40x256xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x40x256xf32> | |
| %collapsed_1381 = tensor.collapse_shape %1629 [[0], [1, 2], [3]] : tensor<2x32x40x256xf32> into tensor<2x1280x256xf32> | |
| %expanded_1382 = tensor.expand_shape %collapsed_1381 [[0], [1], [2, 3]] : tensor<2x1280x256xf32> into tensor<2x1280x16x16xf32> | |
| %expanded_1383 = tensor.expand_shape %cst_710 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
| %expanded_1384 = tensor.expand_shape %cst_709 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
| %1630 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1382, %expanded_1384 : tensor<2x1280x16x16xf32>, tensor<1x1280x1x1xf16>) outs(%1569 : tensor<2x1280x16x16xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1280x16x16xf32> | |
| %1631 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1630, %expanded_1383 : tensor<2x1280x16x16xf32>, tensor<1x1280x1x1xf16>) outs(%1569 : tensor<2x1280x16x16xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1280x16x16xf32> | |
| %1632 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1631 : tensor<2x1280x16x16xf32>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1633 = tensor.empty() : tensor<2x16x16x1280xf16> | |
| %1634 = linalg.generic {indexing_maps = [#map1, #map16], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1632 : tensor<2x1280x16x16xf16>) outs(%1633 : tensor<2x16x16x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x16x16x1280xf16> | |
| %collapsed_1385 = tensor.collapse_shape %1634 [[0], [1, 2], [3]] : tensor<2x16x16x1280xf16> into tensor<2x256x1280xf16> | |
| %expanded_1386 = tensor.expand_shape %collapsed_1385 [[0], [1], [2, 3]] : tensor<2x256x1280xf16> into tensor<2x256x80x16xf16> | |
| %1635 = tensor.empty() : tensor<2x256x80x16xf16> | |
| %1636 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1386 : tensor<2x256x80x16xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %1637 = tensor.empty() : tensor<2x256x80x1xi64> | |
| %1638 = linalg.fill ins(%c0_i64 : i64) outs(%1637 : tensor<2x256x80x1xi64>) -> tensor<2x256x80x1xi64> | |
| %1639 = tensor.empty() : tensor<2x256x80x1xf16> | |
| %1640 = linalg.fill ins(%cst_948 : f16) outs(%1639 : tensor<2x256x80x1xf16>) -> tensor<2x256x80x1xf16> | |
| %1641:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1636 : tensor<2x256x80x16xf16>) outs(%1640, %1638 : tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) | |
| %1642 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1641#0 : tensor<2x256x80x1xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %collapsed_1387 = tensor.collapse_shape %1642 [[0], [1], [2, 3]] : tensor<2x256x80x16xf16> into tensor<2x256x1280xf16> | |
| %1643 = tensor.empty() : tensor<2x256x1280xf16> | |
| %1644 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1387 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1645 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1385, %1644 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1646 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1645, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1647 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1646 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1648 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1647 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1649 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1648, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1650 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1649, %1644 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1651 = tensor.empty() : tensor<1280x80x16xf16> | |
| %1652 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_708 : tensor<1280x80x1xf16>) outs(%1651 : tensor<1280x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x80x16xf16> | |
| %collapsed_1388 = tensor.collapse_shape %1652 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
| %1653 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_707, %collapsed_1388 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x1280xf16> | |
| %1654 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1653 : tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x1280xf16> | |
| %collapsed_1389 = tensor.collapse_shape %1650 [[0, 1], [2]] : tensor<2x256x1280xf16> into tensor<512x1280xf16> | |
| %1655 = tensor.empty() : tensor<512x1280xf16> | |
| %1656 = linalg.fill ins(%cst_946 : f16) outs(%1655 : tensor<512x1280xf16>) -> tensor<512x1280xf16> | |
| %1657 = linalg.matmul ins(%collapsed_1389, %1654 : tensor<512x1280xf16>, tensor<1280x1280xf16>) outs(%1656 : tensor<512x1280xf16>) -> tensor<512x1280xf16> | |
| %1658 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_706, %1657 : tensor<1280xf16>, tensor<512x1280xf16>) outs(%1655 : tensor<512x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<512x1280xf16> | |
| %expanded_1390 = tensor.expand_shape %1658 [[0, 1], [2]] : tensor<512x1280xf16> into tensor<2x256x1280xf16> | |
| %1659 = tensor.empty() : tensor<2x256x1280xf32> | |
| %1660 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1390 : tensor<2x256x1280xf16>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %1661 = tensor.empty() : tensor<2x256x1280xf64> | |
| %1662 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1660 : tensor<2x256x1280xf32>) outs(%1661 : tensor<2x256x1280xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1280xf64> | |
| %1663 = tensor.empty() : tensor<2x256x1xf64> | |
| %1664 = linalg.fill ins(%cst_951 : f64) outs(%1663 : tensor<2x256x1xf64>) -> tensor<2x256x1xf64> | |
| %1665 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1662 : tensor<2x256x1280xf64>) outs(%1664 : tensor<2x256x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1xf64> | |
| %1666 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1665 : tensor<2x256x1xf64>) outs(%1663 : tensor<2x256x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_970 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1xf64> | |
| %1667 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1662, %1666 : tensor<2x256x1280xf64>, tensor<2x256x1xf64>) outs(%1661 : tensor<2x256x1280xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1280xf64> | |
| %1668 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1667, %1667 : tensor<2x256x1280xf64>, tensor<2x256x1280xf64>) outs(%1661 : tensor<2x256x1280xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1280xf64> | |
| %1669 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1668 : tensor<2x256x1280xf64>) outs(%1664 : tensor<2x256x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1xf64> | |
| %1670 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1669 : tensor<2x256x1xf64>) outs(%1663 : tensor<2x256x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_970 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1xf64> | |
| %1671 = tensor.empty() : tensor<2x256x1xf32> | |
| %1672 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1670 : tensor<2x256x1xf64>) outs(%1671 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %1673 = linalg.fill ins(%cst_952 : f32) outs(%1671 : tensor<2x256x1xf32>) -> tensor<2x256x1xf32> | |
| %1674 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1660 : tensor<2x256x1280xf32>) outs(%1673 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %1675 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1674 : tensor<2x256x1xf32>) outs(%1671 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_971 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %1676 = linalg.generic {indexing_maps = [#map20, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1672, %cst_938 : tensor<2x256x1xf32>, tensor<f16>) outs(%1671 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %1677 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1676 : tensor<2x256x1xf32>) outs(%1671 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %1678 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1390, %1675 : tensor<2x256x1280xf16>, tensor<2x256x1xf32>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %1679 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1678, %1677 : tensor<2x256x1280xf32>, tensor<2x256x1xf32>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %1680 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1679, %cst_705 : tensor<2x256x1280xf32>, tensor<1280xf16>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %1681 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1680, %cst_704 : tensor<2x256x1280xf32>, tensor<1280xf16>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %1682 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1681 : tensor<2x256x1280xf32>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %expanded_1391 = tensor.expand_shape %1682 [[0], [1], [2, 3]] : tensor<2x256x1280xf16> into tensor<2x256x80x16xf16> | |
| %1683 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1391 : tensor<2x256x80x16xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %1684:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1683 : tensor<2x256x80x16xf16>) outs(%1640, %1638 : tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) | |
| %1685 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1684#0 : tensor<2x256x80x1xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %collapsed_1392 = tensor.collapse_shape %1685 [[0], [1], [2, 3]] : tensor<2x256x80x16xf16> into tensor<2x256x1280xf16> | |
| %1686 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1392 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1687 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1682, %1686 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1688 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1687, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1689 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1688 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1690 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1689 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1691 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1690, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1692 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1691, %1686 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1693 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_703 : tensor<1280x80x1xf16>) outs(%1651 : tensor<1280x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x80x16xf16> | |
| %collapsed_1393 = tensor.collapse_shape %1693 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
| %1694 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_702, %collapsed_1393 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x1280xf16> | |
| %1695 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1694 : tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x1280xf16> | |
| %collapsed_1394 = tensor.collapse_shape %1692 [[0, 1], [2]] : tensor<2x256x1280xf16> into tensor<512x1280xf16> | |
| %1696 = linalg.matmul ins(%collapsed_1394, %1695 : tensor<512x1280xf16>, tensor<1280x1280xf16>) outs(%1656 : tensor<512x1280xf16>) -> tensor<512x1280xf16> | |
| %expanded_1395 = tensor.expand_shape %1696 [[0, 1], [2, 3]] : tensor<512x1280xf16> into tensor<2x256x20x64xf16> | |
| %1697 = tensor.empty() : tensor<2x20x256x64xf16> | |
| %1698 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1395 : tensor<2x256x20x64xf16>) outs(%1697 : tensor<2x20x256x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x20x256x64xf16> | |
| %collapsed_1396 = tensor.collapse_shape %1698 [[0, 1], [2], [3]] : tensor<2x20x256x64xf16> into tensor<40x256x64xf16> | |
| %1699 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_701 : tensor<1280x80x1xf16>) outs(%1651 : tensor<1280x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x80x16xf16> | |
| %collapsed_1397 = tensor.collapse_shape %1699 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
| %1700 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_700, %collapsed_1397 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x1280xf16> | |
| %1701 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1700 : tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x1280xf16> | |
| %1702 = linalg.matmul ins(%collapsed_1394, %1701 : tensor<512x1280xf16>, tensor<1280x1280xf16>) outs(%1656 : tensor<512x1280xf16>) -> tensor<512x1280xf16> | |
| %1703 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_699 : tensor<1280x80x1xf16>) outs(%1651 : tensor<1280x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x80x16xf16> | |
| %collapsed_1398 = tensor.collapse_shape %1703 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
| %1704 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_698, %collapsed_1398 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x1280xf16> | |
| %1705 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1704 : tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x1280xf16> | |
| %1706 = linalg.matmul ins(%collapsed_1394, %1705 : tensor<512x1280xf16>, tensor<1280x1280xf16>) outs(%1656 : tensor<512x1280xf16>) -> tensor<512x1280xf16> | |
| %expanded_1399 = tensor.expand_shape %1702 [[0, 1], [2, 3]] : tensor<512x1280xf16> into tensor<2x256x20x64xf16> | |
| %1707 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1399 : tensor<2x256x20x64xf16>) outs(%1697 : tensor<2x20x256x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x20x256x64xf16> | |
| %collapsed_1400 = tensor.collapse_shape %1707 [[0, 1], [2], [3]] : tensor<2x20x256x64xf16> into tensor<40x256x64xf16> | |
| %expanded_1401 = tensor.expand_shape %1706 [[0, 1], [2, 3]] : tensor<512x1280xf16> into tensor<2x256x20x64xf16> | |
| %1708 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1401 : tensor<2x256x20x64xf16>) outs(%1697 : tensor<2x20x256x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x20x256x64xf16> | |
| %collapsed_1402 = tensor.collapse_shape %1708 [[0, 1], [2], [3]] : tensor<2x20x256x64xf16> into tensor<40x256x64xf16> | |
| %1709 = tensor.empty() : tensor<40x256x256xf16> | |
| %1710 = linalg.fill ins(%cst_946 : f16) outs(%1709 : tensor<40x256x256xf16>) -> tensor<40x256x256xf16> | |
| %1711 = tensor.empty() : tensor<40x64x256xf16> | |
| %1712 = linalg.generic {indexing_maps = [#map18, #map23], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1400 : tensor<40x256x64xf16>) outs(%1711 : tensor<40x64x256xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<40x64x256xf16> | |
| %1713 = linalg.batch_matmul ins(%collapsed_1396, %1712 : tensor<40x256x64xf16>, tensor<40x64x256xf16>) outs(%1710 : tensor<40x256x256xf16>) -> tensor<40x256x256xf16> | |
| %1714 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1713 : tensor<40x256x256xf16>) outs(%1709 : tensor<40x256x256xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.mulf %in, %cst_961 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<40x256x256xf16> | |
| %1715 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1714, %1710 : tensor<40x256x256xf16>, tensor<40x256x256xf16>) outs(%1709 : tensor<40x256x256xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in_2625, %cst_946 : f16 | |
| %6235 = arith.addf %in, %6234 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<40x256x256xf16> | |
| %1716 = tensor.empty() : tensor<40x256x1xi64> | |
| %1717 = linalg.fill ins(%c0_i64 : i64) outs(%1716 : tensor<40x256x1xi64>) -> tensor<40x256x1xi64> | |
| %1718 = tensor.empty() : tensor<40x256x1xf16> | |
| %1719 = linalg.fill ins(%cst_948 : f16) outs(%1718 : tensor<40x256x1xf16>) -> tensor<40x256x1xf16> | |
| %1720:2 = linalg.generic {indexing_maps = [#map18, #map20, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1715 : tensor<40x256x256xf16>) outs(%1719, %1717 : tensor<40x256x1xf16>, tensor<40x256x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<40x256x1xf16>, tensor<40x256x1xi64>) | |
| %1721 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1715, %1720#0 : tensor<40x256x256xf16>, tensor<40x256x1xf16>) outs(%1709 : tensor<40x256x256xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<40x256x256xf16> | |
| %1722 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1721 : tensor<40x256x256xf16>) outs(%1709 : tensor<40x256x256xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.exp %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<40x256x256xf16> | |
| %1723 = linalg.fill ins(%cst_946 : f16) outs(%1718 : tensor<40x256x1xf16>) -> tensor<40x256x1xf16> | |
| %1724 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1722 : tensor<40x256x256xf16>) outs(%1723 : tensor<40x256x1xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.addf %in, %out : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<40x256x1xf16> | |
| %1725 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1722, %1724 : tensor<40x256x256xf16>, tensor<40x256x1xf16>) outs(%1709 : tensor<40x256x256xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<40x256x256xf16> | |
| %1726 = tensor.empty() : tensor<40x256x64xf16> | |
| %1727 = linalg.fill ins(%cst_946 : f16) outs(%1726 : tensor<40x256x64xf16>) -> tensor<40x256x64xf16> | |
| %1728 = linalg.batch_matmul ins(%1725, %collapsed_1402 : tensor<40x256x256xf16>, tensor<40x256x64xf16>) outs(%1727 : tensor<40x256x64xf16>) -> tensor<40x256x64xf16> | |
| %expanded_1403 = tensor.expand_shape %1728 [[0, 1], [2], [3]] : tensor<40x256x64xf16> into tensor<2x20x256x64xf16> | |
| %1729 = tensor.empty() : tensor<2x256x20x64xf16> | |
| %1730 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1403 : tensor<2x20x256x64xf16>) outs(%1729 : tensor<2x256x20x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x256x20x64xf16> | |
| %collapsed_1404 = tensor.collapse_shape %1730 [[0], [1], [2, 3]] : tensor<2x256x20x64xf16> into tensor<2x256x1280xf16> | |
| %expanded_1405 = tensor.expand_shape %collapsed_1404 [[0], [1], [2, 3]] : tensor<2x256x1280xf16> into tensor<2x256x80x16xf16> | |
| %1731 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1405 : tensor<2x256x80x16xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %1732:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1731 : tensor<2x256x80x16xf16>) outs(%1640, %1638 : tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) | |
| %1733 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1732#0 : tensor<2x256x80x1xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %collapsed_1406 = tensor.collapse_shape %1733 [[0], [1], [2, 3]] : tensor<2x256x80x16xf16> into tensor<2x256x1280xf16> | |
| %1734 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1406 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1735 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1404, %1734 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1736 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1735, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1737 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1736 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1738 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1737 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1739 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1738, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1740 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1739, %1734 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1741 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_697 : tensor<1280x80x1xf16>) outs(%1651 : tensor<1280x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x80x16xf16> | |
| %collapsed_1407 = tensor.collapse_shape %1741 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
| %1742 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_696, %collapsed_1407 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x1280xf16> | |
| %1743 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1742 : tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x1280xf16> | |
| %collapsed_1408 = tensor.collapse_shape %1740 [[0, 1], [2]] : tensor<2x256x1280xf16> into tensor<512x1280xf16> | |
| %1744 = linalg.matmul ins(%collapsed_1408, %1743 : tensor<512x1280xf16>, tensor<1280x1280xf16>) outs(%1656 : tensor<512x1280xf16>) -> tensor<512x1280xf16> | |
| %1745 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_695, %1744 : tensor<1280xf16>, tensor<512x1280xf16>) outs(%1655 : tensor<512x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<512x1280xf16> | |
| %expanded_1409 = tensor.expand_shape %1745 [[0, 1], [2]] : tensor<512x1280xf16> into tensor<2x256x1280xf16> | |
| %1746 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1409, %expanded_1390 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1747 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1746 : tensor<2x256x1280xf16>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %1748 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1747 : tensor<2x256x1280xf32>) outs(%1661 : tensor<2x256x1280xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1280xf64> | |
| %1749 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1748 : tensor<2x256x1280xf64>) outs(%1664 : tensor<2x256x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1xf64> | |
| %1750 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1749 : tensor<2x256x1xf64>) outs(%1663 : tensor<2x256x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_970 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1xf64> | |
| %1751 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1748, %1750 : tensor<2x256x1280xf64>, tensor<2x256x1xf64>) outs(%1661 : tensor<2x256x1280xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1280xf64> | |
| %1752 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1751, %1751 : tensor<2x256x1280xf64>, tensor<2x256x1280xf64>) outs(%1661 : tensor<2x256x1280xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1280xf64> | |
| %1753 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1752 : tensor<2x256x1280xf64>) outs(%1664 : tensor<2x256x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1xf64> | |
| %1754 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1753 : tensor<2x256x1xf64>) outs(%1663 : tensor<2x256x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_970 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1xf64> | |
| %1755 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1754 : tensor<2x256x1xf64>) outs(%1671 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %1756 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1747 : tensor<2x256x1280xf32>) outs(%1673 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %1757 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1756 : tensor<2x256x1xf32>) outs(%1671 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_971 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %1758 = linalg.generic {indexing_maps = [#map20, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1755, %cst_938 : tensor<2x256x1xf32>, tensor<f16>) outs(%1671 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %1759 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1758 : tensor<2x256x1xf32>) outs(%1671 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %1760 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1746, %1757 : tensor<2x256x1280xf16>, tensor<2x256x1xf32>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %1761 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1760, %1759 : tensor<2x256x1280xf32>, tensor<2x256x1xf32>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %1762 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1761, %cst_694 : tensor<2x256x1280xf32>, tensor<1280xf16>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %1763 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1762, %cst_693 : tensor<2x256x1280xf32>, tensor<1280xf16>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %1764 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1763 : tensor<2x256x1280xf32>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %expanded_1410 = tensor.expand_shape %1764 [[0], [1], [2, 3]] : tensor<2x256x1280xf16> into tensor<2x256x80x16xf16> | |
| %1765 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1410 : tensor<2x256x80x16xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %1766:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1765 : tensor<2x256x80x16xf16>) outs(%1640, %1638 : tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) | |
| %1767 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1766#0 : tensor<2x256x80x1xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %collapsed_1411 = tensor.collapse_shape %1767 [[0], [1], [2, 3]] : tensor<2x256x80x16xf16> into tensor<2x256x1280xf16> | |
| %1768 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1411 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1769 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1764, %1768 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1770 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1769, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1771 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1770 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1772 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1771 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1773 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1772, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1774 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1773, %1768 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1775 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_692 : tensor<1280x80x1xf16>) outs(%1651 : tensor<1280x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x80x16xf16> | |
| %collapsed_1412 = tensor.collapse_shape %1775 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
| %1776 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_691, %collapsed_1412 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x1280xf16> | |
| %1777 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1776 : tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x1280xf16> | |
| %collapsed_1413 = tensor.collapse_shape %1774 [[0, 1], [2]] : tensor<2x256x1280xf16> into tensor<512x1280xf16> | |
| %1778 = linalg.matmul ins(%collapsed_1413, %1777 : tensor<512x1280xf16>, tensor<1280x1280xf16>) outs(%1656 : tensor<512x1280xf16>) -> tensor<512x1280xf16> | |
| %expanded_1414 = tensor.expand_shape %1778 [[0, 1], [2, 3]] : tensor<512x1280xf16> into tensor<2x256x20x64xf16> | |
| %1779 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1414 : tensor<2x256x20x64xf16>) outs(%1697 : tensor<2x20x256x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x20x256x64xf16> | |
| %collapsed_1415 = tensor.collapse_shape %1779 [[0, 1], [2], [3]] : tensor<2x20x256x64xf16> into tensor<40x256x64xf16> | |
| %1780 = tensor.empty() : tensor<1280x64x16xf16> | |
| %1781 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_690 : tensor<1280x64x1xf16>) outs(%1780 : tensor<1280x64x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x64x16xf16> | |
| %collapsed_1416 = tensor.collapse_shape %1781 [[0], [1, 2]] : tensor<1280x64x16xf16> into tensor<1280x1024xf16> | |
| %1782 = tensor.empty() : tensor<1280x1024xf16> | |
| %1783 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_689, %collapsed_1416 : tensor<1280x1024xi8>, tensor<1280x1024xf16>) outs(%1782 : tensor<1280x1024xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x1024xf16> | |
| %1784 = tensor.empty() : tensor<1024x1280xf16> | |
| %1785 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1783 : tensor<1280x1024xf16>) outs(%1784 : tensor<1024x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1024x1280xf16> | |
| %1786 = tensor.empty() : tensor<154x1280xf16> | |
| %1787 = linalg.fill ins(%cst_946 : f16) outs(%1786 : tensor<154x1280xf16>) -> tensor<154x1280xf16> | |
| %1788 = linalg.matmul ins(%collapsed_1050, %1785 : tensor<154x1024xf16>, tensor<1024x1280xf16>) outs(%1787 : tensor<154x1280xf16>) -> tensor<154x1280xf16> | |
| %1789 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_688 : tensor<1280x64x1xf16>) outs(%1780 : tensor<1280x64x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x64x16xf16> | |
| %collapsed_1417 = tensor.collapse_shape %1789 [[0], [1, 2]] : tensor<1280x64x16xf16> into tensor<1280x1024xf16> | |
| %1790 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_687, %collapsed_1417 : tensor<1280x1024xi8>, tensor<1280x1024xf16>) outs(%1782 : tensor<1280x1024xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x1024xf16> | |
| %1791 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1790 : tensor<1280x1024xf16>) outs(%1784 : tensor<1024x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1024x1280xf16> | |
| %1792 = linalg.matmul ins(%collapsed_1050, %1791 : tensor<154x1024xf16>, tensor<1024x1280xf16>) outs(%1787 : tensor<154x1280xf16>) -> tensor<154x1280xf16> | |
| %expanded_1418 = tensor.expand_shape %1788 [[0, 1], [2, 3]] : tensor<154x1280xf16> into tensor<2x77x20x64xf16> | |
| %1793 = tensor.empty() : tensor<2x20x77x64xf16> | |
| %1794 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1418 : tensor<2x77x20x64xf16>) outs(%1793 : tensor<2x20x77x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x20x77x64xf16> | |
| %collapsed_1419 = tensor.collapse_shape %1794 [[0, 1], [2], [3]] : tensor<2x20x77x64xf16> into tensor<40x77x64xf16> | |
| %expanded_1420 = tensor.expand_shape %1792 [[0, 1], [2, 3]] : tensor<154x1280xf16> into tensor<2x77x20x64xf16> | |
| %1795 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1420 : tensor<2x77x20x64xf16>) outs(%1793 : tensor<2x20x77x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x20x77x64xf16> | |
| %collapsed_1421 = tensor.collapse_shape %1795 [[0, 1], [2], [3]] : tensor<2x20x77x64xf16> into tensor<40x77x64xf16> | |
| %1796 = tensor.empty() : tensor<40x256x77xf16> | |
| %1797 = linalg.fill ins(%cst_946 : f16) outs(%1796 : tensor<40x256x77xf16>) -> tensor<40x256x77xf16> | |
| %1798 = tensor.empty() : tensor<40x64x77xf16> | |
| %1799 = linalg.generic {indexing_maps = [#map18, #map23], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1419 : tensor<40x77x64xf16>) outs(%1798 : tensor<40x64x77xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<40x64x77xf16> | |
| %1800 = linalg.batch_matmul ins(%collapsed_1415, %1799 : tensor<40x256x64xf16>, tensor<40x64x77xf16>) outs(%1797 : tensor<40x256x77xf16>) -> tensor<40x256x77xf16> | |
| %1801 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1800 : tensor<40x256x77xf16>) outs(%1796 : tensor<40x256x77xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.mulf %in, %cst_961 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<40x256x77xf16> | |
| %1802 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1801, %1797 : tensor<40x256x77xf16>, tensor<40x256x77xf16>) outs(%1796 : tensor<40x256x77xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in_2625, %cst_946 : f16 | |
| %6235 = arith.addf %in, %6234 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<40x256x77xf16> | |
| %1803:2 = linalg.generic {indexing_maps = [#map18, #map20, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1802 : tensor<40x256x77xf16>) outs(%1719, %1717 : tensor<40x256x1xf16>, tensor<40x256x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<40x256x1xf16>, tensor<40x256x1xi64>) | |
| %1804 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1802, %1803#0 : tensor<40x256x77xf16>, tensor<40x256x1xf16>) outs(%1796 : tensor<40x256x77xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<40x256x77xf16> | |
| %1805 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1804 : tensor<40x256x77xf16>) outs(%1796 : tensor<40x256x77xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.exp %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<40x256x77xf16> | |
| %1806 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1805 : tensor<40x256x77xf16>) outs(%1723 : tensor<40x256x1xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.addf %in, %out : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<40x256x1xf16> | |
| %1807 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1805, %1806 : tensor<40x256x77xf16>, tensor<40x256x1xf16>) outs(%1796 : tensor<40x256x77xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<40x256x77xf16> | |
| %1808 = linalg.batch_matmul ins(%1807, %collapsed_1421 : tensor<40x256x77xf16>, tensor<40x77x64xf16>) outs(%1727 : tensor<40x256x64xf16>) -> tensor<40x256x64xf16> | |
| %expanded_1422 = tensor.expand_shape %1808 [[0, 1], [2], [3]] : tensor<40x256x64xf16> into tensor<2x20x256x64xf16> | |
| %1809 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1422 : tensor<2x20x256x64xf16>) outs(%1729 : tensor<2x256x20x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x256x20x64xf16> | |
| %collapsed_1423 = tensor.collapse_shape %1809 [[0], [1], [2, 3]] : tensor<2x256x20x64xf16> into tensor<2x256x1280xf16> | |
| %expanded_1424 = tensor.expand_shape %collapsed_1423 [[0], [1], [2, 3]] : tensor<2x256x1280xf16> into tensor<2x256x80x16xf16> | |
| %1810 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1424 : tensor<2x256x80x16xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %1811:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1810 : tensor<2x256x80x16xf16>) outs(%1640, %1638 : tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) | |
| %1812 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1811#0 : tensor<2x256x80x1xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %collapsed_1425 = tensor.collapse_shape %1812 [[0], [1], [2, 3]] : tensor<2x256x80x16xf16> into tensor<2x256x1280xf16> | |
| %1813 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1425 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1814 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1423, %1813 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1815 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1814, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1816 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1815 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1817 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1816 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1818 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1817, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1819 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1818, %1813 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1820 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_686 : tensor<1280x80x1xf16>) outs(%1651 : tensor<1280x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x80x16xf16> | |
| %collapsed_1426 = tensor.collapse_shape %1820 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
| %1821 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_685, %collapsed_1426 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x1280xf16> | |
| %1822 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1821 : tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x1280xf16> | |
| %collapsed_1427 = tensor.collapse_shape %1819 [[0, 1], [2]] : tensor<2x256x1280xf16> into tensor<512x1280xf16> | |
| %1823 = linalg.matmul ins(%collapsed_1427, %1822 : tensor<512x1280xf16>, tensor<1280x1280xf16>) outs(%1656 : tensor<512x1280xf16>) -> tensor<512x1280xf16> | |
| %1824 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_684, %1823 : tensor<1280xf16>, tensor<512x1280xf16>) outs(%1655 : tensor<512x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<512x1280xf16> | |
| %expanded_1428 = tensor.expand_shape %1824 [[0, 1], [2]] : tensor<512x1280xf16> into tensor<2x256x1280xf16> | |
| %1825 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1428, %1746 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1826 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1825 : tensor<2x256x1280xf16>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %1827 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1826 : tensor<2x256x1280xf32>) outs(%1661 : tensor<2x256x1280xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1280xf64> | |
| %1828 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1827 : tensor<2x256x1280xf64>) outs(%1664 : tensor<2x256x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1xf64> | |
| %1829 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1828 : tensor<2x256x1xf64>) outs(%1663 : tensor<2x256x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_970 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1xf64> | |
| %1830 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1827, %1829 : tensor<2x256x1280xf64>, tensor<2x256x1xf64>) outs(%1661 : tensor<2x256x1280xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1280xf64> | |
| %1831 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1830, %1830 : tensor<2x256x1280xf64>, tensor<2x256x1280xf64>) outs(%1661 : tensor<2x256x1280xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1280xf64> | |
| %1832 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1831 : tensor<2x256x1280xf64>) outs(%1664 : tensor<2x256x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1xf64> | |
| %1833 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1832 : tensor<2x256x1xf64>) outs(%1663 : tensor<2x256x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_970 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1xf64> | |
| %1834 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1833 : tensor<2x256x1xf64>) outs(%1671 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %1835 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1826 : tensor<2x256x1280xf32>) outs(%1673 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %1836 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1835 : tensor<2x256x1xf32>) outs(%1671 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_971 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %1837 = linalg.generic {indexing_maps = [#map20, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1834, %cst_938 : tensor<2x256x1xf32>, tensor<f16>) outs(%1671 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %1838 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1837 : tensor<2x256x1xf32>) outs(%1671 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %1839 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1825, %1836 : tensor<2x256x1280xf16>, tensor<2x256x1xf32>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %1840 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1839, %1838 : tensor<2x256x1280xf32>, tensor<2x256x1xf32>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %1841 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1840, %cst_683 : tensor<2x256x1280xf32>, tensor<1280xf16>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %1842 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1841, %cst_682 : tensor<2x256x1280xf32>, tensor<1280xf16>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %1843 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1842 : tensor<2x256x1280xf32>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %expanded_1429 = tensor.expand_shape %1843 [[0], [1], [2, 3]] : tensor<2x256x1280xf16> into tensor<2x256x80x16xf16> | |
| %1844 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1429 : tensor<2x256x80x16xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %1845:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1844 : tensor<2x256x80x16xf16>) outs(%1640, %1638 : tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) | |
| %1846 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1845#0 : tensor<2x256x80x1xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %collapsed_1430 = tensor.collapse_shape %1846 [[0], [1], [2, 3]] : tensor<2x256x80x16xf16> into tensor<2x256x1280xf16> | |
| %1847 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1430 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1848 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1843, %1847 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1849 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1848, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1850 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1849 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1851 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1850 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1852 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1851, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1853 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1852, %1847 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1854 = tensor.empty() : tensor<10240x80x16xf16> | |
| %1855 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_681 : tensor<10240x80x1xf16>) outs(%1854 : tensor<10240x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<10240x80x16xf16> | |
| %collapsed_1431 = tensor.collapse_shape %1855 [[0], [1, 2]] : tensor<10240x80x16xf16> into tensor<10240x1280xf16> | |
| %1856 = tensor.empty() : tensor<10240x1280xf16> | |
| %1857 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_680, %collapsed_1431 : tensor<10240x1280xi8>, tensor<10240x1280xf16>) outs(%1856 : tensor<10240x1280xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<10240x1280xf16> | |
| %1858 = tensor.empty() : tensor<1280x10240xf16> | |
| %1859 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1857 : tensor<10240x1280xf16>) outs(%1858 : tensor<1280x10240xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x10240xf16> | |
| %collapsed_1432 = tensor.collapse_shape %1853 [[0, 1], [2]] : tensor<2x256x1280xf16> into tensor<512x1280xf16> | |
| %1860 = tensor.empty() : tensor<512x10240xf16> | |
| %1861 = linalg.fill ins(%cst_946 : f16) outs(%1860 : tensor<512x10240xf16>) -> tensor<512x10240xf16> | |
| %1862 = linalg.matmul ins(%collapsed_1432, %1859 : tensor<512x1280xf16>, tensor<1280x10240xf16>) outs(%1861 : tensor<512x10240xf16>) -> tensor<512x10240xf16> | |
| %1863 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_679, %1862 : tensor<10240xf16>, tensor<512x10240xf16>) outs(%1860 : tensor<512x10240xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<512x10240xf16> | |
| %expanded_1433 = tensor.expand_shape %1863 [[0, 1], [2]] : tensor<512x10240xf16> into tensor<2x256x10240xf16> | |
| %extracted_slice_1434 = tensor.extract_slice %expanded_1433[0, 0, 0] [2, 256, 5120] [1, 1, 1] : tensor<2x256x10240xf16> to tensor<2x256x5120xf16> | |
| %extracted_slice_1435 = tensor.extract_slice %expanded_1433[0, 0, 5120] [2, 256, 5120] [1, 1, 1] : tensor<2x256x10240xf16> to tensor<2x256x5120xf16> | |
| %1864 = tensor.empty() : tensor<2x256x5120xf16> | |
| %1865 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%extracted_slice_1435 : tensor<2x256x5120xf16>) outs(%1864 : tensor<2x256x5120xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.sqrt %cst_949 : f16 | |
| %6235 = arith.divf %in, %6234 : f16 | |
| %6236 = math.erf %6235 : f16 | |
| %6237 = arith.addf %6236, %cst_947 : f16 | |
| %6238 = arith.mulf %6237, %cst_950 : f16 | |
| %6239 = arith.mulf %in, %6238 : f16 | |
| linalg.yield %6239 : f16 | |
| } -> tensor<2x256x5120xf16> | |
| %1866 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%extracted_slice_1434, %1865 : tensor<2x256x5120xf16>, tensor<2x256x5120xf16>) outs(%1864 : tensor<2x256x5120xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x5120xf16> | |
| %expanded_1436 = tensor.expand_shape %1866 [[0], [1], [2, 3]] : tensor<2x256x5120xf16> into tensor<2x256x320x16xf16> | |
| %1867 = tensor.empty() : tensor<2x256x320x16xf16> | |
| %1868 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1436 : tensor<2x256x320x16xf16>) outs(%1867 : tensor<2x256x320x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x320x16xf16> | |
| %1869 = tensor.empty() : tensor<2x256x320x1xi64> | |
| %1870 = linalg.fill ins(%c0_i64 : i64) outs(%1869 : tensor<2x256x320x1xi64>) -> tensor<2x256x320x1xi64> | |
| %1871 = tensor.empty() : tensor<2x256x320x1xf16> | |
| %1872 = linalg.fill ins(%cst_948 : f16) outs(%1871 : tensor<2x256x320x1xf16>) -> tensor<2x256x320x1xf16> | |
| %1873:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1868 : tensor<2x256x320x16xf16>) outs(%1872, %1870 : tensor<2x256x320x1xf16>, tensor<2x256x320x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x256x320x1xf16>, tensor<2x256x320x1xi64>) | |
| %1874 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1873#0 : tensor<2x256x320x1xf16>) outs(%1867 : tensor<2x256x320x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x256x320x16xf16> | |
| %collapsed_1437 = tensor.collapse_shape %1874 [[0], [1], [2, 3]] : tensor<2x256x320x16xf16> into tensor<2x256x5120xf16> | |
| %1875 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1437 : tensor<2x256x5120xf16>) outs(%1864 : tensor<2x256x5120xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x5120xf16> | |
| %1876 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1866, %1875 : tensor<2x256x5120xf16>, tensor<2x256x5120xf16>) outs(%1864 : tensor<2x256x5120xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x5120xf16> | |
| %1877 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1876, %cst_935 : tensor<2x256x5120xf16>, tensor<f16>) outs(%1864 : tensor<2x256x5120xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x5120xf16> | |
| %1878 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1877 : tensor<2x256x5120xf16>) outs(%1864 : tensor<2x256x5120xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x5120xf16> | |
| %1879 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1878 : tensor<2x256x5120xf16>) outs(%1864 : tensor<2x256x5120xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x256x5120xf16> | |
| %1880 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1879, %cst_935 : tensor<2x256x5120xf16>, tensor<f16>) outs(%1864 : tensor<2x256x5120xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x5120xf16> | |
| %1881 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1880, %1875 : tensor<2x256x5120xf16>, tensor<2x256x5120xf16>) outs(%1864 : tensor<2x256x5120xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x5120xf16> | |
| %1882 = tensor.empty() : tensor<1280x320x16xf16> | |
| %1883 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_678 : tensor<1280x320x1xf16>) outs(%1882 : tensor<1280x320x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x320x16xf16> | |
| %collapsed_1438 = tensor.collapse_shape %1883 [[0], [1, 2]] : tensor<1280x320x16xf16> into tensor<1280x5120xf16> | |
| %1884 = tensor.empty() : tensor<1280x5120xf16> | |
| %1885 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_677, %collapsed_1438 : tensor<1280x5120xi8>, tensor<1280x5120xf16>) outs(%1884 : tensor<1280x5120xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x5120xf16> | |
| %1886 = tensor.empty() : tensor<5120x1280xf16> | |
| %1887 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1885 : tensor<1280x5120xf16>) outs(%1886 : tensor<5120x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<5120x1280xf16> | |
| %collapsed_1439 = tensor.collapse_shape %1881 [[0, 1], [2]] : tensor<2x256x5120xf16> into tensor<512x5120xf16> | |
| %1888 = linalg.matmul ins(%collapsed_1439, %1887 : tensor<512x5120xf16>, tensor<5120x1280xf16>) outs(%1656 : tensor<512x1280xf16>) -> tensor<512x1280xf16> | |
| %1889 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_676, %1888 : tensor<1280xf16>, tensor<512x1280xf16>) outs(%1655 : tensor<512x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<512x1280xf16> | |
| %expanded_1440 = tensor.expand_shape %1889 [[0, 1], [2]] : tensor<512x1280xf16> into tensor<2x256x1280xf16> | |
| %1890 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1440, %1825 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %expanded_1441 = tensor.expand_shape %1890 [[0], [1], [2, 3]] : tensor<2x256x1280xf16> into tensor<2x256x80x16xf16> | |
| %1891 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1441 : tensor<2x256x80x16xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %1892:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1891 : tensor<2x256x80x16xf16>) outs(%1640, %1638 : tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) | |
| %1893 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1892#0 : tensor<2x256x80x1xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %collapsed_1442 = tensor.collapse_shape %1893 [[0], [1], [2, 3]] : tensor<2x256x80x16xf16> into tensor<2x256x1280xf16> | |
| %1894 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1442 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1895 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1890, %1894 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1896 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1895, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1897 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1896 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1898 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1897 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1899 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1898, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1900 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1899, %1894 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %1901 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_675 : tensor<1280x80x1xf16>) outs(%1651 : tensor<1280x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x80x16xf16> | |
| %collapsed_1443 = tensor.collapse_shape %1901 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
| %1902 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_674, %collapsed_1443 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x1280xf16> | |
| %1903 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%1902 : tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x1280xf16> | |
| %collapsed_1444 = tensor.collapse_shape %1900 [[0, 1], [2]] : tensor<2x256x1280xf16> into tensor<512x1280xf16> | |
| %1904 = linalg.matmul ins(%collapsed_1444, %1903 : tensor<512x1280xf16>, tensor<1280x1280xf16>) outs(%1656 : tensor<512x1280xf16>) -> tensor<512x1280xf16> | |
| %1905 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_673, %1904 : tensor<1280xf16>, tensor<512x1280xf16>) outs(%1655 : tensor<512x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<512x1280xf16> | |
| %expanded_1445 = tensor.expand_shape %1905 [[0, 1, 2], [3]] : tensor<512x1280xf16> into tensor<2x16x16x1280xf16> | |
| %1906 = linalg.generic {indexing_maps = [#map1, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1445 : tensor<2x16x16x1280xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1907 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1906, %1614 : tensor<2x1280x16x16xf16>, tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %collapsed_1446 = tensor.collapse_shape %1907 [[0], [1], [2, 3]] : tensor<2x1280x16x16xf16> into tensor<2x1280x256xf16> | |
| %expanded_1447 = tensor.expand_shape %collapsed_1446 [[0], [1, 2], [3]] : tensor<2x1280x256xf16> into tensor<2x32x40x256xf16> | |
| %1908 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1447 : tensor<2x32x40x256xf16>) outs(%1552 : tensor<2x32x40x256xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x40x256xf32> | |
| %1909 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1908 : tensor<2x32x40x256xf32>) outs(%1554 : tensor<2x32x40x256xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x40x256xf64> | |
| %1910 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1909 : tensor<2x32x40x256xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1911 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1910 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_962 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1912 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1909, %1911 : tensor<2x32x40x256xf64>, tensor<2x32x1x1xf64>) outs(%1554 : tensor<2x32x40x256xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x40x256xf64> | |
| %1913 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1912, %1912 : tensor<2x32x40x256xf64>, tensor<2x32x40x256xf64>) outs(%1554 : tensor<2x32x40x256xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x40x256xf64> | |
| %1914 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1913 : tensor<2x32x40x256xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1915 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1914 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_962 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1916 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1915 : tensor<2x32x1x1xf64>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1917 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1908 : tensor<2x32x40x256xf32>) outs(%46 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1918 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1917 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_963 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1919 = linalg.generic {indexing_maps = [#map11, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1916, %cst_938 : tensor<2x32x1x1xf32>, tensor<f16>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1920 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1919 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1921 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1447, %1918 : tensor<2x32x40x256xf16>, tensor<2x32x1x1xf32>) outs(%1552 : tensor<2x32x40x256xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x40x256xf32> | |
| %1922 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1921, %1920 : tensor<2x32x40x256xf32>, tensor<2x32x1x1xf32>) outs(%1552 : tensor<2x32x40x256xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x40x256xf32> | |
| %collapsed_1448 = tensor.collapse_shape %1922 [[0], [1, 2], [3]] : tensor<2x32x40x256xf32> into tensor<2x1280x256xf32> | |
| %expanded_1449 = tensor.expand_shape %collapsed_1448 [[0], [1], [2, 3]] : tensor<2x1280x256xf32> into tensor<2x1280x16x16xf32> | |
| %expanded_1450 = tensor.expand_shape %cst_672 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
| %expanded_1451 = tensor.expand_shape %cst_671 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
| %1923 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1449, %expanded_1451 : tensor<2x1280x16x16xf32>, tensor<1x1280x1x1xf16>) outs(%1569 : tensor<2x1280x16x16xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1280x16x16xf32> | |
| %1924 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1923, %expanded_1450 : tensor<2x1280x16x16xf32>, tensor<1x1280x1x1xf16>) outs(%1569 : tensor<2x1280x16x16xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1280x16x16xf32> | |
| %1925 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1924 : tensor<2x1280x16x16xf32>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1926 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1925 : tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.negf %in : f16 | |
| %6235 = math.exp %6234 : f16 | |
| %6236 = arith.addf %6235, %cst_947 : f16 | |
| %6237 = arith.divf %cst_947, %6236 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1927 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1926, %1925 : tensor<2x1280x16x16xf16>, tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %expanded_1452 = tensor.expand_shape %1927 [[0], [1, 2], [3], [4]] : tensor<2x1280x16x16xf16> into tensor<2x80x16x16x16xf16> | |
| %1928 = linalg.generic {indexing_maps = [#map14, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1452 : tensor<2x80x16x16x16xf16>) outs(%1575 : tensor<2x80x16x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x80x16x16x16xf16> | |
| %1929:2 = linalg.generic {indexing_maps = [#map14, #map15, #map15], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%1928 : tensor<2x80x16x16x16xf16>) outs(%1580, %1578 : tensor<2x80x1x16x16xf16>, tensor<2x80x1x16x16xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x80x1x16x16xf16>, tensor<2x80x1x16x16xi64>) | |
| %1930 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1929#0 : tensor<2x80x1x16x16xf16>) outs(%1575 : tensor<2x80x16x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x80x16x16x16xf16> | |
| %collapsed_1453 = tensor.collapse_shape %1930 [[0], [1, 2], [3], [4]] : tensor<2x80x16x16x16xf16> into tensor<2x1280x16x16xf16> | |
| %1931 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1453 : tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1932 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1927, %1931 : tensor<2x1280x16x16xf16>, tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1933 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1932, %cst_935 : tensor<2x1280x16x16xf16>, tensor<f16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1934 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1933 : tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1935 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1934 : tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1936 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1935, %cst_935 : tensor<2x1280x16x16xf16>, tensor<f16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1937 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1936, %1931 : tensor<2x1280x16x16xf16>, tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1938 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_670 : tensor<1280x80x1x3x3xf16>) outs(%1590 : tensor<1280x80x16x3x3xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x80x16x3x3xf16> | |
| %collapsed_1454 = tensor.collapse_shape %1938 [[0], [1, 2], [3], [4]] : tensor<1280x80x16x3x3xf16> into tensor<1280x1280x3x3xf16> | |
| %1939 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_669, %collapsed_1454 : tensor<1280x1280x3x3xi8>, tensor<1280x1280x3x3xf16>) outs(%1592 : tensor<1280x1280x3x3xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x1280x3x3xf16> | |
| %padded_1455 = tensor.pad %1937 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg4: index, %arg5: index, %arg6: index, %arg7: index): | |
| tensor.yield %cst_946 : f16 | |
| } : tensor<2x1280x16x16xf16> to tensor<2x1280x18x18xf16> | |
| %1940 = linalg.generic {indexing_maps = [#map10, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_668 : tensor<1280xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1941 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1455, %1939 : tensor<2x1280x18x18xf16>, tensor<1280x1280x3x3xf16>) outs(%1940 : tensor<2x1280x16x16xf16>) -> tensor<2x1280x16x16xf16> | |
| %1942 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%cst_667 : tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x1280xf16> | |
| %1943 = linalg.matmul ins(%81, %1942 : tensor<2x1280xf16>, tensor<1280x1280xf16>) outs(%20 : tensor<2x1280xf16>) -> tensor<2x1280xf16> | |
| %1944 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_666, %1943 : tensor<1280xf16>, tensor<2x1280xf16>) outs(%19 : tensor<2x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280xf16> | |
| %expanded_1456 = tensor.expand_shape %1944 [[0], [1, 2, 3]] : tensor<2x1280xf16> into tensor<2x1280x1x1xf16> | |
| %1945 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1941, %expanded_1456 : tensor<2x1280x16x16xf16>, tensor<2x1280x1x1xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %collapsed_1457 = tensor.collapse_shape %1945 [[0], [1], [2, 3]] : tensor<2x1280x16x16xf16> into tensor<2x1280x256xf16> | |
| %expanded_1458 = tensor.expand_shape %collapsed_1457 [[0], [1, 2], [3]] : tensor<2x1280x256xf16> into tensor<2x32x40x256xf16> | |
| %1946 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1458 : tensor<2x32x40x256xf16>) outs(%1552 : tensor<2x32x40x256xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x40x256xf32> | |
| %1947 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1946 : tensor<2x32x40x256xf32>) outs(%1554 : tensor<2x32x40x256xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x40x256xf64> | |
| %1948 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1947 : tensor<2x32x40x256xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1949 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1948 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_962 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1950 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1947, %1949 : tensor<2x32x40x256xf64>, tensor<2x32x1x1xf64>) outs(%1554 : tensor<2x32x40x256xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x40x256xf64> | |
| %1951 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1950, %1950 : tensor<2x32x40x256xf64>, tensor<2x32x40x256xf64>) outs(%1554 : tensor<2x32x40x256xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x40x256xf64> | |
| %1952 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1951 : tensor<2x32x40x256xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1953 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1952 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_962 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1954 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1953 : tensor<2x32x1x1xf64>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1955 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1946 : tensor<2x32x40x256xf32>) outs(%46 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1956 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1955 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_963 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1957 = linalg.generic {indexing_maps = [#map11, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1954, %cst_938 : tensor<2x32x1x1xf32>, tensor<f16>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1958 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1957 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1959 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1458, %1956 : tensor<2x32x40x256xf16>, tensor<2x32x1x1xf32>) outs(%1552 : tensor<2x32x40x256xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x40x256xf32> | |
| %1960 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1959, %1958 : tensor<2x32x40x256xf32>, tensor<2x32x1x1xf32>) outs(%1552 : tensor<2x32x40x256xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x40x256xf32> | |
| %collapsed_1459 = tensor.collapse_shape %1960 [[0], [1, 2], [3]] : tensor<2x32x40x256xf32> into tensor<2x1280x256xf32> | |
| %expanded_1460 = tensor.expand_shape %collapsed_1459 [[0], [1], [2, 3]] : tensor<2x1280x256xf32> into tensor<2x1280x16x16xf32> | |
| %expanded_1461 = tensor.expand_shape %cst_665 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
| %expanded_1462 = tensor.expand_shape %cst_664 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
| %1961 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1460, %expanded_1462 : tensor<2x1280x16x16xf32>, tensor<1x1280x1x1xf16>) outs(%1569 : tensor<2x1280x16x16xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1280x16x16xf32> | |
| %1962 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1961, %expanded_1461 : tensor<2x1280x16x16xf32>, tensor<1x1280x1x1xf16>) outs(%1569 : tensor<2x1280x16x16xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1280x16x16xf32> | |
| %1963 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1962 : tensor<2x1280x16x16xf32>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1964 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1963 : tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.negf %in : f16 | |
| %6235 = math.exp %6234 : f16 | |
| %6236 = arith.addf %6235, %cst_947 : f16 | |
| %6237 = arith.divf %cst_947, %6236 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1965 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1964, %1963 : tensor<2x1280x16x16xf16>, tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %expanded_1463 = tensor.expand_shape %1965 [[0], [1, 2], [3], [4]] : tensor<2x1280x16x16xf16> into tensor<2x80x16x16x16xf16> | |
| %1966 = linalg.generic {indexing_maps = [#map14, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1463 : tensor<2x80x16x16x16xf16>) outs(%1575 : tensor<2x80x16x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x80x16x16x16xf16> | |
| %1967:2 = linalg.generic {indexing_maps = [#map14, #map15, #map15], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%1966 : tensor<2x80x16x16x16xf16>) outs(%1580, %1578 : tensor<2x80x1x16x16xf16>, tensor<2x80x1x16x16xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x80x1x16x16xf16>, tensor<2x80x1x16x16xi64>) | |
| %1968 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1967#0 : tensor<2x80x1x16x16xf16>) outs(%1575 : tensor<2x80x16x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x80x16x16x16xf16> | |
| %collapsed_1464 = tensor.collapse_shape %1968 [[0], [1, 2], [3], [4]] : tensor<2x80x16x16x16xf16> into tensor<2x1280x16x16xf16> | |
| %1969 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1464 : tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1970 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1965, %1969 : tensor<2x1280x16x16xf16>, tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1971 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1970, %cst_935 : tensor<2x1280x16x16xf16>, tensor<f16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1972 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1971 : tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1973 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1972 : tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1974 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1973, %cst_935 : tensor<2x1280x16x16xf16>, tensor<f16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1975 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1974, %1969 : tensor<2x1280x16x16xf16>, tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1976 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_663 : tensor<1280x80x1x3x3xf16>) outs(%1590 : tensor<1280x80x16x3x3xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x80x16x3x3xf16> | |
| %collapsed_1465 = tensor.collapse_shape %1976 [[0], [1, 2], [3], [4]] : tensor<1280x80x16x3x3xf16> into tensor<1280x1280x3x3xf16> | |
| %1977 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_662, %collapsed_1465 : tensor<1280x1280x3x3xi8>, tensor<1280x1280x3x3xf16>) outs(%1592 : tensor<1280x1280x3x3xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x1280x3x3xf16> | |
| %padded_1466 = tensor.pad %1975 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg4: index, %arg5: index, %arg6: index, %arg7: index): | |
| tensor.yield %cst_946 : f16 | |
| } : tensor<2x1280x16x16xf16> to tensor<2x1280x18x18xf16> | |
| %1978 = linalg.generic {indexing_maps = [#map10, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_661 : tensor<1280xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1979 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1466, %1977 : tensor<2x1280x18x18xf16>, tensor<1280x1280x3x3xf16>) outs(%1978 : tensor<2x1280x16x16xf16>) -> tensor<2x1280x16x16xf16> | |
| %1980 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1907, %1979 : tensor<2x1280x16x16xf16>, tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %1981 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1980, %cst_924 : tensor<2x1280x16x16xf16>, tensor<f16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %collapsed_1467 = tensor.collapse_shape %1981 [[0], [1], [2, 3]] : tensor<2x1280x16x16xf16> into tensor<2x1280x256xf16> | |
| %expanded_1468 = tensor.expand_shape %collapsed_1467 [[0], [1, 2], [3]] : tensor<2x1280x256xf16> into tensor<2x32x40x256xf16> | |
| %1982 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1468 : tensor<2x32x40x256xf16>) outs(%1552 : tensor<2x32x40x256xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x40x256xf32> | |
| %1983 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1982 : tensor<2x32x40x256xf32>) outs(%1554 : tensor<2x32x40x256xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x40x256xf64> | |
| %1984 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1983 : tensor<2x32x40x256xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1985 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1984 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_962 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1986 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1983, %1985 : tensor<2x32x40x256xf64>, tensor<2x32x1x1xf64>) outs(%1554 : tensor<2x32x40x256xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x40x256xf64> | |
| %1987 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1986, %1986 : tensor<2x32x40x256xf64>, tensor<2x32x40x256xf64>) outs(%1554 : tensor<2x32x40x256xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x40x256xf64> | |
| %1988 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1987 : tensor<2x32x40x256xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1989 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1988 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_962 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %1990 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1989 : tensor<2x32x1x1xf64>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1991 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1982 : tensor<2x32x40x256xf32>) outs(%46 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1992 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1991 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_963 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1993 = linalg.generic {indexing_maps = [#map11, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1990, %cst_923 : tensor<2x32x1x1xf32>, tensor<f16>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1994 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1993 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %1995 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1468, %1992 : tensor<2x32x40x256xf16>, tensor<2x32x1x1xf32>) outs(%1552 : tensor<2x32x40x256xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x40x256xf32> | |
| %1996 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1995, %1994 : tensor<2x32x40x256xf32>, tensor<2x32x1x1xf32>) outs(%1552 : tensor<2x32x40x256xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x40x256xf32> | |
| %collapsed_1469 = tensor.collapse_shape %1996 [[0], [1, 2], [3]] : tensor<2x32x40x256xf32> into tensor<2x1280x256xf32> | |
| %expanded_1470 = tensor.expand_shape %collapsed_1469 [[0], [1], [2, 3]] : tensor<2x1280x256xf32> into tensor<2x1280x16x16xf32> | |
| %expanded_1471 = tensor.expand_shape %cst_660 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
| %expanded_1472 = tensor.expand_shape %cst_659 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
| %1997 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1470, %expanded_1472 : tensor<2x1280x16x16xf32>, tensor<1x1280x1x1xf16>) outs(%1569 : tensor<2x1280x16x16xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1280x16x16xf32> | |
| %1998 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1997, %expanded_1471 : tensor<2x1280x16x16xf32>, tensor<1x1280x1x1xf16>) outs(%1569 : tensor<2x1280x16x16xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1280x16x16xf32> | |
| %1999 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1998 : tensor<2x1280x16x16xf32>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %2000 = linalg.generic {indexing_maps = [#map1, #map16], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1999 : tensor<2x1280x16x16xf16>) outs(%1633 : tensor<2x16x16x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x16x16x1280xf16> | |
| %collapsed_1473 = tensor.collapse_shape %2000 [[0], [1, 2], [3]] : tensor<2x16x16x1280xf16> into tensor<2x256x1280xf16> | |
| %expanded_1474 = tensor.expand_shape %collapsed_1473 [[0], [1], [2, 3]] : tensor<2x256x1280xf16> into tensor<2x256x80x16xf16> | |
| %2001 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1474 : tensor<2x256x80x16xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %2002:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2001 : tensor<2x256x80x16xf16>) outs(%1640, %1638 : tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) | |
| %2003 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2002#0 : tensor<2x256x80x1xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %collapsed_1475 = tensor.collapse_shape %2003 [[0], [1], [2, 3]] : tensor<2x256x80x16xf16> into tensor<2x256x1280xf16> | |
| %2004 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1475 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2005 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1473, %2004 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2006 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2005, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2007 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2006 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2008 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2007 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2009 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2008, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2010 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2009, %2004 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2011 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_658 : tensor<1280x80x1xf16>) outs(%1651 : tensor<1280x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x80x16xf16> | |
| %collapsed_1476 = tensor.collapse_shape %2011 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
| %2012 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_657, %collapsed_1476 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x1280xf16> | |
| %2013 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%2012 : tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x1280xf16> | |
| %collapsed_1477 = tensor.collapse_shape %2010 [[0, 1], [2]] : tensor<2x256x1280xf16> into tensor<512x1280xf16> | |
| %2014 = linalg.matmul ins(%collapsed_1477, %2013 : tensor<512x1280xf16>, tensor<1280x1280xf16>) outs(%1656 : tensor<512x1280xf16>) -> tensor<512x1280xf16> | |
| %2015 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_656, %2014 : tensor<1280xf16>, tensor<512x1280xf16>) outs(%1655 : tensor<512x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<512x1280xf16> | |
| %expanded_1478 = tensor.expand_shape %2015 [[0, 1], [2]] : tensor<512x1280xf16> into tensor<2x256x1280xf16> | |
| %2016 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1478 : tensor<2x256x1280xf16>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %2017 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2016 : tensor<2x256x1280xf32>) outs(%1661 : tensor<2x256x1280xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1280xf64> | |
| %2018 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2017 : tensor<2x256x1280xf64>) outs(%1664 : tensor<2x256x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1xf64> | |
| %2019 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2018 : tensor<2x256x1xf64>) outs(%1663 : tensor<2x256x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_970 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1xf64> | |
| %2020 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2017, %2019 : tensor<2x256x1280xf64>, tensor<2x256x1xf64>) outs(%1661 : tensor<2x256x1280xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1280xf64> | |
| %2021 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2020, %2020 : tensor<2x256x1280xf64>, tensor<2x256x1280xf64>) outs(%1661 : tensor<2x256x1280xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1280xf64> | |
| %2022 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2021 : tensor<2x256x1280xf64>) outs(%1664 : tensor<2x256x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1xf64> | |
| %2023 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2022 : tensor<2x256x1xf64>) outs(%1663 : tensor<2x256x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_970 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1xf64> | |
| %2024 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2023 : tensor<2x256x1xf64>) outs(%1671 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %2025 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2016 : tensor<2x256x1280xf32>) outs(%1673 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %2026 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2025 : tensor<2x256x1xf32>) outs(%1671 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_971 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %2027 = linalg.generic {indexing_maps = [#map20, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2024, %cst_938 : tensor<2x256x1xf32>, tensor<f16>) outs(%1671 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %2028 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2027 : tensor<2x256x1xf32>) outs(%1671 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %2029 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1478, %2026 : tensor<2x256x1280xf16>, tensor<2x256x1xf32>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %2030 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2029, %2028 : tensor<2x256x1280xf32>, tensor<2x256x1xf32>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %2031 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2030, %cst_655 : tensor<2x256x1280xf32>, tensor<1280xf16>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %2032 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2031, %cst_654 : tensor<2x256x1280xf32>, tensor<1280xf16>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %2033 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2032 : tensor<2x256x1280xf32>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %expanded_1479 = tensor.expand_shape %2033 [[0], [1], [2, 3]] : tensor<2x256x1280xf16> into tensor<2x256x80x16xf16> | |
| %2034 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1479 : tensor<2x256x80x16xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %2035:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2034 : tensor<2x256x80x16xf16>) outs(%1640, %1638 : tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) | |
| %2036 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2035#0 : tensor<2x256x80x1xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %collapsed_1480 = tensor.collapse_shape %2036 [[0], [1], [2, 3]] : tensor<2x256x80x16xf16> into tensor<2x256x1280xf16> | |
| %2037 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1480 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2038 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2033, %2037 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2039 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2038, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2040 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2039 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2041 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2040 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2042 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2041, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2043 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2042, %2037 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2044 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_653 : tensor<1280x80x1xf16>) outs(%1651 : tensor<1280x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x80x16xf16> | |
| %collapsed_1481 = tensor.collapse_shape %2044 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
| %2045 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_652, %collapsed_1481 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x1280xf16> | |
| %2046 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%2045 : tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x1280xf16> | |
| %collapsed_1482 = tensor.collapse_shape %2043 [[0, 1], [2]] : tensor<2x256x1280xf16> into tensor<512x1280xf16> | |
| %2047 = linalg.matmul ins(%collapsed_1482, %2046 : tensor<512x1280xf16>, tensor<1280x1280xf16>) outs(%1656 : tensor<512x1280xf16>) -> tensor<512x1280xf16> | |
| %expanded_1483 = tensor.expand_shape %2047 [[0, 1], [2, 3]] : tensor<512x1280xf16> into tensor<2x256x20x64xf16> | |
| %2048 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1483 : tensor<2x256x20x64xf16>) outs(%1697 : tensor<2x20x256x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x20x256x64xf16> | |
| %collapsed_1484 = tensor.collapse_shape %2048 [[0, 1], [2], [3]] : tensor<2x20x256x64xf16> into tensor<40x256x64xf16> | |
| %2049 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_651 : tensor<1280x80x1xf16>) outs(%1651 : tensor<1280x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x80x16xf16> | |
| %collapsed_1485 = tensor.collapse_shape %2049 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
| %2050 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_650, %collapsed_1485 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x1280xf16> | |
| %2051 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%2050 : tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x1280xf16> | |
| %2052 = linalg.matmul ins(%collapsed_1482, %2051 : tensor<512x1280xf16>, tensor<1280x1280xf16>) outs(%1656 : tensor<512x1280xf16>) -> tensor<512x1280xf16> | |
| %2053 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_649 : tensor<1280x80x1xf16>) outs(%1651 : tensor<1280x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x80x16xf16> | |
| %collapsed_1486 = tensor.collapse_shape %2053 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
| %2054 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_648, %collapsed_1486 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x1280xf16> | |
| %2055 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%2054 : tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x1280xf16> | |
| %2056 = linalg.matmul ins(%collapsed_1482, %2055 : tensor<512x1280xf16>, tensor<1280x1280xf16>) outs(%1656 : tensor<512x1280xf16>) -> tensor<512x1280xf16> | |
| %expanded_1487 = tensor.expand_shape %2052 [[0, 1], [2, 3]] : tensor<512x1280xf16> into tensor<2x256x20x64xf16> | |
| %2057 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1487 : tensor<2x256x20x64xf16>) outs(%1697 : tensor<2x20x256x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x20x256x64xf16> | |
| %collapsed_1488 = tensor.collapse_shape %2057 [[0, 1], [2], [3]] : tensor<2x20x256x64xf16> into tensor<40x256x64xf16> | |
| %expanded_1489 = tensor.expand_shape %2056 [[0, 1], [2, 3]] : tensor<512x1280xf16> into tensor<2x256x20x64xf16> | |
| %2058 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1489 : tensor<2x256x20x64xf16>) outs(%1697 : tensor<2x20x256x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x20x256x64xf16> | |
| %collapsed_1490 = tensor.collapse_shape %2058 [[0, 1], [2], [3]] : tensor<2x20x256x64xf16> into tensor<40x256x64xf16> | |
| %2059 = linalg.generic {indexing_maps = [#map18, #map23], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1488 : tensor<40x256x64xf16>) outs(%1711 : tensor<40x64x256xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<40x64x256xf16> | |
| %2060 = linalg.batch_matmul ins(%collapsed_1484, %2059 : tensor<40x256x64xf16>, tensor<40x64x256xf16>) outs(%1710 : tensor<40x256x256xf16>) -> tensor<40x256x256xf16> | |
| %2061 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2060 : tensor<40x256x256xf16>) outs(%1709 : tensor<40x256x256xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.mulf %in, %cst_961 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<40x256x256xf16> | |
| %2062 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2061, %1710 : tensor<40x256x256xf16>, tensor<40x256x256xf16>) outs(%1709 : tensor<40x256x256xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in_2625, %cst_946 : f16 | |
| %6235 = arith.addf %in, %6234 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<40x256x256xf16> | |
| %2063:2 = linalg.generic {indexing_maps = [#map18, #map20, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2062 : tensor<40x256x256xf16>) outs(%1719, %1717 : tensor<40x256x1xf16>, tensor<40x256x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<40x256x1xf16>, tensor<40x256x1xi64>) | |
| %2064 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2062, %2063#0 : tensor<40x256x256xf16>, tensor<40x256x1xf16>) outs(%1709 : tensor<40x256x256xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<40x256x256xf16> | |
| %2065 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2064 : tensor<40x256x256xf16>) outs(%1709 : tensor<40x256x256xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.exp %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<40x256x256xf16> | |
| %2066 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2065 : tensor<40x256x256xf16>) outs(%1723 : tensor<40x256x1xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.addf %in, %out : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<40x256x1xf16> | |
| %2067 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2065, %2066 : tensor<40x256x256xf16>, tensor<40x256x1xf16>) outs(%1709 : tensor<40x256x256xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<40x256x256xf16> | |
| %2068 = linalg.batch_matmul ins(%2067, %collapsed_1490 : tensor<40x256x256xf16>, tensor<40x256x64xf16>) outs(%1727 : tensor<40x256x64xf16>) -> tensor<40x256x64xf16> | |
| %expanded_1491 = tensor.expand_shape %2068 [[0, 1], [2], [3]] : tensor<40x256x64xf16> into tensor<2x20x256x64xf16> | |
| %2069 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1491 : tensor<2x20x256x64xf16>) outs(%1729 : tensor<2x256x20x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x256x20x64xf16> | |
| %collapsed_1492 = tensor.collapse_shape %2069 [[0], [1], [2, 3]] : tensor<2x256x20x64xf16> into tensor<2x256x1280xf16> | |
| %expanded_1493 = tensor.expand_shape %collapsed_1492 [[0], [1], [2, 3]] : tensor<2x256x1280xf16> into tensor<2x256x80x16xf16> | |
| %2070 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1493 : tensor<2x256x80x16xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %2071:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2070 : tensor<2x256x80x16xf16>) outs(%1640, %1638 : tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) | |
| %2072 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2071#0 : tensor<2x256x80x1xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %collapsed_1494 = tensor.collapse_shape %2072 [[0], [1], [2, 3]] : tensor<2x256x80x16xf16> into tensor<2x256x1280xf16> | |
| %2073 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1494 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2074 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1492, %2073 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2075 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2074, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2076 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2075 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2077 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2076 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2078 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2077, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2079 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2078, %2073 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2080 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_647 : tensor<1280x80x1xf16>) outs(%1651 : tensor<1280x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x80x16xf16> | |
| %collapsed_1495 = tensor.collapse_shape %2080 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
| %2081 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_646, %collapsed_1495 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x1280xf16> | |
| %2082 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%2081 : tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x1280xf16> | |
| %collapsed_1496 = tensor.collapse_shape %2079 [[0, 1], [2]] : tensor<2x256x1280xf16> into tensor<512x1280xf16> | |
| %2083 = linalg.matmul ins(%collapsed_1496, %2082 : tensor<512x1280xf16>, tensor<1280x1280xf16>) outs(%1656 : tensor<512x1280xf16>) -> tensor<512x1280xf16> | |
| %2084 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_645, %2083 : tensor<1280xf16>, tensor<512x1280xf16>) outs(%1655 : tensor<512x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<512x1280xf16> | |
| %expanded_1497 = tensor.expand_shape %2084 [[0, 1], [2]] : tensor<512x1280xf16> into tensor<2x256x1280xf16> | |
| %2085 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1497, %expanded_1478 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2086 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2085 : tensor<2x256x1280xf16>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %2087 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2086 : tensor<2x256x1280xf32>) outs(%1661 : tensor<2x256x1280xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1280xf64> | |
| %2088 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2087 : tensor<2x256x1280xf64>) outs(%1664 : tensor<2x256x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1xf64> | |
| %2089 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2088 : tensor<2x256x1xf64>) outs(%1663 : tensor<2x256x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_970 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1xf64> | |
| %2090 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2087, %2089 : tensor<2x256x1280xf64>, tensor<2x256x1xf64>) outs(%1661 : tensor<2x256x1280xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1280xf64> | |
| %2091 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2090, %2090 : tensor<2x256x1280xf64>, tensor<2x256x1280xf64>) outs(%1661 : tensor<2x256x1280xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1280xf64> | |
| %2092 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2091 : tensor<2x256x1280xf64>) outs(%1664 : tensor<2x256x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1xf64> | |
| %2093 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2092 : tensor<2x256x1xf64>) outs(%1663 : tensor<2x256x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_970 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1xf64> | |
| %2094 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2093 : tensor<2x256x1xf64>) outs(%1671 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %2095 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2086 : tensor<2x256x1280xf32>) outs(%1673 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %2096 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2095 : tensor<2x256x1xf32>) outs(%1671 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_971 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %2097 = linalg.generic {indexing_maps = [#map20, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2094, %cst_938 : tensor<2x256x1xf32>, tensor<f16>) outs(%1671 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %2098 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2097 : tensor<2x256x1xf32>) outs(%1671 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %2099 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2085, %2096 : tensor<2x256x1280xf16>, tensor<2x256x1xf32>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %2100 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2099, %2098 : tensor<2x256x1280xf32>, tensor<2x256x1xf32>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %2101 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2100, %cst_644 : tensor<2x256x1280xf32>, tensor<1280xf16>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %2102 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2101, %cst_643 : tensor<2x256x1280xf32>, tensor<1280xf16>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %2103 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2102 : tensor<2x256x1280xf32>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %expanded_1498 = tensor.expand_shape %2103 [[0], [1], [2, 3]] : tensor<2x256x1280xf16> into tensor<2x256x80x16xf16> | |
| %2104 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1498 : tensor<2x256x80x16xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %2105:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2104 : tensor<2x256x80x16xf16>) outs(%1640, %1638 : tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) | |
| %2106 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2105#0 : tensor<2x256x80x1xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %collapsed_1499 = tensor.collapse_shape %2106 [[0], [1], [2, 3]] : tensor<2x256x80x16xf16> into tensor<2x256x1280xf16> | |
| %2107 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1499 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2108 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2103, %2107 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2109 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2108, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2110 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2109 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2111 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2110 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2112 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2111, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2113 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2112, %2107 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2114 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_642 : tensor<1280x80x1xf16>) outs(%1651 : tensor<1280x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x80x16xf16> | |
| %collapsed_1500 = tensor.collapse_shape %2114 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
| %2115 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_641, %collapsed_1500 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x1280xf16> | |
| %2116 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%2115 : tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x1280xf16> | |
| %collapsed_1501 = tensor.collapse_shape %2113 [[0, 1], [2]] : tensor<2x256x1280xf16> into tensor<512x1280xf16> | |
| %2117 = linalg.matmul ins(%collapsed_1501, %2116 : tensor<512x1280xf16>, tensor<1280x1280xf16>) outs(%1656 : tensor<512x1280xf16>) -> tensor<512x1280xf16> | |
| %expanded_1502 = tensor.expand_shape %2117 [[0, 1], [2, 3]] : tensor<512x1280xf16> into tensor<2x256x20x64xf16> | |
| %2118 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1502 : tensor<2x256x20x64xf16>) outs(%1697 : tensor<2x20x256x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x20x256x64xf16> | |
| %collapsed_1503 = tensor.collapse_shape %2118 [[0, 1], [2], [3]] : tensor<2x20x256x64xf16> into tensor<40x256x64xf16> | |
| %2119 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_640 : tensor<1280x64x1xf16>) outs(%1780 : tensor<1280x64x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x64x16xf16> | |
| %collapsed_1504 = tensor.collapse_shape %2119 [[0], [1, 2]] : tensor<1280x64x16xf16> into tensor<1280x1024xf16> | |
| %2120 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_639, %collapsed_1504 : tensor<1280x1024xi8>, tensor<1280x1024xf16>) outs(%1782 : tensor<1280x1024xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x1024xf16> | |
| %2121 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%2120 : tensor<1280x1024xf16>) outs(%1784 : tensor<1024x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1024x1280xf16> | |
| %2122 = linalg.matmul ins(%collapsed_1050, %2121 : tensor<154x1024xf16>, tensor<1024x1280xf16>) outs(%1787 : tensor<154x1280xf16>) -> tensor<154x1280xf16> | |
| %2123 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_638 : tensor<1280x64x1xf16>) outs(%1780 : tensor<1280x64x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x64x16xf16> | |
| %collapsed_1505 = tensor.collapse_shape %2123 [[0], [1, 2]] : tensor<1280x64x16xf16> into tensor<1280x1024xf16> | |
| %2124 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_637, %collapsed_1505 : tensor<1280x1024xi8>, tensor<1280x1024xf16>) outs(%1782 : tensor<1280x1024xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x1024xf16> | |
| %2125 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%2124 : tensor<1280x1024xf16>) outs(%1784 : tensor<1024x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1024x1280xf16> | |
| %2126 = linalg.matmul ins(%collapsed_1050, %2125 : tensor<154x1024xf16>, tensor<1024x1280xf16>) outs(%1787 : tensor<154x1280xf16>) -> tensor<154x1280xf16> | |
| %expanded_1506 = tensor.expand_shape %2122 [[0, 1], [2, 3]] : tensor<154x1280xf16> into tensor<2x77x20x64xf16> | |
| %2127 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1506 : tensor<2x77x20x64xf16>) outs(%1793 : tensor<2x20x77x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x20x77x64xf16> | |
| %collapsed_1507 = tensor.collapse_shape %2127 [[0, 1], [2], [3]] : tensor<2x20x77x64xf16> into tensor<40x77x64xf16> | |
| %expanded_1508 = tensor.expand_shape %2126 [[0, 1], [2, 3]] : tensor<154x1280xf16> into tensor<2x77x20x64xf16> | |
| %2128 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1508 : tensor<2x77x20x64xf16>) outs(%1793 : tensor<2x20x77x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x20x77x64xf16> | |
| %collapsed_1509 = tensor.collapse_shape %2128 [[0, 1], [2], [3]] : tensor<2x20x77x64xf16> into tensor<40x77x64xf16> | |
| %2129 = linalg.generic {indexing_maps = [#map18, #map23], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1507 : tensor<40x77x64xf16>) outs(%1798 : tensor<40x64x77xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<40x64x77xf16> | |
| %2130 = linalg.batch_matmul ins(%collapsed_1503, %2129 : tensor<40x256x64xf16>, tensor<40x64x77xf16>) outs(%1797 : tensor<40x256x77xf16>) -> tensor<40x256x77xf16> | |
| %2131 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2130 : tensor<40x256x77xf16>) outs(%1796 : tensor<40x256x77xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.mulf %in, %cst_961 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<40x256x77xf16> | |
| %2132 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2131, %1797 : tensor<40x256x77xf16>, tensor<40x256x77xf16>) outs(%1796 : tensor<40x256x77xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in_2625, %cst_946 : f16 | |
| %6235 = arith.addf %in, %6234 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<40x256x77xf16> | |
| %2133:2 = linalg.generic {indexing_maps = [#map18, #map20, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2132 : tensor<40x256x77xf16>) outs(%1719, %1717 : tensor<40x256x1xf16>, tensor<40x256x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<40x256x1xf16>, tensor<40x256x1xi64>) | |
| %2134 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2132, %2133#0 : tensor<40x256x77xf16>, tensor<40x256x1xf16>) outs(%1796 : tensor<40x256x77xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<40x256x77xf16> | |
| %2135 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2134 : tensor<40x256x77xf16>) outs(%1796 : tensor<40x256x77xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.exp %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<40x256x77xf16> | |
| %2136 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2135 : tensor<40x256x77xf16>) outs(%1723 : tensor<40x256x1xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.addf %in, %out : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<40x256x1xf16> | |
| %2137 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2135, %2136 : tensor<40x256x77xf16>, tensor<40x256x1xf16>) outs(%1796 : tensor<40x256x77xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<40x256x77xf16> | |
| %2138 = linalg.batch_matmul ins(%2137, %collapsed_1509 : tensor<40x256x77xf16>, tensor<40x77x64xf16>) outs(%1727 : tensor<40x256x64xf16>) -> tensor<40x256x64xf16> | |
| %expanded_1510 = tensor.expand_shape %2138 [[0, 1], [2], [3]] : tensor<40x256x64xf16> into tensor<2x20x256x64xf16> | |
| %2139 = linalg.generic {indexing_maps = [#map1, #map22], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1510 : tensor<2x20x256x64xf16>) outs(%1729 : tensor<2x256x20x64xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x256x20x64xf16> | |
| %collapsed_1511 = tensor.collapse_shape %2139 [[0], [1], [2, 3]] : tensor<2x256x20x64xf16> into tensor<2x256x1280xf16> | |
| %expanded_1512 = tensor.expand_shape %collapsed_1511 [[0], [1], [2, 3]] : tensor<2x256x1280xf16> into tensor<2x256x80x16xf16> | |
| %2140 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1512 : tensor<2x256x80x16xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %2141:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2140 : tensor<2x256x80x16xf16>) outs(%1640, %1638 : tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) | |
| %2142 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2141#0 : tensor<2x256x80x1xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %collapsed_1513 = tensor.collapse_shape %2142 [[0], [1], [2, 3]] : tensor<2x256x80x16xf16> into tensor<2x256x1280xf16> | |
| %2143 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1513 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2144 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1511, %2143 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2145 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2144, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2146 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2145 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2147 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2146 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2148 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2147, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2149 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2148, %2143 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2150 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_636 : tensor<1280x80x1xf16>) outs(%1651 : tensor<1280x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x80x16xf16> | |
| %collapsed_1514 = tensor.collapse_shape %2150 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
| %2151 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_635, %collapsed_1514 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x1280xf16> | |
| %2152 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%2151 : tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x1280xf16> | |
| %collapsed_1515 = tensor.collapse_shape %2149 [[0, 1], [2]] : tensor<2x256x1280xf16> into tensor<512x1280xf16> | |
| %2153 = linalg.matmul ins(%collapsed_1515, %2152 : tensor<512x1280xf16>, tensor<1280x1280xf16>) outs(%1656 : tensor<512x1280xf16>) -> tensor<512x1280xf16> | |
| %2154 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_634, %2153 : tensor<1280xf16>, tensor<512x1280xf16>) outs(%1655 : tensor<512x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<512x1280xf16> | |
| %expanded_1516 = tensor.expand_shape %2154 [[0, 1], [2]] : tensor<512x1280xf16> into tensor<2x256x1280xf16> | |
| %2155 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1516, %2085 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2156 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2155 : tensor<2x256x1280xf16>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %2157 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2156 : tensor<2x256x1280xf32>) outs(%1661 : tensor<2x256x1280xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1280xf64> | |
| %2158 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2157 : tensor<2x256x1280xf64>) outs(%1664 : tensor<2x256x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1xf64> | |
| %2159 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2158 : tensor<2x256x1xf64>) outs(%1663 : tensor<2x256x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_970 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1xf64> | |
| %2160 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2157, %2159 : tensor<2x256x1280xf64>, tensor<2x256x1xf64>) outs(%1661 : tensor<2x256x1280xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1280xf64> | |
| %2161 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2160, %2160 : tensor<2x256x1280xf64>, tensor<2x256x1280xf64>) outs(%1661 : tensor<2x256x1280xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1280xf64> | |
| %2162 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2161 : tensor<2x256x1280xf64>) outs(%1664 : tensor<2x256x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1xf64> | |
| %2163 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2162 : tensor<2x256x1xf64>) outs(%1663 : tensor<2x256x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_970 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x256x1xf64> | |
| %2164 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2163 : tensor<2x256x1xf64>) outs(%1671 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %2165 = linalg.generic {indexing_maps = [#map18, #map20], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2156 : tensor<2x256x1280xf32>) outs(%1673 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %2166 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2165 : tensor<2x256x1xf32>) outs(%1671 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_971 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %2167 = linalg.generic {indexing_maps = [#map20, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2164, %cst_938 : tensor<2x256x1xf32>, tensor<f16>) outs(%1671 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %2168 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2167 : tensor<2x256x1xf32>) outs(%1671 : tensor<2x256x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1xf32> | |
| %2169 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2155, %2166 : tensor<2x256x1280xf16>, tensor<2x256x1xf32>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %2170 = linalg.generic {indexing_maps = [#map18, #map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2169, %2168 : tensor<2x256x1280xf32>, tensor<2x256x1xf32>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %2171 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2170, %cst_633 : tensor<2x256x1280xf32>, tensor<1280xf16>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %2172 = linalg.generic {indexing_maps = [#map18, #map21, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2171, %cst_632 : tensor<2x256x1280xf32>, tensor<1280xf16>) outs(%1659 : tensor<2x256x1280xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x256x1280xf32> | |
| %2173 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2172 : tensor<2x256x1280xf32>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %expanded_1517 = tensor.expand_shape %2173 [[0], [1], [2, 3]] : tensor<2x256x1280xf16> into tensor<2x256x80x16xf16> | |
| %2174 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1517 : tensor<2x256x80x16xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %2175:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2174 : tensor<2x256x80x16xf16>) outs(%1640, %1638 : tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) | |
| %2176 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2175#0 : tensor<2x256x80x1xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %collapsed_1518 = tensor.collapse_shape %2176 [[0], [1], [2, 3]] : tensor<2x256x80x16xf16> into tensor<2x256x1280xf16> | |
| %2177 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1518 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2178 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2173, %2177 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2179 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2178, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2180 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2179 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2181 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2180 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2182 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2181, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2183 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2182, %2177 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2184 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_631 : tensor<10240x80x1xf16>) outs(%1854 : tensor<10240x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<10240x80x16xf16> | |
| %collapsed_1519 = tensor.collapse_shape %2184 [[0], [1, 2]] : tensor<10240x80x16xf16> into tensor<10240x1280xf16> | |
| %2185 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_630, %collapsed_1519 : tensor<10240x1280xi8>, tensor<10240x1280xf16>) outs(%1856 : tensor<10240x1280xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<10240x1280xf16> | |
| %2186 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%2185 : tensor<10240x1280xf16>) outs(%1858 : tensor<1280x10240xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x10240xf16> | |
| %collapsed_1520 = tensor.collapse_shape %2183 [[0, 1], [2]] : tensor<2x256x1280xf16> into tensor<512x1280xf16> | |
| %2187 = linalg.matmul ins(%collapsed_1520, %2186 : tensor<512x1280xf16>, tensor<1280x10240xf16>) outs(%1861 : tensor<512x10240xf16>) -> tensor<512x10240xf16> | |
| %2188 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_629, %2187 : tensor<10240xf16>, tensor<512x10240xf16>) outs(%1860 : tensor<512x10240xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<512x10240xf16> | |
| %expanded_1521 = tensor.expand_shape %2188 [[0, 1], [2]] : tensor<512x10240xf16> into tensor<2x256x10240xf16> | |
| %extracted_slice_1522 = tensor.extract_slice %expanded_1521[0, 0, 0] [2, 256, 5120] [1, 1, 1] : tensor<2x256x10240xf16> to tensor<2x256x5120xf16> | |
| %extracted_slice_1523 = tensor.extract_slice %expanded_1521[0, 0, 5120] [2, 256, 5120] [1, 1, 1] : tensor<2x256x10240xf16> to tensor<2x256x5120xf16> | |
| %2189 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%extracted_slice_1523 : tensor<2x256x5120xf16>) outs(%1864 : tensor<2x256x5120xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.sqrt %cst_949 : f16 | |
| %6235 = arith.divf %in, %6234 : f16 | |
| %6236 = math.erf %6235 : f16 | |
| %6237 = arith.addf %6236, %cst_947 : f16 | |
| %6238 = arith.mulf %6237, %cst_950 : f16 | |
| %6239 = arith.mulf %in, %6238 : f16 | |
| linalg.yield %6239 : f16 | |
| } -> tensor<2x256x5120xf16> | |
| %2190 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%extracted_slice_1522, %2189 : tensor<2x256x5120xf16>, tensor<2x256x5120xf16>) outs(%1864 : tensor<2x256x5120xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x5120xf16> | |
| %expanded_1524 = tensor.expand_shape %2190 [[0], [1], [2, 3]] : tensor<2x256x5120xf16> into tensor<2x256x320x16xf16> | |
| %2191 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1524 : tensor<2x256x320x16xf16>) outs(%1867 : tensor<2x256x320x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x320x16xf16> | |
| %2192:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2191 : tensor<2x256x320x16xf16>) outs(%1872, %1870 : tensor<2x256x320x1xf16>, tensor<2x256x320x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x256x320x1xf16>, tensor<2x256x320x1xi64>) | |
| %2193 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2192#0 : tensor<2x256x320x1xf16>) outs(%1867 : tensor<2x256x320x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x256x320x16xf16> | |
| %collapsed_1525 = tensor.collapse_shape %2193 [[0], [1], [2, 3]] : tensor<2x256x320x16xf16> into tensor<2x256x5120xf16> | |
| %2194 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1525 : tensor<2x256x5120xf16>) outs(%1864 : tensor<2x256x5120xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x5120xf16> | |
| %2195 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2190, %2194 : tensor<2x256x5120xf16>, tensor<2x256x5120xf16>) outs(%1864 : tensor<2x256x5120xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x5120xf16> | |
| %2196 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2195, %cst_935 : tensor<2x256x5120xf16>, tensor<f16>) outs(%1864 : tensor<2x256x5120xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x5120xf16> | |
| %2197 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2196 : tensor<2x256x5120xf16>) outs(%1864 : tensor<2x256x5120xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x5120xf16> | |
| %2198 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2197 : tensor<2x256x5120xf16>) outs(%1864 : tensor<2x256x5120xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x256x5120xf16> | |
| %2199 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2198, %cst_935 : tensor<2x256x5120xf16>, tensor<f16>) outs(%1864 : tensor<2x256x5120xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x5120xf16> | |
| %2200 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2199, %2194 : tensor<2x256x5120xf16>, tensor<2x256x5120xf16>) outs(%1864 : tensor<2x256x5120xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x5120xf16> | |
| %2201 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_628 : tensor<1280x320x1xf16>) outs(%1882 : tensor<1280x320x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x320x16xf16> | |
| %collapsed_1526 = tensor.collapse_shape %2201 [[0], [1, 2]] : tensor<1280x320x16xf16> into tensor<1280x5120xf16> | |
| %2202 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_627, %collapsed_1526 : tensor<1280x5120xi8>, tensor<1280x5120xf16>) outs(%1884 : tensor<1280x5120xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x5120xf16> | |
| %2203 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%2202 : tensor<1280x5120xf16>) outs(%1886 : tensor<5120x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<5120x1280xf16> | |
| %collapsed_1527 = tensor.collapse_shape %2200 [[0, 1], [2]] : tensor<2x256x5120xf16> into tensor<512x5120xf16> | |
| %2204 = linalg.matmul ins(%collapsed_1527, %2203 : tensor<512x5120xf16>, tensor<5120x1280xf16>) outs(%1656 : tensor<512x1280xf16>) -> tensor<512x1280xf16> | |
| %2205 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_626, %2204 : tensor<1280xf16>, tensor<512x1280xf16>) outs(%1655 : tensor<512x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<512x1280xf16> | |
| %expanded_1528 = tensor.expand_shape %2205 [[0, 1], [2]] : tensor<512x1280xf16> into tensor<2x256x1280xf16> | |
| %2206 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1528, %2155 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %expanded_1529 = tensor.expand_shape %2206 [[0], [1], [2, 3]] : tensor<2x256x1280xf16> into tensor<2x256x80x16xf16> | |
| %2207 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1529 : tensor<2x256x80x16xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %2208:2 = linalg.generic {indexing_maps = [#map1, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2207 : tensor<2x256x80x16xf16>) outs(%1640, %1638 : tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 3 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x256x80x1xf16>, tensor<2x256x80x1xi64>) | |
| %2209 = linalg.generic {indexing_maps = [#map17, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2208#0 : tensor<2x256x80x1xf16>) outs(%1635 : tensor<2x256x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x256x80x16xf16> | |
| %collapsed_1530 = tensor.collapse_shape %2209 [[0], [1], [2, 3]] : tensor<2x256x80x16xf16> into tensor<2x256x1280xf16> | |
| %2210 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1530 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2211 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2206, %2210 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2212 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2211, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2213 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2212 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2214 = linalg.generic {indexing_maps = [#map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2213 : tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2215 = linalg.generic {indexing_maps = [#map18, #map19, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2214, %cst_935 : tensor<2x256x1280xf16>, tensor<f16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2216 = linalg.generic {indexing_maps = [#map18, #map18, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2215, %2210 : tensor<2x256x1280xf16>, tensor<2x256x1280xf16>) outs(%1643 : tensor<2x256x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x256x1280xf16> | |
| %2217 = linalg.generic {indexing_maps = [#map20, #map18], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_625 : tensor<1280x80x1xf16>) outs(%1651 : tensor<1280x80x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x80x16xf16> | |
| %collapsed_1531 = tensor.collapse_shape %2217 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
| %2218 = linalg.generic {indexing_maps = [#map7, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_624, %collapsed_1531 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x1280xf16> | |
| %2219 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%2218 : tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x1280xf16> | |
| %collapsed_1532 = tensor.collapse_shape %2216 [[0, 1], [2]] : tensor<2x256x1280xf16> into tensor<512x1280xf16> | |
| %2220 = linalg.matmul ins(%collapsed_1532, %2219 : tensor<512x1280xf16>, tensor<1280x1280xf16>) outs(%1656 : tensor<512x1280xf16>) -> tensor<512x1280xf16> | |
| %2221 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_623, %2220 : tensor<1280xf16>, tensor<512x1280xf16>) outs(%1655 : tensor<512x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<512x1280xf16> | |
| %expanded_1533 = tensor.expand_shape %2221 [[0, 1, 2], [3]] : tensor<512x1280xf16> into tensor<2x16x16x1280xf16> | |
| %2222 = linalg.generic {indexing_maps = [#map1, #map24], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1533 : tensor<2x16x16x1280xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %2223 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2222, %1981 : tensor<2x1280x16x16xf16>, tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %expanded_1534 = tensor.expand_shape %2223 [[0], [1, 2], [3], [4]] : tensor<2x1280x16x16xf16> into tensor<2x80x16x16x16xf16> | |
| %2224 = linalg.generic {indexing_maps = [#map14, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1534 : tensor<2x80x16x16x16xf16>) outs(%1575 : tensor<2x80x16x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x80x16x16x16xf16> | |
| %2225:2 = linalg.generic {indexing_maps = [#map14, #map15, #map15], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%2224 : tensor<2x80x16x16x16xf16>) outs(%1580, %1578 : tensor<2x80x1x16x16xf16>, tensor<2x80x1x16x16xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x80x1x16x16xf16>, tensor<2x80x1x16x16xi64>) | |
| %2226 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%2225#0 : tensor<2x80x1x16x16xf16>) outs(%1575 : tensor<2x80x16x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x80x16x16x16xf16> | |
| %collapsed_1535 = tensor.collapse_shape %2226 [[0], [1, 2], [3], [4]] : tensor<2x80x16x16x16xf16> into tensor<2x1280x16x16xf16> | |
| %2227 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1535 : tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %2228 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2223, %2227 : tensor<2x1280x16x16xf16>, tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %2229 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2228, %cst_935 : tensor<2x1280x16x16xf16>, tensor<f16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %2230 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2229 : tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %2231 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2230 : tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %2232 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2231, %cst_935 : tensor<2x1280x16x16xf16>, tensor<f16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %2233 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2232, %2227 : tensor<2x1280x16x16xf16>, tensor<2x1280x16x16xf16>) outs(%1545 : tensor<2x1280x16x16xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x16x16xf16> | |
| %2234 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_622 : tensor<1280x80x1x3x3xf16>) outs(%1590 : tensor<1280x80x16x3x3xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x80x16x3x3xf16> | |
| %collapsed_1536 = tensor.collapse_shape %2234 [[0], [1, 2], [3], [4]] : tensor<1280x80x16x3x3xf16> into tensor<1280x1280x3x3xf16> | |
| %2235 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_621, %collapsed_1536 : tensor<1280x1280x3x3xi8>, tensor<1280x1280x3x3xf16>) outs(%1592 : tensor<1280x1280x3x3xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x1280x3x3xf16> | |
| %padded_1537 = tensor.pad %2233 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg4: index, %arg5: index, %arg6: index, %arg7: index): | |
| tensor.yield %cst_946 : f16 | |
| } : tensor<2x1280x16x16xf16> to tensor<2x1280x18x18xf16> | |
| %2236 = tensor.empty() : tensor<2x1280x8x8xf16> | |
| %2237 = linalg.generic {indexing_maps = [#map10, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_620 : tensor<1280xf16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %2238 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<2> : vector<2xi64>} ins(%padded_1537, %2235 : tensor<2x1280x18x18xf16>, tensor<1280x1280x3x3xf16>) outs(%2237 : tensor<2x1280x8x8xf16>) -> tensor<2x1280x8x8xf16> | |
| %collapsed_1538 = tensor.collapse_shape %2238 [[0], [1], [2, 3]] : tensor<2x1280x8x8xf16> into tensor<2x1280x64xf16> | |
| %expanded_1539 = tensor.expand_shape %collapsed_1538 [[0], [1, 2], [3]] : tensor<2x1280x64xf16> into tensor<2x32x40x64xf16> | |
| %2239 = tensor.empty() : tensor<2x32x40x64xf32> | |
| %2240 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1539 : tensor<2x32x40x64xf16>) outs(%2239 : tensor<2x32x40x64xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x40x64xf32> | |
| %2241 = tensor.empty() : tensor<2x32x40x64xf64> | |
| %2242 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2240 : tensor<2x32x40x64xf32>) outs(%2241 : tensor<2x32x40x64xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x40x64xf64> | |
| %2243 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2242 : tensor<2x32x40x64xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %2244 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2243 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_972 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %2245 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2242, %2244 : tensor<2x32x40x64xf64>, tensor<2x32x1x1xf64>) outs(%2241 : tensor<2x32x40x64xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x40x64xf64> | |
| %2246 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2245, %2245 : tensor<2x32x40x64xf64>, tensor<2x32x40x64xf64>) outs(%2241 : tensor<2x32x40x64xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x40x64xf64> | |
| %2247 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2246 : tensor<2x32x40x64xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %2248 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2247 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_972 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %2249 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2248 : tensor<2x32x1x1xf64>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %2250 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2240 : tensor<2x32x40x64xf32>) outs(%46 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %2251 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2250 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_973 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %2252 = linalg.generic {indexing_maps = [#map11, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2249, %cst_938 : tensor<2x32x1x1xf32>, tensor<f16>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %2253 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2252 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %2254 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1539, %2251 : tensor<2x32x40x64xf16>, tensor<2x32x1x1xf32>) outs(%2239 : tensor<2x32x40x64xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x40x64xf32> | |
| %2255 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2254, %2253 : tensor<2x32x40x64xf32>, tensor<2x32x1x1xf32>) outs(%2239 : tensor<2x32x40x64xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x40x64xf32> | |
| %collapsed_1540 = tensor.collapse_shape %2255 [[0], [1, 2], [3]] : tensor<2x32x40x64xf32> into tensor<2x1280x64xf32> | |
| %expanded_1541 = tensor.expand_shape %collapsed_1540 [[0], [1], [2, 3]] : tensor<2x1280x64xf32> into tensor<2x1280x8x8xf32> | |
| %expanded_1542 = tensor.expand_shape %cst_619 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
| %expanded_1543 = tensor.expand_shape %cst_618 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
| %2256 = tensor.empty() : tensor<2x1280x8x8xf32> | |
| %2257 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1541, %expanded_1543 : tensor<2x1280x8x8xf32>, tensor<1x1280x1x1xf16>) outs(%2256 : tensor<2x1280x8x8xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1280x8x8xf32> | |
| %2258 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2257, %expanded_1542 : tensor<2x1280x8x8xf32>, tensor<1x1280x1x1xf16>) outs(%2256 : tensor<2x1280x8x8xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1280x8x8xf32> | |
| %2259 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2258 : tensor<2x1280x8x8xf32>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %2260 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2259 : tensor<2x1280x8x8xf16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.negf %in : f16 | |
| %6235 = math.exp %6234 : f16 | |
| %6236 = arith.addf %6235, %cst_947 : f16 | |
| %6237 = arith.divf %cst_947, %6236 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %2261 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2260, %2259 : tensor<2x1280x8x8xf16>, tensor<2x1280x8x8xf16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %expanded_1544 = tensor.expand_shape %2261 [[0], [1, 2], [3], [4]] : tensor<2x1280x8x8xf16> into tensor<2x80x16x8x8xf16> | |
| %2262 = tensor.empty() : tensor<2x80x16x8x8xf16> | |
| %2263 = linalg.generic {indexing_maps = [#map14, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1544 : tensor<2x80x16x8x8xf16>) outs(%2262 : tensor<2x80x16x8x8xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x80x16x8x8xf16> | |
| %2264 = tensor.empty() : tensor<2x80x1x8x8xi64> | |
| %2265 = linalg.fill ins(%c0_i64 : i64) outs(%2264 : tensor<2x80x1x8x8xi64>) -> tensor<2x80x1x8x8xi64> | |
| %2266 = tensor.empty() : tensor<2x80x1x8x8xf16> | |
| %2267 = linalg.fill ins(%cst_948 : f16) outs(%2266 : tensor<2x80x1x8x8xf16>) -> tensor<2x80x1x8x8xf16> | |
| %2268:2 = linalg.generic {indexing_maps = [#map14, #map15, #map15], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%2263 : tensor<2x80x16x8x8xf16>) outs(%2267, %2265 : tensor<2x80x1x8x8xf16>, tensor<2x80x1x8x8xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x80x1x8x8xf16>, tensor<2x80x1x8x8xi64>) | |
| %2269 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%2268#0 : tensor<2x80x1x8x8xf16>) outs(%2262 : tensor<2x80x16x8x8xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x80x16x8x8xf16> | |
| %collapsed_1545 = tensor.collapse_shape %2269 [[0], [1, 2], [3], [4]] : tensor<2x80x16x8x8xf16> into tensor<2x1280x8x8xf16> | |
| %2270 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1545 : tensor<2x1280x8x8xf16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %2271 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2261, %2270 : tensor<2x1280x8x8xf16>, tensor<2x1280x8x8xf16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %2272 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2271, %cst_935 : tensor<2x1280x8x8xf16>, tensor<f16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %2273 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2272 : tensor<2x1280x8x8xf16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %2274 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2273 : tensor<2x1280x8x8xf16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %2275 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2274, %cst_935 : tensor<2x1280x8x8xf16>, tensor<f16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %2276 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2275, %2270 : tensor<2x1280x8x8xf16>, tensor<2x1280x8x8xf16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %2277 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_617 : tensor<1280x80x1x3x3xf16>) outs(%1590 : tensor<1280x80x16x3x3xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x80x16x3x3xf16> | |
| %collapsed_1546 = tensor.collapse_shape %2277 [[0], [1, 2], [3], [4]] : tensor<1280x80x16x3x3xf16> into tensor<1280x1280x3x3xf16> | |
| %2278 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_616, %collapsed_1546 : tensor<1280x1280x3x3xi8>, tensor<1280x1280x3x3xf16>) outs(%1592 : tensor<1280x1280x3x3xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x1280x3x3xf16> | |
| %padded_1547 = tensor.pad %2276 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg4: index, %arg5: index, %arg6: index, %arg7: index): | |
| tensor.yield %cst_946 : f16 | |
| } : tensor<2x1280x8x8xf16> to tensor<2x1280x10x10xf16> | |
| %2279 = linalg.generic {indexing_maps = [#map10, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_615 : tensor<1280xf16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %2280 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1547, %2278 : tensor<2x1280x10x10xf16>, tensor<1280x1280x3x3xf16>) outs(%2279 : tensor<2x1280x8x8xf16>) -> tensor<2x1280x8x8xf16> | |
| %2281 = linalg.generic {indexing_maps = [#map7, #map8], iterator_types = ["parallel", "parallel"]} ins(%cst_614 : tensor<1280x1280xf16>) outs(%25 : tensor<1280x1280xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x1280xf16> | |
| %2282 = linalg.matmul ins(%81, %2281 : tensor<2x1280xf16>, tensor<1280x1280xf16>) outs(%20 : tensor<2x1280xf16>) -> tensor<2x1280xf16> | |
| %2283 = linalg.generic {indexing_maps = [#map9, #map7, #map7], iterator_types = ["parallel", "parallel"]} ins(%cst_613, %2282 : tensor<1280xf16>, tensor<2x1280xf16>) outs(%19 : tensor<2x1280xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280xf16> | |
| %expanded_1548 = tensor.expand_shape %2283 [[0], [1, 2, 3]] : tensor<2x1280xf16> into tensor<2x1280x1x1xf16> | |
| %2284 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2280, %expanded_1548 : tensor<2x1280x8x8xf16>, tensor<2x1280x1x1xf16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %collapsed_1549 = tensor.collapse_shape %2284 [[0], [1], [2, 3]] : tensor<2x1280x8x8xf16> into tensor<2x1280x64xf16> | |
| %expanded_1550 = tensor.expand_shape %collapsed_1549 [[0], [1, 2], [3]] : tensor<2x1280x64xf16> into tensor<2x32x40x64xf16> | |
| %2285 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1550 : tensor<2x32x40x64xf16>) outs(%2239 : tensor<2x32x40x64xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x40x64xf32> | |
| %2286 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2285 : tensor<2x32x40x64xf32>) outs(%2241 : tensor<2x32x40x64xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x40x64xf64> | |
| %2287 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2286 : tensor<2x32x40x64xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %2288 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2287 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_972 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %2289 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2286, %2288 : tensor<2x32x40x64xf64>, tensor<2x32x1x1xf64>) outs(%2241 : tensor<2x32x40x64xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x40x64xf64> | |
| %2290 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2289, %2289 : tensor<2x32x40x64xf64>, tensor<2x32x40x64xf64>) outs(%2241 : tensor<2x32x40x64xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x40x64xf64> | |
| %2291 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2290 : tensor<2x32x40x64xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %2292 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2291 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_972 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %2293 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2292 : tensor<2x32x1x1xf64>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %2294 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2285 : tensor<2x32x40x64xf32>) outs(%46 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %2295 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2294 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_973 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %2296 = linalg.generic {indexing_maps = [#map11, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2293, %cst_938 : tensor<2x32x1x1xf32>, tensor<f16>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %2297 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2296 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %2298 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1550, %2295 : tensor<2x32x40x64xf16>, tensor<2x32x1x1xf32>) outs(%2239 : tensor<2x32x40x64xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x40x64xf32> | |
| %2299 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2298, %2297 : tensor<2x32x40x64xf32>, tensor<2x32x1x1xf32>) outs(%2239 : tensor<2x32x40x64xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x40x64xf32> | |
| %collapsed_1551 = tensor.collapse_shape %2299 [[0], [1, 2], [3]] : tensor<2x32x40x64xf32> into tensor<2x1280x64xf32> | |
| %expanded_1552 = tensor.expand_shape %collapsed_1551 [[0], [1], [2, 3]] : tensor<2x1280x64xf32> into tensor<2x1280x8x8xf32> | |
| %expanded_1553 = tensor.expand_shape %cst_612 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
| %expanded_1554 = tensor.expand_shape %cst_611 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
| %2300 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1552, %expanded_1554 : tensor<2x1280x8x8xf32>, tensor<1x1280x1x1xf16>) outs(%2256 : tensor<2x1280x8x8xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1280x8x8xf32> | |
| %2301 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2300, %expanded_1553 : tensor<2x1280x8x8xf32>, tensor<1x1280x1x1xf16>) outs(%2256 : tensor<2x1280x8x8xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1280x8x8xf32> | |
| %2302 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2301 : tensor<2x1280x8x8xf32>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %2303 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2302 : tensor<2x1280x8x8xf16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.negf %in : f16 | |
| %6235 = math.exp %6234 : f16 | |
| %6236 = arith.addf %6235, %cst_947 : f16 | |
| %6237 = arith.divf %cst_947, %6236 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %2304 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2303, %2302 : tensor<2x1280x8x8xf16>, tensor<2x1280x8x8xf16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %expanded_1555 = tensor.expand_shape %2304 [[0], [1, 2], [3], [4]] : tensor<2x1280x8x8xf16> into tensor<2x80x16x8x8xf16> | |
| %2305 = linalg.generic {indexing_maps = [#map14, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1555 : tensor<2x80x16x8x8xf16>) outs(%2262 : tensor<2x80x16x8x8xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x80x16x8x8xf16> | |
| %2306:2 = linalg.generic {indexing_maps = [#map14, #map15, #map15], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%2305 : tensor<2x80x16x8x8xf16>) outs(%2267, %2265 : tensor<2x80x1x8x8xf16>, tensor<2x80x1x8x8xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x80x1x8x8xf16>, tensor<2x80x1x8x8xi64>) | |
| %2307 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%2306#0 : tensor<2x80x1x8x8xf16>) outs(%2262 : tensor<2x80x16x8x8xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x80x16x8x8xf16> | |
| %collapsed_1556 = tensor.collapse_shape %2307 [[0], [1, 2], [3], [4]] : tensor<2x80x16x8x8xf16> into tensor<2x1280x8x8xf16> | |
| %2308 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1556 : tensor<2x1280x8x8xf16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %2309 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2304, %2308 : tensor<2x1280x8x8xf16>, tensor<2x1280x8x8xf16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %2310 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2309, %cst_935 : tensor<2x1280x8x8xf16>, tensor<f16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %2311 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2310 : tensor<2x1280x8x8xf16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.roundeven %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %2312 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2311 : tensor<2x1280x8x8xf16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.cmpf ult, %in, %cst_957 : f16 | |
| %6235 = arith.select %6234, %cst_957, %in : f16 | |
| %6236 = arith.cmpf ugt, %6235, %cst_958 : f16 | |
| %6237 = arith.select %6236, %cst_958, %6235 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %2313 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2312, %cst_935 : tensor<2x1280x8x8xf16>, tensor<f16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.subf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %2314 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2313, %2308 : tensor<2x1280x8x8xf16>, tensor<2x1280x8x8xf16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %2315 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_610 : tensor<1280x80x1x3x3xf16>) outs(%1590 : tensor<1280x80x16x3x3xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<1280x80x16x3x3xf16> | |
| %collapsed_1557 = tensor.collapse_shape %2315 [[0], [1, 2], [3], [4]] : tensor<1280x80x16x3x3xf16> into tensor<1280x1280x3x3xf16> | |
| %2316 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_609, %collapsed_1557 : tensor<1280x1280x3x3xi8>, tensor<1280x1280x3x3xf16>) outs(%1592 : tensor<1280x1280x3x3xf16>) { | |
| ^bb0(%in: i8, %in_2625: f16, %out: f16): | |
| %6234 = arith.sitofp %in : i8 to f16 | |
| %6235 = arith.mulf %6234, %in_2625 : f16 | |
| linalg.yield %6235 : f16 | |
| } -> tensor<1280x1280x3x3xf16> | |
| %padded_1558 = tensor.pad %2314 low[0, 0, 1, 1] high[0, 0, 1, 1] { | |
| ^bb0(%arg4: index, %arg5: index, %arg6: index, %arg7: index): | |
| tensor.yield %cst_946 : f16 | |
| } : tensor<2x1280x8x8xf16> to tensor<2x1280x10x10xf16> | |
| %2317 = linalg.generic {indexing_maps = [#map10, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_608 : tensor<1280xf16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %2318 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1558, %2316 : tensor<2x1280x10x10xf16>, tensor<1280x1280x3x3xf16>) outs(%2317 : tensor<2x1280x8x8xf16>) -> tensor<2x1280x8x8xf16> | |
| %2319 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2238, %2318 : tensor<2x1280x8x8xf16>, tensor<2x1280x8x8xf16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.addf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %2320 = linalg.generic {indexing_maps = [#map1, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2319, %cst_924 : tensor<2x1280x8x8xf16>, tensor<f16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.divf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %collapsed_1559 = tensor.collapse_shape %2320 [[0], [1], [2, 3]] : tensor<2x1280x8x8xf16> into tensor<2x1280x64xf16> | |
| %expanded_1560 = tensor.expand_shape %collapsed_1559 [[0], [1, 2], [3]] : tensor<2x1280x64xf16> into tensor<2x32x40x64xf16> | |
| %2321 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1560 : tensor<2x32x40x64xf16>) outs(%2239 : tensor<2x32x40x64xf32>) { | |
| ^bb0(%in: f16, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x40x64xf32> | |
| %2322 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2321 : tensor<2x32x40x64xf32>) outs(%2241 : tensor<2x32x40x64xf64>) { | |
| ^bb0(%in: f32, %out: f64): | |
| %6234 = arith.extf %in : f32 to f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x40x64xf64> | |
| %2323 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2322 : tensor<2x32x40x64xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %2324 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2323 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_972 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %2325 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2322, %2324 : tensor<2x32x40x64xf64>, tensor<2x32x1x1xf64>) outs(%2241 : tensor<2x32x40x64xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.subf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x40x64xf64> | |
| %2326 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2325, %2325 : tensor<2x32x40x64xf64>, tensor<2x32x40x64xf64>) outs(%2241 : tensor<2x32x40x64xf64>) { | |
| ^bb0(%in: f64, %in_2625: f64, %out: f64): | |
| %6234 = arith.mulf %in, %in_2625 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x40x64xf64> | |
| %2327 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2326 : tensor<2x32x40x64xf64>) outs(%37 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.addf %in, %out : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %2328 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2327 : tensor<2x32x1x1xf64>) outs(%36 : tensor<2x32x1x1xf64>) { | |
| ^bb0(%in: f64, %out: f64): | |
| %6234 = arith.divf %in, %cst_972 : f64 | |
| linalg.yield %6234 : f64 | |
| } -> tensor<2x32x1x1xf64> | |
| %2329 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2328 : tensor<2x32x1x1xf64>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %6234 = arith.truncf %in : f64 to f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %2330 = linalg.generic {indexing_maps = [#map1, #map11], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2321 : tensor<2x32x40x64xf32>) outs(%46 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.addf %in, %out : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %2331 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2330 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = arith.divf %in, %cst_973 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %2332 = linalg.generic {indexing_maps = [#map11, #map12, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2329, %cst_938 : tensor<2x32x1x1xf32>, tensor<f16>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %2333 = linalg.generic {indexing_maps = [#map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2332 : tensor<2x32x1x1xf32>) outs(%44 : tensor<2x32x1x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %6234 = math.rsqrt %in : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x1x1xf32> | |
| %2334 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1560, %2331 : tensor<2x32x40x64xf16>, tensor<2x32x1x1xf32>) outs(%2239 : tensor<2x32x40x64xf32>) { | |
| ^bb0(%in: f16, %in_2625: f32, %out: f32): | |
| %6234 = arith.extf %in : f16 to f32 | |
| %6235 = arith.subf %6234, %in_2625 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x32x40x64xf32> | |
| %2335 = linalg.generic {indexing_maps = [#map1, #map11, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2334, %2333 : tensor<2x32x40x64xf32>, tensor<2x32x1x1xf32>) outs(%2239 : tensor<2x32x40x64xf32>) { | |
| ^bb0(%in: f32, %in_2625: f32, %out: f32): | |
| %6234 = arith.mulf %in, %in_2625 : f32 | |
| linalg.yield %6234 : f32 | |
| } -> tensor<2x32x40x64xf32> | |
| %collapsed_1561 = tensor.collapse_shape %2335 [[0], [1, 2], [3]] : tensor<2x32x40x64xf32> into tensor<2x1280x64xf32> | |
| %expanded_1562 = tensor.expand_shape %collapsed_1561 [[0], [1], [2, 3]] : tensor<2x1280x64xf32> into tensor<2x1280x8x8xf32> | |
| %expanded_1563 = tensor.expand_shape %cst_607 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
| %expanded_1564 = tensor.expand_shape %cst_606 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
| %2336 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1562, %expanded_1564 : tensor<2x1280x8x8xf32>, tensor<1x1280x1x1xf16>) outs(%2256 : tensor<2x1280x8x8xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.mulf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1280x8x8xf32> | |
| %2337 = linalg.generic {indexing_maps = [#map1, #map13, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2336, %expanded_1563 : tensor<2x1280x8x8xf32>, tensor<1x1280x1x1xf16>) outs(%2256 : tensor<2x1280x8x8xf32>) { | |
| ^bb0(%in: f32, %in_2625: f16, %out: f32): | |
| %6234 = arith.extf %in_2625 : f16 to f32 | |
| %6235 = arith.addf %in, %6234 : f32 | |
| linalg.yield %6235 : f32 | |
| } -> tensor<2x1280x8x8xf32> | |
| %2338 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2337 : tensor<2x1280x8x8xf32>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f32, %out: f16): | |
| %6234 = arith.truncf %in : f32 to f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %2339 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2338 : tensor<2x1280x8x8xf16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.negf %in : f16 | |
| %6235 = math.exp %6234 : f16 | |
| %6236 = arith.addf %6235, %cst_947 : f16 | |
| %6237 = arith.divf %cst_947, %6236 : f16 | |
| linalg.yield %6237 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %2340 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2339, %2338 : tensor<2x1280x8x8xf16>, tensor<2x1280x8x8xf16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %in_2625: f16, %out: f16): | |
| %6234 = arith.mulf %in, %in_2625 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %expanded_1565 = tensor.expand_shape %2340 [[0], [1, 2], [3], [4]] : tensor<2x1280x8x8xf16> into tensor<2x80x16x8x8xf16> | |
| %2341 = linalg.generic {indexing_maps = [#map14, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1565 : tensor<2x80x16x8x8xf16>) outs(%2262 : tensor<2x80x16x8x8xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = math.absf %in : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x80x16x8x8xf16> | |
| %2342:2 = linalg.generic {indexing_maps = [#map14, #map15, #map15], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%2341 : tensor<2x80x16x8x8xf16>) outs(%2267, %2265 : tensor<2x80x1x8x8xf16>, tensor<2x80x1x8x8xi64>) { | |
| ^bb0(%in: f16, %out: f16, %out_2625: i64): | |
| %6234 = linalg.index 2 : index | |
| %6235 = arith.index_cast %6234 : index to i64 | |
| %6236 = arith.maxf %in, %out : f16 | |
| %6237 = arith.cmpf ogt, %in, %out : f16 | |
| %6238 = arith.select %6237, %6235, %out_2625 : i64 | |
| linalg.yield %6236, %6238 : f16, i64 | |
| } -> (tensor<2x80x1x8x8xf16>, tensor<2x80x1x8x8xi64>) | |
| %2343 = linalg.generic {indexing_maps = [#map15, #map14], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%2342#0 : tensor<2x80x1x8x8xf16>) outs(%2262 : tensor<2x80x16x8x8xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| linalg.yield %in : f16 | |
| } -> tensor<2x80x16x8x8xf16> | |
| %collapsed_1566 = tensor.collapse_shape %2343 [[0], [1, 2], [3], [4]] : tensor<2x80x16x8x8xf16> into tensor<2x1280x8x8xf16> | |
| %2344 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1566 : tensor<2x1280x8x8xf16>) outs(%2236 : tensor<2x1280x8x8xf16>) { | |
| ^bb0(%in: f16, %out: f16): | |
| %6234 = arith.divf %in, %cst_956 : f16 | |
| linalg.yield %6234 : f16 | |
| } -> tensor<2x1280x8x8xf16> | |
| %2345 = linalg.generic {indexing_maps = [#map1, #map1, #map1], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2340, %2344 : tensor<2x1280x8x8xf16>, tensor<2x1280x8x8xf16>) outs(%2 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment