Created
February 14, 2023 17:18
-
-
Save pashu123/88d366e96b5835cec8a1c43d0b180476 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) -> (0)> | |
#map1 = affine_map<(d0) -> (d0)> | |
#map2 = affine_map<(d0) -> ()> | |
#map3 = affine_map<(d0, d1) -> (d0, 0)> | |
#map4 = affine_map<(d0, d1) -> (0, d1)> | |
#map5 = affine_map<(d0, d1) -> (d0, d1)> | |
#map6 = affine_map<(d0, d1) -> (d1, d0)> | |
#map7 = affine_map<(d0, d1) -> (d1)> | |
#map8 = affine_map<(d0, d1, d2, d3) -> (d1)> | |
#map9 = affine_map<(d0, d1, d2, d3) -> (d0, d1, d2, d3)> | |
#map10 = affine_map<(d0, d1, d2, d3) -> (d0, d1, 0, 0)> | |
#map11 = affine_map<(d0, d1, d2, d3) -> ()> | |
#map12 = affine_map<(d0, d1, d2, d3) -> (0, d1, 0, 0)> | |
#map13 = affine_map<(d0, d1, d2, d3, d4) -> (d0, d1, d2, d3, d4)> | |
#map14 = affine_map<(d0, d1, d2, d3, d4) -> (d0, d1, 0, d3, d4)> | |
#map15 = affine_map<(d0, d1, d2, d3) -> (d0, d2, d3, d1)> | |
#map16 = affine_map<(d0, d1, d2, d3) -> (d0, d1, d2, 0)> | |
#map17 = affine_map<(d0, d1, d2) -> (d0, d1, d2)> | |
#map18 = affine_map<(d0, d1, d2) -> ()> | |
#map19 = affine_map<(d0, d1, d2) -> (d0, d1, 0)> | |
#map20 = affine_map<(d0, d1, d2) -> (d2)> | |
#map21 = affine_map<(d0, d1, d2, d3) -> (d0, d2, d1, d3)> | |
#map22 = affine_map<(d0, d1, d2) -> (d0, d2, d1)> | |
#map23 = affine_map<(d0, d1, d2, d3) -> (d0, d3, d1, d2)> | |
#map24 = affine_map<(d0, d1, d2, d3, d4) -> (d0, d1, 0, 0, 0)> | |
#map25 = 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<2x4x96x96xf16>, %arg1: tensor<1xf32>, %arg2: tensor<4x77x1024xf16>, %arg3: tensor<f32>) -> tensor<2x96x96xf16> { | |
%cst = arith.constant dense<[-3.863530e-02, 1.899720e-02, -1.201630e-02, -4.989620e-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 -3.40282347E+38 : f32 | |
%cst_950 = arith.constant 2.000000e+00 : f16 | |
%cst_951 = arith.constant 5.000000e-01 : f16 | |
%cst_952 = arith.constant 0.000000e+00 : f64 | |
%cst_953 = arith.constant 1.000000e-05 : f64 | |
%cst_954 = arith.constant 0.000000e+00 : f32 | |
%cst_955 = arith.constant 1.600000e+02 : f32 | |
%cst_956 = arith.constant 9.216000e+04 : f64 | |
%cst_957 = arith.constant 9.216000e+04 : f32 | |
%cst_958 = arith.constant 1.280000e+02 : f16 | |
%cst_959 = arith.constant -1.280000e+02 : f16 | |
%cst_960 = arith.constant 1.270000e+02 : f16 | |
%cst_961 = arith.constant 3.200000e+02 : f16 | |
%cst_962 = arith.constant 1.250000e-01 : f32 | |
%cst_963 = arith.constant 2.304000e+04 : f64 | |
%cst_964 = arith.constant 2.304000e+04 : f32 | |
%cst_965 = arith.constant 4.608000e+04 : f64 | |
%cst_966 = arith.constant 4.608000e+04 : f32 | |
%cst_967 = arith.constant 6.400000e+02 : f16 | |
%cst_968 = arith.constant 1.152000e+04 : f64 | |
%cst_969 = arith.constant 1.152000e+04 : f32 | |
%cst_970 = arith.constant 1.280000e+03 : f16 | |
%cst_971 = arith.constant 5.760000e+03 : f64 | |
%cst_972 = arith.constant 5.760000e+03 : f32 | |
%cst_973 = arith.constant 3.456000e+04 : f64 | |
%cst_974 = arith.constant 3.456000e+04 : f32 | |
%cst_975 = arith.constant 1.382400e+05 : f64 | |
%cst_976 = arith.constant 1.382400e+05 : f32 | |
%cst_977 = arith.constant 6.912000e+04 : f64 | |
%cst_978 = arith.constant 6.912000e+04 : f32 | |
%cst_979 = arith.constant 2.764800e+05 : f64 | |
%cst_980 = arith.constant 2.764800e+05 : f32 | |
%cst_981 = arith.constant 1.843200e+05 : f64 | |
%cst_982 = arith.constant 1.843200e+05 : f32 | |
%c0_i64 = arith.constant 0 : i64 | |
%c1 = arith.constant 1 : index | |
%c0 = arith.constant 0 : index | |
%c2 = arith.constant 2 : index | |
%0 = tensor.empty() : tensor<4x4x96x96xf16> | |
%inserted_slice = tensor.insert_slice %arg0 into %0[0, 0, 0, 0] [2, 4, 96, 96] [1, 1, 1, 1] : tensor<2x4x96x96xf16> into tensor<4x4x96x96xf16> | |
%inserted_slice_983 = tensor.insert_slice %arg0 into %inserted_slice[2, 0, 0, 0] [2, 4, 96, 96] [1, 1, 1, 1] : tensor<2x4x96x96xf16> into tensor<4x4x96x96xf16> | |
%1 = tensor.empty() : tensor<4xf32> | |
%2 = linalg.generic {indexing_maps = [#map, #map1], iterator_types = ["parallel"]} ins(%arg1 : tensor<1xf32>) outs(%1 : tensor<4xf32>) { | |
^bb0(%in: f32, %out: f32): | |
linalg.yield %in : f32 | |
} -> tensor<4xf32> | |
%3 = tensor.empty() : tensor<160xf32> | |
%4 = linalg.generic {indexing_maps = [#map1], iterator_types = ["parallel"]} outs(%3 : tensor<160xf32>) { | |
^bb0(%out: f32): | |
%6092 = linalg.index 0 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.sitofp %6093 : i64 to f32 | |
%6095 = arith.addf %6094, %cst_954 : f32 | |
linalg.yield %6095 : f32 | |
} -> tensor<160xf32> | |
%5 = linalg.generic {indexing_maps = [#map1, #map2, #map1], iterator_types = ["parallel"]} ins(%4, %cst_945 : tensor<160xf32>, tensor<f16>) outs(%3 : tensor<160xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.mulf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<160xf32> | |
%6 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel"]} ins(%5 : tensor<160xf32>) outs(%3 : tensor<160xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.divf %in, %cst_955 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<160xf32> | |
%7 = linalg.generic {indexing_maps = [#map1, #map1], iterator_types = ["parallel"]} ins(%6 : tensor<160xf32>) outs(%3 : tensor<160xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.exp %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<160xf32> | |
%expanded = tensor.expand_shape %2 [[0, 1]] : tensor<4xf32> into tensor<4x1xf32> | |
%expanded_984 = tensor.expand_shape %7 [[0, 1]] : tensor<160xf32> into tensor<1x160xf32> | |
%8 = tensor.empty() : tensor<4x160xf32> | |
%9 = linalg.generic {indexing_maps = [#map3, #map4, #map5], iterator_types = ["parallel", "parallel"]} ins(%expanded, %expanded_984 : tensor<4x1xf32>, tensor<1x160xf32>) outs(%8 : tensor<4x160xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x160xf32> | |
%10 = linalg.generic {indexing_maps = [#map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%9 : tensor<4x160xf32>) outs(%8 : tensor<4x160xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.sin %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x160xf32> | |
%11 = linalg.generic {indexing_maps = [#map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%9 : tensor<4x160xf32>) outs(%8 : tensor<4x160xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.cos %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x160xf32> | |
%12 = tensor.empty() : tensor<4x320xf32> | |
%inserted_slice_985 = tensor.insert_slice %10 into %12[0, 0] [4, 160] [1, 1] : tensor<4x160xf32> into tensor<4x320xf32> | |
%inserted_slice_986 = tensor.insert_slice %11 into %inserted_slice_985[0, 160] [4, 160] [1, 1] : tensor<4x160xf32> into tensor<4x320xf32> | |
%extracted_slice = tensor.extract_slice %inserted_slice_986[0, 0] [4, 160] [1, 1] : tensor<4x320xf32> to tensor<4x160xf32> | |
%inserted_slice_987 = tensor.insert_slice %11 into %12[0, 0] [4, 160] [1, 1] : tensor<4x160xf32> into tensor<4x320xf32> | |
%inserted_slice_988 = tensor.insert_slice %extracted_slice into %inserted_slice_987[0, 160] [4, 160] [1, 1] : tensor<4x160xf32> into tensor<4x320xf32> | |
%13 = tensor.empty() : tensor<4x320xf16> | |
%14 = linalg.generic {indexing_maps = [#map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%inserted_slice_988 : tensor<4x320xf32>) outs(%13 : tensor<4x320xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320xf16> | |
%15 = tensor.empty() : tensor<320x1280xf16> | |
%16 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_944 : tensor<1280x320xf16>) outs(%15 : tensor<320x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x1280xf16> | |
%17 = tensor.empty() : tensor<4x1280xf16> | |
%18 = linalg.fill ins(%cst_946 : f16) outs(%17 : tensor<4x1280xf16>) -> tensor<4x1280xf16> | |
%19 = linalg.matmul ins(%14, %16 : tensor<4x320xf16>, tensor<320x1280xf16>) outs(%18 : tensor<4x1280xf16>) -> tensor<4x1280xf16> | |
%20 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_943, %19 : tensor<1280xf16>, tensor<4x1280xf16>) outs(%17 : tensor<4x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280xf16> | |
%21 = linalg.generic {indexing_maps = [#map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%20 : tensor<4x1280xf16>) outs(%17 : tensor<4x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.negf %in : f16 | |
%6093 = math.exp %6092 : f16 | |
%6094 = arith.addf %6093, %cst_947 : f16 | |
%6095 = arith.divf %cst_947, %6094 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x1280xf16> | |
%22 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%21, %20 : tensor<4x1280xf16>, tensor<4x1280xf16>) outs(%17 : tensor<4x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280xf16> | |
%23 = tensor.empty() : tensor<1280x1280xf16> | |
%24 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_942 : tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x1280xf16> | |
%25 = linalg.matmul ins(%22, %24 : tensor<4x1280xf16>, tensor<1280x1280xf16>) outs(%18 : tensor<4x1280xf16>) -> tensor<4x1280xf16> | |
%26 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_941, %25 : tensor<1280xf16>, tensor<4x1280xf16>) outs(%17 : tensor<4x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280xf16> | |
%padded = tensor.pad %inserted_slice_983 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<4x4x96x96xf16> to tensor<4x4x98x98xf16> | |
%27 = tensor.empty() : tensor<4x320x96x96xf16> | |
%28 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_939 : tensor<320xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x320x96x96xf16> | |
%29 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded, %cst_940 : tensor<4x4x98x98xf16>, tensor<320x4x3x3xf16>) outs(%28 : tensor<4x320x96x96xf16>) -> tensor<4x320x96x96xf16> | |
%collapsed = tensor.collapse_shape %29 [[0], [1], [2, 3]] : tensor<4x320x96x96xf16> into tensor<4x320x9216xf16> | |
%expanded_989 = tensor.expand_shape %collapsed [[0], [1, 2], [3]] : tensor<4x320x9216xf16> into tensor<4x32x10x9216xf16> | |
%30 = tensor.empty() : tensor<4x32x10x9216xf32> | |
%31 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_989 : tensor<4x32x10x9216xf16>) outs(%30 : tensor<4x32x10x9216xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x10x9216xf32> | |
%32 = tensor.empty() : tensor<4x32x10x9216xf64> | |
%33 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%31 : tensor<4x32x10x9216xf32>) outs(%32 : tensor<4x32x10x9216xf64>) { | |
^bb0(%in: f32, %out: f64): | |
%6092 = arith.extf %in : f32 to f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x10x9216xf64> | |
%34 = tensor.empty() : tensor<4x32x1x1xf64> | |
%35 = linalg.fill ins(%cst_952 : f64) outs(%34 : tensor<4x32x1x1xf64>) -> tensor<4x32x1x1xf64> | |
%36 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%33 : tensor<4x32x10x9216xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%37 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%36 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_956 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%38 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%33, %37 : tensor<4x32x10x9216xf64>, tensor<4x32x1x1xf64>) outs(%32 : tensor<4x32x10x9216xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.subf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x10x9216xf64> | |
%39 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%38, %38 : tensor<4x32x10x9216xf64>, tensor<4x32x10x9216xf64>) outs(%32 : tensor<4x32x10x9216xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.mulf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x10x9216xf64> | |
%40 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%39 : tensor<4x32x10x9216xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%41 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%40 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_956 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%42 = tensor.empty() : tensor<4x32x1x1xf32> | |
%43 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%41 : tensor<4x32x1x1xf64>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f64, %out: f32): | |
%6092 = arith.truncf %in : f64 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%44 = linalg.fill ins(%cst_954 : f32) outs(%42 : tensor<4x32x1x1xf32>) -> tensor<4x32x1x1xf32> | |
%45 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%31 : tensor<4x32x10x9216xf32>) outs(%44 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%46 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%45 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.divf %in, %cst_957 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%47 = linalg.generic {indexing_maps = [#map10, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%43, %cst_938 : tensor<4x32x1x1xf32>, tensor<f16>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%48 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%47 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.rsqrt %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%49 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_989, %46 : tensor<4x32x10x9216xf16>, tensor<4x32x1x1xf32>) outs(%30 : tensor<4x32x10x9216xf32>) { | |
^bb0(%in: f16, %in_2626: f32, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
%6093 = arith.subf %6092, %in_2626 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x10x9216xf32> | |
%50 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%49, %48 : tensor<4x32x10x9216xf32>, tensor<4x32x1x1xf32>) outs(%30 : tensor<4x32x10x9216xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x10x9216xf32> | |
%collapsed_990 = tensor.collapse_shape %50 [[0], [1, 2], [3]] : tensor<4x32x10x9216xf32> into tensor<4x320x9216xf32> | |
%expanded_991 = tensor.expand_shape %collapsed_990 [[0], [1], [2, 3]] : tensor<4x320x9216xf32> into tensor<4x320x96x96xf32> | |
%expanded_992 = tensor.expand_shape %cst_937 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
%expanded_993 = tensor.expand_shape %cst_936 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
%51 = tensor.empty() : tensor<4x320x96x96xf32> | |
%52 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_991, %expanded_993 : tensor<4x320x96x96xf32>, tensor<1x320x1x1xf16>) outs(%51 : tensor<4x320x96x96xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.mulf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x320x96x96xf32> | |
%53 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%52, %expanded_992 : tensor<4x320x96x96xf32>, tensor<1x320x1x1xf16>) outs(%51 : tensor<4x320x96x96xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x320x96x96xf32> | |
%54 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%53 : tensor<4x320x96x96xf32>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%55 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%54 : tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.negf %in : f16 | |
%6093 = math.exp %6092 : f16 | |
%6094 = arith.addf %6093, %cst_947 : f16 | |
%6095 = arith.divf %cst_947, %6094 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%56 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%55, %54 : tensor<4x320x96x96xf16>, tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%expanded_994 = tensor.expand_shape %56 [[0], [1, 2], [3], [4]] : tensor<4x320x96x96xf16> into tensor<4x20x16x96x96xf16> | |
%57 = tensor.empty() : tensor<4x20x16x96x96xf16> | |
%58 = linalg.generic {indexing_maps = [#map13, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_994 : tensor<4x20x16x96x96xf16>) outs(%57 : tensor<4x20x16x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x20x16x96x96xf16> | |
%59 = tensor.empty() : tensor<4x20x1x96x96xi64> | |
%60 = linalg.fill ins(%c0_i64 : i64) outs(%59 : tensor<4x20x1x96x96xi64>) -> tensor<4x20x1x96x96xi64> | |
%61 = tensor.empty() : tensor<4x20x1x96x96xf16> | |
%62 = linalg.fill ins(%cst_948 : f16) outs(%61 : tensor<4x20x1x96x96xf16>) -> tensor<4x20x1x96x96xf16> | |
%63:2 = linalg.generic {indexing_maps = [#map13, #map14, #map14], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%58 : tensor<4x20x16x96x96xf16>) outs(%62, %60 : tensor<4x20x1x96x96xf16>, tensor<4x20x1x96x96xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x20x1x96x96xf16>, tensor<4x20x1x96x96xi64>) | |
%64 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%63#0 : tensor<4x20x1x96x96xf16>) outs(%57 : tensor<4x20x16x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x20x16x96x96xf16> | |
%collapsed_995 = tensor.collapse_shape %64 [[0], [1, 2], [3], [4]] : tensor<4x20x16x96x96xf16> into tensor<4x320x96x96xf16> | |
%65 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_995 : tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%66 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%56, %65 : tensor<4x320x96x96xf16>, tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%67 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%66, %cst_935 : tensor<4x320x96x96xf16>, tensor<f16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%68 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%67 : tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%69 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%68 : tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%70 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%69, %cst_935 : tensor<4x320x96x96xf16>, tensor<f16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%71 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%70, %65 : tensor<4x320x96x96xf16>, tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%72 = tensor.empty() : tensor<320x20x16x3x3xf16> | |
%73 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_934 : tensor<320x20x1x3x3xf16>) outs(%72 : tensor<320x20x16x3x3xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x20x16x3x3xf16> | |
%collapsed_996 = tensor.collapse_shape %73 [[0], [1, 2], [3], [4]] : tensor<320x20x16x3x3xf16> into tensor<320x320x3x3xf16> | |
%74 = tensor.empty() : tensor<320x320x3x3xf16> | |
%75 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_933, %collapsed_996 : tensor<320x320x3x3xi8>, tensor<320x320x3x3xf16>) outs(%74 : tensor<320x320x3x3xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x320x3x3xf16> | |
%padded_997 = tensor.pad %71 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<4x320x96x96xf16> to tensor<4x320x98x98xf16> | |
%76 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_932 : tensor<320xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x320x96x96xf16> | |
%77 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_997, %75 : tensor<4x320x98x98xf16>, tensor<320x320x3x3xf16>) outs(%76 : tensor<4x320x96x96xf16>) -> tensor<4x320x96x96xf16> | |
%78 = linalg.generic {indexing_maps = [#map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%26 : tensor<4x1280xf16>) outs(%17 : tensor<4x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.negf %in : f16 | |
%6093 = math.exp %6092 : f16 | |
%6094 = arith.addf %6093, %cst_947 : f16 | |
%6095 = arith.divf %cst_947, %6094 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x1280xf16> | |
%79 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%78, %26 : tensor<4x1280xf16>, tensor<4x1280xf16>) outs(%17 : tensor<4x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280xf16> | |
%80 = tensor.empty() : tensor<1280x320xf16> | |
%81 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_931 : tensor<320x1280xf16>) outs(%80 : tensor<1280x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x320xf16> | |
%82 = linalg.fill ins(%cst_946 : f16) outs(%13 : tensor<4x320xf16>) -> tensor<4x320xf16> | |
%83 = linalg.matmul ins(%79, %81 : tensor<4x1280xf16>, tensor<1280x320xf16>) outs(%82 : tensor<4x320xf16>) -> tensor<4x320xf16> | |
%84 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_930, %83 : tensor<320xf16>, tensor<4x320xf16>) outs(%13 : tensor<4x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320xf16> | |
%expanded_998 = tensor.expand_shape %84 [[0], [1, 2, 3]] : tensor<4x320xf16> into tensor<4x320x1x1xf16> | |
%85 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%77, %expanded_998 : tensor<4x320x96x96xf16>, tensor<4x320x1x1xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%collapsed_999 = tensor.collapse_shape %85 [[0], [1], [2, 3]] : tensor<4x320x96x96xf16> into tensor<4x320x9216xf16> | |
%expanded_1000 = tensor.expand_shape %collapsed_999 [[0], [1, 2], [3]] : tensor<4x320x9216xf16> into tensor<4x32x10x9216xf16> | |
%86 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1000 : tensor<4x32x10x9216xf16>) outs(%30 : tensor<4x32x10x9216xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x10x9216xf32> | |
%87 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%86 : tensor<4x32x10x9216xf32>) outs(%32 : tensor<4x32x10x9216xf64>) { | |
^bb0(%in: f32, %out: f64): | |
%6092 = arith.extf %in : f32 to f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x10x9216xf64> | |
%88 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%87 : tensor<4x32x10x9216xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%89 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%88 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_956 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%90 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%87, %89 : tensor<4x32x10x9216xf64>, tensor<4x32x1x1xf64>) outs(%32 : tensor<4x32x10x9216xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.subf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x10x9216xf64> | |
%91 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%90, %90 : tensor<4x32x10x9216xf64>, tensor<4x32x10x9216xf64>) outs(%32 : tensor<4x32x10x9216xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.mulf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x10x9216xf64> | |
%92 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%91 : tensor<4x32x10x9216xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%93 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%92 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_956 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%94 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%93 : tensor<4x32x1x1xf64>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f64, %out: f32): | |
%6092 = arith.truncf %in : f64 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%95 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%86 : tensor<4x32x10x9216xf32>) outs(%44 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%96 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%95 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.divf %in, %cst_957 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%97 = linalg.generic {indexing_maps = [#map10, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%94, %cst_938 : tensor<4x32x1x1xf32>, tensor<f16>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%98 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%97 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.rsqrt %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%99 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1000, %96 : tensor<4x32x10x9216xf16>, tensor<4x32x1x1xf32>) outs(%30 : tensor<4x32x10x9216xf32>) { | |
^bb0(%in: f16, %in_2626: f32, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
%6093 = arith.subf %6092, %in_2626 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x10x9216xf32> | |
%100 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%99, %98 : tensor<4x32x10x9216xf32>, tensor<4x32x1x1xf32>) outs(%30 : tensor<4x32x10x9216xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x10x9216xf32> | |
%collapsed_1001 = tensor.collapse_shape %100 [[0], [1, 2], [3]] : tensor<4x32x10x9216xf32> into tensor<4x320x9216xf32> | |
%expanded_1002 = tensor.expand_shape %collapsed_1001 [[0], [1], [2, 3]] : tensor<4x320x9216xf32> into tensor<4x320x96x96xf32> | |
%expanded_1003 = tensor.expand_shape %cst_929 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
%expanded_1004 = tensor.expand_shape %cst_928 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
%101 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1002, %expanded_1004 : tensor<4x320x96x96xf32>, tensor<1x320x1x1xf16>) outs(%51 : tensor<4x320x96x96xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.mulf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x320x96x96xf32> | |
%102 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%101, %expanded_1003 : tensor<4x320x96x96xf32>, tensor<1x320x1x1xf16>) outs(%51 : tensor<4x320x96x96xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x320x96x96xf32> | |
%103 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%102 : tensor<4x320x96x96xf32>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%104 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%103 : tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.negf %in : f16 | |
%6093 = math.exp %6092 : f16 | |
%6094 = arith.addf %6093, %cst_947 : f16 | |
%6095 = arith.divf %cst_947, %6094 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%105 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%104, %103 : tensor<4x320x96x96xf16>, tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%expanded_1005 = tensor.expand_shape %105 [[0], [1, 2], [3], [4]] : tensor<4x320x96x96xf16> into tensor<4x20x16x96x96xf16> | |
%106 = linalg.generic {indexing_maps = [#map13, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1005 : tensor<4x20x16x96x96xf16>) outs(%57 : tensor<4x20x16x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x20x16x96x96xf16> | |
%107:2 = linalg.generic {indexing_maps = [#map13, #map14, #map14], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%106 : tensor<4x20x16x96x96xf16>) outs(%62, %60 : tensor<4x20x1x96x96xf16>, tensor<4x20x1x96x96xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x20x1x96x96xf16>, tensor<4x20x1x96x96xi64>) | |
%108 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%107#0 : tensor<4x20x1x96x96xf16>) outs(%57 : tensor<4x20x16x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x20x16x96x96xf16> | |
%collapsed_1006 = tensor.collapse_shape %108 [[0], [1, 2], [3], [4]] : tensor<4x20x16x96x96xf16> into tensor<4x320x96x96xf16> | |
%109 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1006 : tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%110 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%105, %109 : tensor<4x320x96x96xf16>, tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%111 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%110, %cst_935 : tensor<4x320x96x96xf16>, tensor<f16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%112 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%111 : tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%113 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%112 : tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%114 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%113, %cst_935 : tensor<4x320x96x96xf16>, tensor<f16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%115 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%114, %109 : tensor<4x320x96x96xf16>, tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%116 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_927 : tensor<320x20x1x3x3xf16>) outs(%72 : tensor<320x20x16x3x3xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x20x16x3x3xf16> | |
%collapsed_1007 = tensor.collapse_shape %116 [[0], [1, 2], [3], [4]] : tensor<320x20x16x3x3xf16> into tensor<320x320x3x3xf16> | |
%117 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_926, %collapsed_1007 : tensor<320x320x3x3xi8>, tensor<320x320x3x3xf16>) outs(%74 : tensor<320x320x3x3xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x320x3x3xf16> | |
%padded_1008 = tensor.pad %115 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<4x320x96x96xf16> to tensor<4x320x98x98xf16> | |
%118 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_925 : tensor<320xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x320x96x96xf16> | |
%119 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1008, %117 : tensor<4x320x98x98xf16>, tensor<320x320x3x3xf16>) outs(%118 : tensor<4x320x96x96xf16>) -> tensor<4x320x96x96xf16> | |
%120 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%29, %119 : tensor<4x320x96x96xf16>, tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%121 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%120, %cst_924 : tensor<4x320x96x96xf16>, tensor<f16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%collapsed_1009 = tensor.collapse_shape %121 [[0], [1], [2, 3]] : tensor<4x320x96x96xf16> into tensor<4x320x9216xf16> | |
%expanded_1010 = tensor.expand_shape %collapsed_1009 [[0], [1, 2], [3]] : tensor<4x320x9216xf16> into tensor<4x32x10x9216xf16> | |
%122 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1010 : tensor<4x32x10x9216xf16>) outs(%30 : tensor<4x32x10x9216xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x10x9216xf32> | |
%123 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%122 : tensor<4x32x10x9216xf32>) outs(%32 : tensor<4x32x10x9216xf64>) { | |
^bb0(%in: f32, %out: f64): | |
%6092 = arith.extf %in : f32 to f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x10x9216xf64> | |
%124 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%123 : tensor<4x32x10x9216xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%125 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%124 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_956 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%126 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%123, %125 : tensor<4x32x10x9216xf64>, tensor<4x32x1x1xf64>) outs(%32 : tensor<4x32x10x9216xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.subf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x10x9216xf64> | |
%127 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%126, %126 : tensor<4x32x10x9216xf64>, tensor<4x32x10x9216xf64>) outs(%32 : tensor<4x32x10x9216xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.mulf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x10x9216xf64> | |
%128 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%127 : tensor<4x32x10x9216xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%129 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%128 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_956 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%130 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%129 : tensor<4x32x1x1xf64>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f64, %out: f32): | |
%6092 = arith.truncf %in : f64 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%131 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%122 : tensor<4x32x10x9216xf32>) outs(%44 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%132 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%131 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.divf %in, %cst_957 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%133 = linalg.generic {indexing_maps = [#map10, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%130, %cst_923 : tensor<4x32x1x1xf32>, tensor<f16>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%134 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%133 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.rsqrt %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%135 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1010, %132 : tensor<4x32x10x9216xf16>, tensor<4x32x1x1xf32>) outs(%30 : tensor<4x32x10x9216xf32>) { | |
^bb0(%in: f16, %in_2626: f32, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
%6093 = arith.subf %6092, %in_2626 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x10x9216xf32> | |
%136 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%135, %134 : tensor<4x32x10x9216xf32>, tensor<4x32x1x1xf32>) outs(%30 : tensor<4x32x10x9216xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x10x9216xf32> | |
%collapsed_1011 = tensor.collapse_shape %136 [[0], [1, 2], [3]] : tensor<4x32x10x9216xf32> into tensor<4x320x9216xf32> | |
%expanded_1012 = tensor.expand_shape %collapsed_1011 [[0], [1], [2, 3]] : tensor<4x320x9216xf32> into tensor<4x320x96x96xf32> | |
%expanded_1013 = tensor.expand_shape %cst_922 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
%expanded_1014 = tensor.expand_shape %cst_921 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
%137 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1012, %expanded_1014 : tensor<4x320x96x96xf32>, tensor<1x320x1x1xf16>) outs(%51 : tensor<4x320x96x96xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.mulf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x320x96x96xf32> | |
%138 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%137, %expanded_1013 : tensor<4x320x96x96xf32>, tensor<1x320x1x1xf16>) outs(%51 : tensor<4x320x96x96xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x320x96x96xf32> | |
%139 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%138 : tensor<4x320x96x96xf32>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%140 = tensor.empty() : tensor<4x96x96x320xf16> | |
%141 = linalg.generic {indexing_maps = [#map9, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%139 : tensor<4x320x96x96xf16>) outs(%140 : tensor<4x96x96x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x96x96x320xf16> | |
%collapsed_1015 = tensor.collapse_shape %141 [[0], [1, 2], [3]] : tensor<4x96x96x320xf16> into tensor<4x9216x320xf16> | |
%expanded_1016 = tensor.expand_shape %collapsed_1015 [[0], [1], [2, 3]] : tensor<4x9216x320xf16> into tensor<4x9216x20x16xf16> | |
%142 = tensor.empty() : tensor<4x9216x20x16xf16> | |
%143 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1016 : tensor<4x9216x20x16xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%144 = tensor.empty() : tensor<4x9216x20x1xi64> | |
%145 = linalg.fill ins(%c0_i64 : i64) outs(%144 : tensor<4x9216x20x1xi64>) -> tensor<4x9216x20x1xi64> | |
%146 = tensor.empty() : tensor<4x9216x20x1xf16> | |
%147 = linalg.fill ins(%cst_948 : f16) outs(%146 : tensor<4x9216x20x1xf16>) -> tensor<4x9216x20x1xf16> | |
%148:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%143 : tensor<4x9216x20x16xf16>) outs(%147, %145 : tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) | |
%149 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%148#0 : tensor<4x9216x20x1xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%collapsed_1017 = tensor.collapse_shape %149 [[0], [1], [2, 3]] : tensor<4x9216x20x16xf16> into tensor<4x9216x320xf16> | |
%150 = tensor.empty() : tensor<4x9216x320xf16> | |
%151 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1017 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%152 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1015, %151 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%153 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%152, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%154 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%153 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%155 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%154 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x9216x320xf16> | |
%156 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%155, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%157 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%156, %151 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%158 = tensor.empty() : tensor<320x20x16xf16> | |
%159 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_920 : tensor<320x20x1xf16>) outs(%158 : tensor<320x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x20x16xf16> | |
%collapsed_1018 = tensor.collapse_shape %159 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
%160 = tensor.empty() : tensor<320x320xf16> | |
%161 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_919, %collapsed_1018 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x320xf16> | |
%162 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%161 : tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x320xf16> | |
%collapsed_1019 = tensor.collapse_shape %157 [[0, 1], [2]] : tensor<4x9216x320xf16> into tensor<36864x320xf16> | |
%163 = tensor.empty() : tensor<36864x320xf16> | |
%164 = linalg.fill ins(%cst_946 : f16) outs(%163 : tensor<36864x320xf16>) -> tensor<36864x320xf16> | |
%165 = linalg.matmul ins(%collapsed_1019, %162 : tensor<36864x320xf16>, tensor<320x320xf16>) outs(%164 : tensor<36864x320xf16>) -> tensor<36864x320xf16> | |
%166 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_918, %165 : tensor<320xf16>, tensor<36864x320xf16>) outs(%163 : tensor<36864x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<36864x320xf16> | |
%expanded_1020 = tensor.expand_shape %166 [[0, 1], [2]] : tensor<36864x320xf16> into tensor<4x9216x320xf16> | |
%167 = tensor.empty() : tensor<4x9216x1xf16> | |
%168 = linalg.fill ins(%cst_946 : f16) outs(%167 : tensor<4x9216x1xf16>) -> tensor<4x9216x1xf16> | |
%169 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%expanded_1020 : tensor<4x9216x320xf16>) outs(%168 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%170 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%169 : tensor<4x9216x1xf16>) outs(%167 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_961 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%171 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%170 : tensor<4x9216x1xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x320xf16> | |
%172 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1020, %171 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%173 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%172, %172 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%174 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%173 : tensor<4x9216x320xf16>) outs(%168 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%175 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%174 : tensor<4x9216x1xf16>) outs(%167 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_961 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%176 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%175 : tensor<4x9216x1xf16>) outs(%167 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.truncf %cst_953 : f64 to f16 | |
%6093 = arith.addf %in, %6092 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<4x9216x1xf16> | |
%177 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%176 : tensor<4x9216x1xf16>) outs(%167 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.rsqrt %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%178 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%177 : tensor<4x9216x1xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x320xf16> | |
%179 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%172, %178 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%180 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%179, %cst_917 : tensor<4x9216x320xf16>, tensor<320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%181 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%180, %cst_916 : tensor<4x9216x320xf16>, tensor<320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%expanded_1021 = tensor.expand_shape %181 [[0], [1], [2, 3]] : tensor<4x9216x320xf16> into tensor<4x9216x20x16xf16> | |
%182 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1021 : tensor<4x9216x20x16xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%183:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%182 : tensor<4x9216x20x16xf16>) outs(%147, %145 : tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) | |
%184 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%183#0 : tensor<4x9216x20x1xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%collapsed_1022 = tensor.collapse_shape %184 [[0], [1], [2, 3]] : tensor<4x9216x20x16xf16> into tensor<4x9216x320xf16> | |
%185 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1022 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%186 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%181, %185 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%187 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%186, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%188 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%187 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%189 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%188 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x9216x320xf16> | |
%190 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%189, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%191 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%190, %185 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%192 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_915 : tensor<320x20x1xf16>) outs(%158 : tensor<320x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x20x16xf16> | |
%collapsed_1023 = tensor.collapse_shape %192 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
%193 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_914, %collapsed_1023 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x320xf16> | |
%194 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%193 : tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x320xf16> | |
%collapsed_1024 = tensor.collapse_shape %191 [[0, 1], [2]] : tensor<4x9216x320xf16> into tensor<36864x320xf16> | |
%195 = linalg.matmul ins(%collapsed_1024, %194 : tensor<36864x320xf16>, tensor<320x320xf16>) outs(%164 : tensor<36864x320xf16>) -> tensor<36864x320xf16> | |
%expanded_1025 = tensor.expand_shape %195 [[0, 1], [2, 3]] : tensor<36864x320xf16> into tensor<4x9216x5x64xf16> | |
%196 = tensor.empty() : tensor<4x5x9216x64xf16> | |
%197 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1025 : tensor<4x9216x5x64xf16>) outs(%196 : tensor<4x5x9216x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x5x9216x64xf16> | |
%collapsed_1026 = tensor.collapse_shape %197 [[0, 1], [2], [3]] : tensor<4x5x9216x64xf16> into tensor<20x9216x64xf16> | |
%198 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_913 : tensor<320x20x1xf16>) outs(%158 : tensor<320x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x20x16xf16> | |
%collapsed_1027 = tensor.collapse_shape %198 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
%199 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_912, %collapsed_1027 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x320xf16> | |
%200 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%199 : tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x320xf16> | |
%201 = linalg.matmul ins(%collapsed_1024, %200 : tensor<36864x320xf16>, tensor<320x320xf16>) outs(%164 : tensor<36864x320xf16>) -> tensor<36864x320xf16> | |
%202 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_911 : tensor<320x20x1xf16>) outs(%158 : tensor<320x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x20x16xf16> | |
%collapsed_1028 = tensor.collapse_shape %202 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
%203 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_910, %collapsed_1028 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x320xf16> | |
%204 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%203 : tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x320xf16> | |
%205 = linalg.matmul ins(%collapsed_1024, %204 : tensor<36864x320xf16>, tensor<320x320xf16>) outs(%164 : tensor<36864x320xf16>) -> tensor<36864x320xf16> | |
%expanded_1029 = tensor.expand_shape %201 [[0, 1], [2, 3]] : tensor<36864x320xf16> into tensor<4x9216x5x64xf16> | |
%206 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1029 : tensor<4x9216x5x64xf16>) outs(%196 : tensor<4x5x9216x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x5x9216x64xf16> | |
%collapsed_1030 = tensor.collapse_shape %206 [[0, 1], [2], [3]] : tensor<4x5x9216x64xf16> into tensor<20x9216x64xf16> | |
%expanded_1031 = tensor.expand_shape %205 [[0, 1], [2, 3]] : tensor<36864x320xf16> into tensor<4x9216x5x64xf16> | |
%207 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1031 : tensor<4x9216x5x64xf16>) outs(%196 : tensor<4x5x9216x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x5x9216x64xf16> | |
%collapsed_1032 = tensor.collapse_shape %207 [[0, 1], [2], [3]] : tensor<4x5x9216x64xf16> into tensor<20x9216x64xf16> | |
%208 = tensor.empty() : tensor<20x9216x64xf32> | |
%209 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1026 : tensor<20x9216x64xf16>) outs(%208 : tensor<20x9216x64xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x9216x64xf32> | |
%210 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1030 : tensor<20x9216x64xf16>) outs(%208 : tensor<20x9216x64xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x9216x64xf32> | |
%211 = tensor.empty() : tensor<20x9216x9216xf32> | |
%212 = linalg.fill ins(%cst_954 : f32) outs(%211 : tensor<20x9216x9216xf32>) -> tensor<20x9216x9216xf32> | |
%213 = tensor.empty() : tensor<20x64x9216xf32> | |
%214 = linalg.generic {indexing_maps = [#map17, #map22], iterator_types = ["parallel", "parallel", "parallel"]} ins(%210 : tensor<20x9216x64xf32>) outs(%213 : tensor<20x64x9216xf32>) { | |
^bb0(%in: f32, %out: f32): | |
linalg.yield %in : f32 | |
} -> tensor<20x64x9216xf32> | |
%215 = linalg.batch_matmul ins(%209, %214 : tensor<20x9216x64xf32>, tensor<20x64x9216xf32>) outs(%212 : tensor<20x9216x9216xf32>) -> tensor<20x9216x9216xf32> | |
%216 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%215 : tensor<20x9216x9216xf32>) outs(%211 : tensor<20x9216x9216xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.mulf %in, %cst_962 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x9216x9216xf32> | |
%217 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%216, %212 : tensor<20x9216x9216xf32>, tensor<20x9216x9216xf32>) outs(%211 : tensor<20x9216x9216xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in_2626, %cst_954 : f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<20x9216x9216xf32> | |
%218 = tensor.empty() : tensor<20x9216x1xi64> | |
%219 = linalg.fill ins(%c0_i64 : i64) outs(%218 : tensor<20x9216x1xi64>) -> tensor<20x9216x1xi64> | |
%220 = tensor.empty() : tensor<20x9216x1xf32> | |
%221 = linalg.fill ins(%cst_949 : f32) outs(%220 : tensor<20x9216x1xf32>) -> tensor<20x9216x1xf32> | |
%222:2 = linalg.generic {indexing_maps = [#map17, #map19, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%217 : tensor<20x9216x9216xf32>) outs(%221, %219 : tensor<20x9216x1xf32>, tensor<20x9216x1xi64>) { | |
^bb0(%in: f32, %out: f32, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f32 | |
%6095 = arith.cmpf ogt, %in, %out : f32 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f32, i64 | |
} -> (tensor<20x9216x1xf32>, tensor<20x9216x1xi64>) | |
%223 = linalg.generic {indexing_maps = [#map17, #map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%217, %222#0 : tensor<20x9216x9216xf32>, tensor<20x9216x1xf32>) outs(%211 : tensor<20x9216x9216xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.subf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x9216x9216xf32> | |
%224 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%223 : tensor<20x9216x9216xf32>) outs(%211 : tensor<20x9216x9216xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.exp %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x9216x9216xf32> | |
%225 = linalg.fill ins(%cst_954 : f32) outs(%220 : tensor<20x9216x1xf32>) -> tensor<20x9216x1xf32> | |
%226 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%224 : tensor<20x9216x9216xf32>) outs(%225 : tensor<20x9216x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x9216x1xf32> | |
%227 = linalg.generic {indexing_maps = [#map17, #map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%224, %226 : tensor<20x9216x9216xf32>, tensor<20x9216x1xf32>) outs(%211 : tensor<20x9216x9216xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.divf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x9216x9216xf32> | |
%228 = tensor.empty() : tensor<20x9216x9216xf16> | |
%229 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%227 : tensor<20x9216x9216xf32>) outs(%228 : tensor<20x9216x9216xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<20x9216x9216xf16> | |
%230 = tensor.empty() : tensor<20x9216x64xf16> | |
%231 = linalg.fill ins(%cst_946 : f16) outs(%230 : tensor<20x9216x64xf16>) -> tensor<20x9216x64xf16> | |
%232 = linalg.batch_matmul ins(%229, %collapsed_1032 : tensor<20x9216x9216xf16>, tensor<20x9216x64xf16>) outs(%231 : tensor<20x9216x64xf16>) -> tensor<20x9216x64xf16> | |
%expanded_1033 = tensor.expand_shape %232 [[0, 1], [2], [3]] : tensor<20x9216x64xf16> into tensor<4x5x9216x64xf16> | |
%233 = tensor.empty() : tensor<4x9216x5x64xf16> | |
%234 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1033 : tensor<4x5x9216x64xf16>) outs(%233 : tensor<4x9216x5x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x5x64xf16> | |
%collapsed_1034 = tensor.collapse_shape %234 [[0], [1], [2, 3]] : tensor<4x9216x5x64xf16> into tensor<4x9216x320xf16> | |
%expanded_1035 = tensor.expand_shape %collapsed_1034 [[0], [1], [2, 3]] : tensor<4x9216x320xf16> into tensor<4x9216x20x16xf16> | |
%235 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1035 : tensor<4x9216x20x16xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%236:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%235 : tensor<4x9216x20x16xf16>) outs(%147, %145 : tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) | |
%237 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%236#0 : tensor<4x9216x20x1xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%collapsed_1036 = tensor.collapse_shape %237 [[0], [1], [2, 3]] : tensor<4x9216x20x16xf16> into tensor<4x9216x320xf16> | |
%238 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1036 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%239 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1034, %238 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%240 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%239, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%241 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%240 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%242 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%241 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x9216x320xf16> | |
%243 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%242, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%244 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%243, %238 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%245 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_909 : tensor<320x20x1xf16>) outs(%158 : tensor<320x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x20x16xf16> | |
%collapsed_1037 = tensor.collapse_shape %245 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
%246 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_908, %collapsed_1037 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x320xf16> | |
%247 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%246 : tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x320xf16> | |
%collapsed_1038 = tensor.collapse_shape %244 [[0, 1], [2]] : tensor<4x9216x320xf16> into tensor<36864x320xf16> | |
%248 = linalg.matmul ins(%collapsed_1038, %247 : tensor<36864x320xf16>, tensor<320x320xf16>) outs(%164 : tensor<36864x320xf16>) -> tensor<36864x320xf16> | |
%249 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_907, %248 : tensor<320xf16>, tensor<36864x320xf16>) outs(%163 : tensor<36864x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<36864x320xf16> | |
%expanded_1039 = tensor.expand_shape %249 [[0, 1], [2]] : tensor<36864x320xf16> into tensor<4x9216x320xf16> | |
%250 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1039, %expanded_1020 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%251 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%250 : tensor<4x9216x320xf16>) outs(%168 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%252 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%251 : tensor<4x9216x1xf16>) outs(%167 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_961 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%253 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%252 : tensor<4x9216x1xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x320xf16> | |
%254 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%250, %253 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%255 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%254, %254 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%256 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%255 : tensor<4x9216x320xf16>) outs(%168 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%257 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%256 : tensor<4x9216x1xf16>) outs(%167 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_961 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%258 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%257 : tensor<4x9216x1xf16>) outs(%167 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.truncf %cst_953 : f64 to f16 | |
%6093 = arith.addf %in, %6092 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<4x9216x1xf16> | |
%259 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%258 : tensor<4x9216x1xf16>) outs(%167 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.rsqrt %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%260 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%259 : tensor<4x9216x1xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x320xf16> | |
%261 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%254, %260 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%262 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%261, %cst_906 : tensor<4x9216x320xf16>, tensor<320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%263 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%262, %cst_905 : tensor<4x9216x320xf16>, tensor<320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%expanded_1040 = tensor.expand_shape %263 [[0], [1], [2, 3]] : tensor<4x9216x320xf16> into tensor<4x9216x20x16xf16> | |
%264 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1040 : tensor<4x9216x20x16xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%265:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%264 : tensor<4x9216x20x16xf16>) outs(%147, %145 : tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) | |
%266 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%265#0 : tensor<4x9216x20x1xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%collapsed_1041 = tensor.collapse_shape %266 [[0], [1], [2, 3]] : tensor<4x9216x20x16xf16> into tensor<4x9216x320xf16> | |
%267 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1041 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%268 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%263, %267 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%269 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%268, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%270 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%269 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%271 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%270 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x9216x320xf16> | |
%272 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%271, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%273 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%272, %267 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%274 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_904 : tensor<320x20x1xf16>) outs(%158 : tensor<320x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x20x16xf16> | |
%collapsed_1042 = tensor.collapse_shape %274 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
%275 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_903, %collapsed_1042 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x320xf16> | |
%276 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%275 : tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x320xf16> | |
%collapsed_1043 = tensor.collapse_shape %273 [[0, 1], [2]] : tensor<4x9216x320xf16> into tensor<36864x320xf16> | |
%277 = linalg.matmul ins(%collapsed_1043, %276 : tensor<36864x320xf16>, tensor<320x320xf16>) outs(%164 : tensor<36864x320xf16>) -> tensor<36864x320xf16> | |
%expanded_1044 = tensor.expand_shape %277 [[0, 1], [2, 3]] : tensor<36864x320xf16> into tensor<4x9216x5x64xf16> | |
%278 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1044 : tensor<4x9216x5x64xf16>) outs(%196 : tensor<4x5x9216x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x5x9216x64xf16> | |
%collapsed_1045 = tensor.collapse_shape %278 [[0, 1], [2], [3]] : tensor<4x5x9216x64xf16> into tensor<20x9216x64xf16> | |
%expanded_1046 = tensor.expand_shape %arg2 [[0], [1], [2, 3]] : tensor<4x77x1024xf16> into tensor<4x77x64x16xf16> | |
%279 = tensor.empty() : tensor<4x77x64x16xf16> | |
%280 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1046 : tensor<4x77x64x16xf16>) outs(%279 : tensor<4x77x64x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x77x64x16xf16> | |
%281 = tensor.empty() : tensor<4x77x64x1xi64> | |
%282 = linalg.fill ins(%c0_i64 : i64) outs(%281 : tensor<4x77x64x1xi64>) -> tensor<4x77x64x1xi64> | |
%283 = tensor.empty() : tensor<4x77x64x1xf16> | |
%284 = linalg.fill ins(%cst_948 : f16) outs(%283 : tensor<4x77x64x1xf16>) -> tensor<4x77x64x1xf16> | |
%285:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%280 : tensor<4x77x64x16xf16>) outs(%284, %282 : tensor<4x77x64x1xf16>, tensor<4x77x64x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x77x64x1xf16>, tensor<4x77x64x1xi64>) | |
%286 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%285#0 : tensor<4x77x64x1xf16>) outs(%279 : tensor<4x77x64x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x77x64x16xf16> | |
%collapsed_1047 = tensor.collapse_shape %286 [[0], [1], [2, 3]] : tensor<4x77x64x16xf16> into tensor<4x77x1024xf16> | |
%287 = tensor.empty() : tensor<4x77x1024xf16> | |
%288 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1047 : tensor<4x77x1024xf16>) outs(%287 : tensor<4x77x1024xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x77x1024xf16> | |
%289 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg2, %288 : tensor<4x77x1024xf16>, tensor<4x77x1024xf16>) outs(%287 : tensor<4x77x1024xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x77x1024xf16> | |
%290 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%289, %cst_935 : tensor<4x77x1024xf16>, tensor<f16>) outs(%287 : tensor<4x77x1024xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x77x1024xf16> | |
%291 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%290 : tensor<4x77x1024xf16>) outs(%287 : tensor<4x77x1024xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x77x1024xf16> | |
%292 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%291 : tensor<4x77x1024xf16>) outs(%287 : tensor<4x77x1024xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x77x1024xf16> | |
%293 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%292, %cst_935 : tensor<4x77x1024xf16>, tensor<f16>) outs(%287 : tensor<4x77x1024xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x77x1024xf16> | |
%294 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%293, %288 : tensor<4x77x1024xf16>, tensor<4x77x1024xf16>) outs(%287 : tensor<4x77x1024xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x77x1024xf16> | |
%295 = tensor.empty() : tensor<320x64x16xf16> | |
%296 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_902 : tensor<320x64x1xf16>) outs(%295 : tensor<320x64x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x64x16xf16> | |
%collapsed_1048 = tensor.collapse_shape %296 [[0], [1, 2]] : tensor<320x64x16xf16> into tensor<320x1024xf16> | |
%297 = tensor.empty() : tensor<320x1024xf16> | |
%298 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_901, %collapsed_1048 : tensor<320x1024xi8>, tensor<320x1024xf16>) outs(%297 : tensor<320x1024xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x1024xf16> | |
%299 = tensor.empty() : tensor<1024x320xf16> | |
%300 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%298 : tensor<320x1024xf16>) outs(%299 : tensor<1024x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1024x320xf16> | |
%collapsed_1049 = tensor.collapse_shape %294 [[0, 1], [2]] : tensor<4x77x1024xf16> into tensor<308x1024xf16> | |
%301 = tensor.empty() : tensor<308x320xf16> | |
%302 = linalg.fill ins(%cst_946 : f16) outs(%301 : tensor<308x320xf16>) -> tensor<308x320xf16> | |
%303 = linalg.matmul ins(%collapsed_1049, %300 : tensor<308x1024xf16>, tensor<1024x320xf16>) outs(%302 : tensor<308x320xf16>) -> tensor<308x320xf16> | |
%304 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_900 : tensor<320x64x1xf16>) outs(%295 : tensor<320x64x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x64x16xf16> | |
%collapsed_1050 = tensor.collapse_shape %304 [[0], [1, 2]] : tensor<320x64x16xf16> into tensor<320x1024xf16> | |
%305 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_899, %collapsed_1050 : tensor<320x1024xi8>, tensor<320x1024xf16>) outs(%297 : tensor<320x1024xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x1024xf16> | |
%306 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%305 : tensor<320x1024xf16>) outs(%299 : tensor<1024x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1024x320xf16> | |
%307 = linalg.matmul ins(%collapsed_1049, %306 : tensor<308x1024xf16>, tensor<1024x320xf16>) outs(%302 : tensor<308x320xf16>) -> tensor<308x320xf16> | |
%expanded_1051 = tensor.expand_shape %303 [[0, 1], [2, 3]] : tensor<308x320xf16> into tensor<4x77x5x64xf16> | |
%308 = tensor.empty() : tensor<4x5x77x64xf16> | |
%309 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1051 : tensor<4x77x5x64xf16>) outs(%308 : tensor<4x5x77x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x5x77x64xf16> | |
%collapsed_1052 = tensor.collapse_shape %309 [[0, 1], [2], [3]] : tensor<4x5x77x64xf16> into tensor<20x77x64xf16> | |
%expanded_1053 = tensor.expand_shape %307 [[0, 1], [2, 3]] : tensor<308x320xf16> into tensor<4x77x5x64xf16> | |
%310 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1053 : tensor<4x77x5x64xf16>) outs(%308 : tensor<4x5x77x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x5x77x64xf16> | |
%collapsed_1054 = tensor.collapse_shape %310 [[0, 1], [2], [3]] : tensor<4x5x77x64xf16> into tensor<20x77x64xf16> | |
%311 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1045 : tensor<20x9216x64xf16>) outs(%208 : tensor<20x9216x64xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x9216x64xf32> | |
%312 = tensor.empty() : tensor<20x77x64xf32> | |
%313 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1052 : tensor<20x77x64xf16>) outs(%312 : tensor<20x77x64xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x77x64xf32> | |
%314 = tensor.empty() : tensor<20x9216x77xf32> | |
%315 = linalg.fill ins(%cst_954 : f32) outs(%314 : tensor<20x9216x77xf32>) -> tensor<20x9216x77xf32> | |
%316 = tensor.empty() : tensor<20x64x77xf32> | |
%317 = linalg.generic {indexing_maps = [#map17, #map22], iterator_types = ["parallel", "parallel", "parallel"]} ins(%313 : tensor<20x77x64xf32>) outs(%316 : tensor<20x64x77xf32>) { | |
^bb0(%in: f32, %out: f32): | |
linalg.yield %in : f32 | |
} -> tensor<20x64x77xf32> | |
%318 = linalg.batch_matmul ins(%311, %317 : tensor<20x9216x64xf32>, tensor<20x64x77xf32>) outs(%315 : tensor<20x9216x77xf32>) -> tensor<20x9216x77xf32> | |
%319 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%318 : tensor<20x9216x77xf32>) outs(%314 : tensor<20x9216x77xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.mulf %in, %cst_962 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x9216x77xf32> | |
%320 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%319, %315 : tensor<20x9216x77xf32>, tensor<20x9216x77xf32>) outs(%314 : tensor<20x9216x77xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in_2626, %cst_954 : f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<20x9216x77xf32> | |
%321:2 = linalg.generic {indexing_maps = [#map17, #map19, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%320 : tensor<20x9216x77xf32>) outs(%221, %219 : tensor<20x9216x1xf32>, tensor<20x9216x1xi64>) { | |
^bb0(%in: f32, %out: f32, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f32 | |
%6095 = arith.cmpf ogt, %in, %out : f32 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f32, i64 | |
} -> (tensor<20x9216x1xf32>, tensor<20x9216x1xi64>) | |
%322 = linalg.generic {indexing_maps = [#map17, #map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%320, %321#0 : tensor<20x9216x77xf32>, tensor<20x9216x1xf32>) outs(%314 : tensor<20x9216x77xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.subf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x9216x77xf32> | |
%323 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%322 : tensor<20x9216x77xf32>) outs(%314 : tensor<20x9216x77xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.exp %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x9216x77xf32> | |
%324 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%323 : tensor<20x9216x77xf32>) outs(%225 : tensor<20x9216x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x9216x1xf32> | |
%325 = linalg.generic {indexing_maps = [#map17, #map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%323, %324 : tensor<20x9216x77xf32>, tensor<20x9216x1xf32>) outs(%314 : tensor<20x9216x77xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.divf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x9216x77xf32> | |
%326 = tensor.empty() : tensor<20x9216x77xf16> | |
%327 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%325 : tensor<20x9216x77xf32>) outs(%326 : tensor<20x9216x77xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<20x9216x77xf16> | |
%328 = linalg.batch_matmul ins(%327, %collapsed_1054 : tensor<20x9216x77xf16>, tensor<20x77x64xf16>) outs(%231 : tensor<20x9216x64xf16>) -> tensor<20x9216x64xf16> | |
%expanded_1055 = tensor.expand_shape %328 [[0, 1], [2], [3]] : tensor<20x9216x64xf16> into tensor<4x5x9216x64xf16> | |
%329 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1055 : tensor<4x5x9216x64xf16>) outs(%233 : tensor<4x9216x5x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x5x64xf16> | |
%collapsed_1056 = tensor.collapse_shape %329 [[0], [1], [2, 3]] : tensor<4x9216x5x64xf16> into tensor<4x9216x320xf16> | |
%expanded_1057 = tensor.expand_shape %collapsed_1056 [[0], [1], [2, 3]] : tensor<4x9216x320xf16> into tensor<4x9216x20x16xf16> | |
%330 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1057 : tensor<4x9216x20x16xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%331:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%330 : tensor<4x9216x20x16xf16>) outs(%147, %145 : tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) | |
%332 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%331#0 : tensor<4x9216x20x1xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%collapsed_1058 = tensor.collapse_shape %332 [[0], [1], [2, 3]] : tensor<4x9216x20x16xf16> into tensor<4x9216x320xf16> | |
%333 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1058 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%334 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1056, %333 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%335 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%334, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%336 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%335 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%337 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%336 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x9216x320xf16> | |
%338 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%337, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%339 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%338, %333 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%340 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_898 : tensor<320x20x1xf16>) outs(%158 : tensor<320x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x20x16xf16> | |
%collapsed_1059 = tensor.collapse_shape %340 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
%341 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_897, %collapsed_1059 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x320xf16> | |
%342 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%341 : tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x320xf16> | |
%collapsed_1060 = tensor.collapse_shape %339 [[0, 1], [2]] : tensor<4x9216x320xf16> into tensor<36864x320xf16> | |
%343 = linalg.matmul ins(%collapsed_1060, %342 : tensor<36864x320xf16>, tensor<320x320xf16>) outs(%164 : tensor<36864x320xf16>) -> tensor<36864x320xf16> | |
%344 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_896, %343 : tensor<320xf16>, tensor<36864x320xf16>) outs(%163 : tensor<36864x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<36864x320xf16> | |
%expanded_1061 = tensor.expand_shape %344 [[0, 1], [2]] : tensor<36864x320xf16> into tensor<4x9216x320xf16> | |
%345 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1061, %250 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%346 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%345 : tensor<4x9216x320xf16>) outs(%168 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%347 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%346 : tensor<4x9216x1xf16>) outs(%167 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_961 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%348 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%347 : tensor<4x9216x1xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x320xf16> | |
%349 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%345, %348 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%350 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%349, %349 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%351 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%350 : tensor<4x9216x320xf16>) outs(%168 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%352 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%351 : tensor<4x9216x1xf16>) outs(%167 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_961 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%353 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%352 : tensor<4x9216x1xf16>) outs(%167 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.truncf %cst_953 : f64 to f16 | |
%6093 = arith.addf %in, %6092 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<4x9216x1xf16> | |
%354 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%353 : tensor<4x9216x1xf16>) outs(%167 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.rsqrt %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%355 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%354 : tensor<4x9216x1xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x320xf16> | |
%356 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%349, %355 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%357 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%356, %cst_895 : tensor<4x9216x320xf16>, tensor<320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%358 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%357, %cst_894 : tensor<4x9216x320xf16>, tensor<320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%expanded_1062 = tensor.expand_shape %358 [[0], [1], [2, 3]] : tensor<4x9216x320xf16> into tensor<4x9216x20x16xf16> | |
%359 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1062 : tensor<4x9216x20x16xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%360:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%359 : tensor<4x9216x20x16xf16>) outs(%147, %145 : tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) | |
%361 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%360#0 : tensor<4x9216x20x1xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%collapsed_1063 = tensor.collapse_shape %361 [[0], [1], [2, 3]] : tensor<4x9216x20x16xf16> into tensor<4x9216x320xf16> | |
%362 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1063 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%363 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%358, %362 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%364 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%363, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%365 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%364 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%366 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%365 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x9216x320xf16> | |
%367 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%366, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%368 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%367, %362 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%369 = tensor.empty() : tensor<2560x20x16xf16> | |
%370 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_893 : tensor<2560x20x1xf16>) outs(%369 : tensor<2560x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<2560x20x16xf16> | |
%collapsed_1064 = tensor.collapse_shape %370 [[0], [1, 2]] : tensor<2560x20x16xf16> into tensor<2560x320xf16> | |
%371 = tensor.empty() : tensor<2560x320xf16> | |
%372 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_892, %collapsed_1064 : tensor<2560x320xi8>, tensor<2560x320xf16>) outs(%371 : tensor<2560x320xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<2560x320xf16> | |
%373 = tensor.empty() : tensor<320x2560xf16> | |
%374 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%372 : tensor<2560x320xf16>) outs(%373 : tensor<320x2560xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x2560xf16> | |
%collapsed_1065 = tensor.collapse_shape %368 [[0, 1], [2]] : tensor<4x9216x320xf16> into tensor<36864x320xf16> | |
%375 = tensor.empty() : tensor<36864x2560xf16> | |
%376 = linalg.fill ins(%cst_946 : f16) outs(%375 : tensor<36864x2560xf16>) -> tensor<36864x2560xf16> | |
%377 = linalg.matmul ins(%collapsed_1065, %374 : tensor<36864x320xf16>, tensor<320x2560xf16>) outs(%376 : tensor<36864x2560xf16>) -> tensor<36864x2560xf16> | |
%378 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_891, %377 : tensor<2560xf16>, tensor<36864x2560xf16>) outs(%375 : tensor<36864x2560xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<36864x2560xf16> | |
%expanded_1066 = tensor.expand_shape %378 [[0, 1], [2]] : tensor<36864x2560xf16> into tensor<4x9216x2560xf16> | |
%extracted_slice_1067 = tensor.extract_slice %expanded_1066[0, 0, 0] [4, 9216, 1280] [1, 1, 1] : tensor<4x9216x2560xf16> to tensor<4x9216x1280xf16> | |
%extracted_slice_1068 = tensor.extract_slice %expanded_1066[0, 0, 1280] [4, 9216, 1280] [1, 1, 1] : tensor<4x9216x2560xf16> to tensor<4x9216x1280xf16> | |
%379 = tensor.empty() : tensor<4x9216x1280xf16> | |
%380 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%extracted_slice_1068 : tensor<4x9216x1280xf16>) outs(%379 : tensor<4x9216x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.sqrt %cst_950 : f16 | |
%6093 = arith.divf %in, %6092 : f16 | |
%6094 = math.erf %6093 : f16 | |
%6095 = arith.addf %6094, %cst_947 : f16 | |
%6096 = arith.mulf %6095, %cst_951 : f16 | |
%6097 = arith.mulf %in, %6096 : f16 | |
linalg.yield %6097 : f16 | |
} -> tensor<4x9216x1280xf16> | |
%381 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%extracted_slice_1067, %380 : tensor<4x9216x1280xf16>, tensor<4x9216x1280xf16>) outs(%379 : tensor<4x9216x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1280xf16> | |
%expanded_1069 = tensor.expand_shape %381 [[0], [1], [2, 3]] : tensor<4x9216x1280xf16> into tensor<4x9216x80x16xf16> | |
%382 = tensor.empty() : tensor<4x9216x80x16xf16> | |
%383 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1069 : tensor<4x9216x80x16xf16>) outs(%382 : tensor<4x9216x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x80x16xf16> | |
%384 = tensor.empty() : tensor<4x9216x80x1xi64> | |
%385 = linalg.fill ins(%c0_i64 : i64) outs(%384 : tensor<4x9216x80x1xi64>) -> tensor<4x9216x80x1xi64> | |
%386 = tensor.empty() : tensor<4x9216x80x1xf16> | |
%387 = linalg.fill ins(%cst_948 : f16) outs(%386 : tensor<4x9216x80x1xf16>) -> tensor<4x9216x80x1xf16> | |
%388:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%383 : tensor<4x9216x80x16xf16>) outs(%387, %385 : tensor<4x9216x80x1xf16>, tensor<4x9216x80x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x9216x80x1xf16>, tensor<4x9216x80x1xi64>) | |
%389 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%388#0 : tensor<4x9216x80x1xf16>) outs(%382 : tensor<4x9216x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x80x16xf16> | |
%collapsed_1070 = tensor.collapse_shape %389 [[0], [1], [2, 3]] : tensor<4x9216x80x16xf16> into tensor<4x9216x1280xf16> | |
%390 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1070 : tensor<4x9216x1280xf16>) outs(%379 : tensor<4x9216x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1280xf16> | |
%391 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%381, %390 : tensor<4x9216x1280xf16>, tensor<4x9216x1280xf16>) outs(%379 : tensor<4x9216x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1280xf16> | |
%392 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%391, %cst_935 : tensor<4x9216x1280xf16>, tensor<f16>) outs(%379 : tensor<4x9216x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1280xf16> | |
%393 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%392 : tensor<4x9216x1280xf16>) outs(%379 : tensor<4x9216x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1280xf16> | |
%394 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%393 : tensor<4x9216x1280xf16>) outs(%379 : tensor<4x9216x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x9216x1280xf16> | |
%395 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%394, %cst_935 : tensor<4x9216x1280xf16>, tensor<f16>) outs(%379 : tensor<4x9216x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1280xf16> | |
%396 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%395, %390 : tensor<4x9216x1280xf16>, tensor<4x9216x1280xf16>) outs(%379 : tensor<4x9216x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1280xf16> | |
%397 = tensor.empty() : tensor<320x80x16xf16> | |
%398 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_890 : tensor<320x80x1xf16>) outs(%397 : tensor<320x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x80x16xf16> | |
%collapsed_1071 = tensor.collapse_shape %398 [[0], [1, 2]] : tensor<320x80x16xf16> into tensor<320x1280xf16> | |
%399 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_889, %collapsed_1071 : tensor<320x1280xi8>, tensor<320x1280xf16>) outs(%15 : tensor<320x1280xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x1280xf16> | |
%400 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%399 : tensor<320x1280xf16>) outs(%80 : tensor<1280x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x320xf16> | |
%collapsed_1072 = tensor.collapse_shape %396 [[0, 1], [2]] : tensor<4x9216x1280xf16> into tensor<36864x1280xf16> | |
%401 = linalg.matmul ins(%collapsed_1072, %400 : tensor<36864x1280xf16>, tensor<1280x320xf16>) outs(%164 : tensor<36864x320xf16>) -> tensor<36864x320xf16> | |
%402 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_888, %401 : tensor<320xf16>, tensor<36864x320xf16>) outs(%163 : tensor<36864x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<36864x320xf16> | |
%expanded_1073 = tensor.expand_shape %402 [[0, 1], [2]] : tensor<36864x320xf16> into tensor<4x9216x320xf16> | |
%403 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1073, %345 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%expanded_1074 = tensor.expand_shape %403 [[0], [1], [2, 3]] : tensor<4x9216x320xf16> into tensor<4x9216x20x16xf16> | |
%404 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1074 : tensor<4x9216x20x16xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%405:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%404 : tensor<4x9216x20x16xf16>) outs(%147, %145 : tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) | |
%406 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%405#0 : tensor<4x9216x20x1xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%collapsed_1075 = tensor.collapse_shape %406 [[0], [1], [2, 3]] : tensor<4x9216x20x16xf16> into tensor<4x9216x320xf16> | |
%407 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1075 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%408 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%403, %407 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%409 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%408, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%410 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%409 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%411 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%410 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x9216x320xf16> | |
%412 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%411, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%413 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%412, %407 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%414 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_887 : tensor<320x20x1xf16>) outs(%158 : tensor<320x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x20x16xf16> | |
%collapsed_1076 = tensor.collapse_shape %414 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
%415 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_886, %collapsed_1076 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x320xf16> | |
%416 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%415 : tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x320xf16> | |
%collapsed_1077 = tensor.collapse_shape %413 [[0, 1], [2]] : tensor<4x9216x320xf16> into tensor<36864x320xf16> | |
%417 = linalg.matmul ins(%collapsed_1077, %416 : tensor<36864x320xf16>, tensor<320x320xf16>) outs(%164 : tensor<36864x320xf16>) -> tensor<36864x320xf16> | |
%418 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_885, %417 : tensor<320xf16>, tensor<36864x320xf16>) outs(%163 : tensor<36864x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<36864x320xf16> | |
%expanded_1078 = tensor.expand_shape %418 [[0, 1, 2], [3]] : tensor<36864x320xf16> into tensor<4x96x96x320xf16> | |
%419 = linalg.generic {indexing_maps = [#map9, #map23], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1078 : tensor<4x96x96x320xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x320x96x96xf16> | |
%420 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%419, %121 : tensor<4x320x96x96xf16>, tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%collapsed_1079 = tensor.collapse_shape %420 [[0], [1], [2, 3]] : tensor<4x320x96x96xf16> into tensor<4x320x9216xf16> | |
%expanded_1080 = tensor.expand_shape %collapsed_1079 [[0], [1, 2], [3]] : tensor<4x320x9216xf16> into tensor<4x32x10x9216xf16> | |
%421 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1080 : tensor<4x32x10x9216xf16>) outs(%30 : tensor<4x32x10x9216xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x10x9216xf32> | |
%422 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%421 : tensor<4x32x10x9216xf32>) outs(%32 : tensor<4x32x10x9216xf64>) { | |
^bb0(%in: f32, %out: f64): | |
%6092 = arith.extf %in : f32 to f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x10x9216xf64> | |
%423 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%422 : tensor<4x32x10x9216xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%424 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%423 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_956 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%425 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%422, %424 : tensor<4x32x10x9216xf64>, tensor<4x32x1x1xf64>) outs(%32 : tensor<4x32x10x9216xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.subf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x10x9216xf64> | |
%426 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%425, %425 : tensor<4x32x10x9216xf64>, tensor<4x32x10x9216xf64>) outs(%32 : tensor<4x32x10x9216xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.mulf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x10x9216xf64> | |
%427 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%426 : tensor<4x32x10x9216xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%428 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%427 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_956 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%429 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%428 : tensor<4x32x1x1xf64>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f64, %out: f32): | |
%6092 = arith.truncf %in : f64 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%430 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%421 : tensor<4x32x10x9216xf32>) outs(%44 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%431 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%430 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.divf %in, %cst_957 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%432 = linalg.generic {indexing_maps = [#map10, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%429, %cst_938 : tensor<4x32x1x1xf32>, tensor<f16>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%433 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%432 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.rsqrt %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%434 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1080, %431 : tensor<4x32x10x9216xf16>, tensor<4x32x1x1xf32>) outs(%30 : tensor<4x32x10x9216xf32>) { | |
^bb0(%in: f16, %in_2626: f32, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
%6093 = arith.subf %6092, %in_2626 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x10x9216xf32> | |
%435 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%434, %433 : tensor<4x32x10x9216xf32>, tensor<4x32x1x1xf32>) outs(%30 : tensor<4x32x10x9216xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x10x9216xf32> | |
%collapsed_1081 = tensor.collapse_shape %435 [[0], [1, 2], [3]] : tensor<4x32x10x9216xf32> into tensor<4x320x9216xf32> | |
%expanded_1082 = tensor.expand_shape %collapsed_1081 [[0], [1], [2, 3]] : tensor<4x320x9216xf32> into tensor<4x320x96x96xf32> | |
%expanded_1083 = tensor.expand_shape %cst_884 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
%expanded_1084 = tensor.expand_shape %cst_883 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
%436 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1082, %expanded_1084 : tensor<4x320x96x96xf32>, tensor<1x320x1x1xf16>) outs(%51 : tensor<4x320x96x96xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.mulf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x320x96x96xf32> | |
%437 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%436, %expanded_1083 : tensor<4x320x96x96xf32>, tensor<1x320x1x1xf16>) outs(%51 : tensor<4x320x96x96xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x320x96x96xf32> | |
%438 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%437 : tensor<4x320x96x96xf32>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%439 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%438 : tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.negf %in : f16 | |
%6093 = math.exp %6092 : f16 | |
%6094 = arith.addf %6093, %cst_947 : f16 | |
%6095 = arith.divf %cst_947, %6094 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%440 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%439, %438 : tensor<4x320x96x96xf16>, tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%expanded_1085 = tensor.expand_shape %440 [[0], [1, 2], [3], [4]] : tensor<4x320x96x96xf16> into tensor<4x20x16x96x96xf16> | |
%441 = linalg.generic {indexing_maps = [#map13, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1085 : tensor<4x20x16x96x96xf16>) outs(%57 : tensor<4x20x16x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x20x16x96x96xf16> | |
%442:2 = linalg.generic {indexing_maps = [#map13, #map14, #map14], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%441 : tensor<4x20x16x96x96xf16>) outs(%62, %60 : tensor<4x20x1x96x96xf16>, tensor<4x20x1x96x96xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x20x1x96x96xf16>, tensor<4x20x1x96x96xi64>) | |
%443 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%442#0 : tensor<4x20x1x96x96xf16>) outs(%57 : tensor<4x20x16x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x20x16x96x96xf16> | |
%collapsed_1086 = tensor.collapse_shape %443 [[0], [1, 2], [3], [4]] : tensor<4x20x16x96x96xf16> into tensor<4x320x96x96xf16> | |
%444 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1086 : tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%445 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%440, %444 : tensor<4x320x96x96xf16>, tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%446 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%445, %cst_935 : tensor<4x320x96x96xf16>, tensor<f16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%447 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%446 : tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%448 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%447 : tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%449 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%448, %cst_935 : tensor<4x320x96x96xf16>, tensor<f16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%450 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%449, %444 : tensor<4x320x96x96xf16>, tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%451 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_882 : tensor<320x20x1x3x3xf16>) outs(%72 : tensor<320x20x16x3x3xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x20x16x3x3xf16> | |
%collapsed_1087 = tensor.collapse_shape %451 [[0], [1, 2], [3], [4]] : tensor<320x20x16x3x3xf16> into tensor<320x320x3x3xf16> | |
%452 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_881, %collapsed_1087 : tensor<320x320x3x3xi8>, tensor<320x320x3x3xf16>) outs(%74 : tensor<320x320x3x3xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x320x3x3xf16> | |
%padded_1088 = tensor.pad %450 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<4x320x96x96xf16> to tensor<4x320x98x98xf16> | |
%453 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_880 : tensor<320xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x320x96x96xf16> | |
%454 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1088, %452 : tensor<4x320x98x98xf16>, tensor<320x320x3x3xf16>) outs(%453 : tensor<4x320x96x96xf16>) -> tensor<4x320x96x96xf16> | |
%455 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_879 : tensor<320x1280xf16>) outs(%80 : tensor<1280x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x320xf16> | |
%456 = linalg.matmul ins(%79, %455 : tensor<4x1280xf16>, tensor<1280x320xf16>) outs(%82 : tensor<4x320xf16>) -> tensor<4x320xf16> | |
%457 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_878, %456 : tensor<320xf16>, tensor<4x320xf16>) outs(%13 : tensor<4x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320xf16> | |
%expanded_1089 = tensor.expand_shape %457 [[0], [1, 2, 3]] : tensor<4x320xf16> into tensor<4x320x1x1xf16> | |
%458 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%454, %expanded_1089 : tensor<4x320x96x96xf16>, tensor<4x320x1x1xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%collapsed_1090 = tensor.collapse_shape %458 [[0], [1], [2, 3]] : tensor<4x320x96x96xf16> into tensor<4x320x9216xf16> | |
%expanded_1091 = tensor.expand_shape %collapsed_1090 [[0], [1, 2], [3]] : tensor<4x320x9216xf16> into tensor<4x32x10x9216xf16> | |
%459 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1091 : tensor<4x32x10x9216xf16>) outs(%30 : tensor<4x32x10x9216xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x10x9216xf32> | |
%460 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%459 : tensor<4x32x10x9216xf32>) outs(%32 : tensor<4x32x10x9216xf64>) { | |
^bb0(%in: f32, %out: f64): | |
%6092 = arith.extf %in : f32 to f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x10x9216xf64> | |
%461 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%460 : tensor<4x32x10x9216xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%462 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%461 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_956 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%463 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%460, %462 : tensor<4x32x10x9216xf64>, tensor<4x32x1x1xf64>) outs(%32 : tensor<4x32x10x9216xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.subf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x10x9216xf64> | |
%464 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%463, %463 : tensor<4x32x10x9216xf64>, tensor<4x32x10x9216xf64>) outs(%32 : tensor<4x32x10x9216xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.mulf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x10x9216xf64> | |
%465 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%464 : tensor<4x32x10x9216xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%466 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%465 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_956 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%467 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%466 : tensor<4x32x1x1xf64>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f64, %out: f32): | |
%6092 = arith.truncf %in : f64 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%468 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%459 : tensor<4x32x10x9216xf32>) outs(%44 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%469 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%468 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.divf %in, %cst_957 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%470 = linalg.generic {indexing_maps = [#map10, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%467, %cst_938 : tensor<4x32x1x1xf32>, tensor<f16>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%471 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%470 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.rsqrt %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%472 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1091, %469 : tensor<4x32x10x9216xf16>, tensor<4x32x1x1xf32>) outs(%30 : tensor<4x32x10x9216xf32>) { | |
^bb0(%in: f16, %in_2626: f32, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
%6093 = arith.subf %6092, %in_2626 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x10x9216xf32> | |
%473 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%472, %471 : tensor<4x32x10x9216xf32>, tensor<4x32x1x1xf32>) outs(%30 : tensor<4x32x10x9216xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x10x9216xf32> | |
%collapsed_1092 = tensor.collapse_shape %473 [[0], [1, 2], [3]] : tensor<4x32x10x9216xf32> into tensor<4x320x9216xf32> | |
%expanded_1093 = tensor.expand_shape %collapsed_1092 [[0], [1], [2, 3]] : tensor<4x320x9216xf32> into tensor<4x320x96x96xf32> | |
%expanded_1094 = tensor.expand_shape %cst_877 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
%expanded_1095 = tensor.expand_shape %cst_876 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
%474 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1093, %expanded_1095 : tensor<4x320x96x96xf32>, tensor<1x320x1x1xf16>) outs(%51 : tensor<4x320x96x96xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.mulf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x320x96x96xf32> | |
%475 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%474, %expanded_1094 : tensor<4x320x96x96xf32>, tensor<1x320x1x1xf16>) outs(%51 : tensor<4x320x96x96xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x320x96x96xf32> | |
%476 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%475 : tensor<4x320x96x96xf32>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%477 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%476 : tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.negf %in : f16 | |
%6093 = math.exp %6092 : f16 | |
%6094 = arith.addf %6093, %cst_947 : f16 | |
%6095 = arith.divf %cst_947, %6094 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%478 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%477, %476 : tensor<4x320x96x96xf16>, tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%expanded_1096 = tensor.expand_shape %478 [[0], [1, 2], [3], [4]] : tensor<4x320x96x96xf16> into tensor<4x20x16x96x96xf16> | |
%479 = linalg.generic {indexing_maps = [#map13, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1096 : tensor<4x20x16x96x96xf16>) outs(%57 : tensor<4x20x16x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x20x16x96x96xf16> | |
%480:2 = linalg.generic {indexing_maps = [#map13, #map14, #map14], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%479 : tensor<4x20x16x96x96xf16>) outs(%62, %60 : tensor<4x20x1x96x96xf16>, tensor<4x20x1x96x96xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x20x1x96x96xf16>, tensor<4x20x1x96x96xi64>) | |
%481 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%480#0 : tensor<4x20x1x96x96xf16>) outs(%57 : tensor<4x20x16x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x20x16x96x96xf16> | |
%collapsed_1097 = tensor.collapse_shape %481 [[0], [1, 2], [3], [4]] : tensor<4x20x16x96x96xf16> into tensor<4x320x96x96xf16> | |
%482 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1097 : tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%483 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%478, %482 : tensor<4x320x96x96xf16>, tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%484 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%483, %cst_935 : tensor<4x320x96x96xf16>, tensor<f16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%485 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%484 : tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%486 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%485 : tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%487 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%486, %cst_935 : tensor<4x320x96x96xf16>, tensor<f16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%488 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%487, %482 : tensor<4x320x96x96xf16>, tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%489 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_875 : tensor<320x20x1x3x3xf16>) outs(%72 : tensor<320x20x16x3x3xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x20x16x3x3xf16> | |
%collapsed_1098 = tensor.collapse_shape %489 [[0], [1, 2], [3], [4]] : tensor<320x20x16x3x3xf16> into tensor<320x320x3x3xf16> | |
%490 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_874, %collapsed_1098 : tensor<320x320x3x3xi8>, tensor<320x320x3x3xf16>) outs(%74 : tensor<320x320x3x3xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x320x3x3xf16> | |
%padded_1099 = tensor.pad %488 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<4x320x96x96xf16> to tensor<4x320x98x98xf16> | |
%491 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_873 : tensor<320xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x320x96x96xf16> | |
%492 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1099, %490 : tensor<4x320x98x98xf16>, tensor<320x320x3x3xf16>) outs(%491 : tensor<4x320x96x96xf16>) -> tensor<4x320x96x96xf16> | |
%493 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%420, %492 : tensor<4x320x96x96xf16>, tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%494 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%493, %cst_924 : tensor<4x320x96x96xf16>, tensor<f16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%collapsed_1100 = tensor.collapse_shape %494 [[0], [1], [2, 3]] : tensor<4x320x96x96xf16> into tensor<4x320x9216xf16> | |
%expanded_1101 = tensor.expand_shape %collapsed_1100 [[0], [1, 2], [3]] : tensor<4x320x9216xf16> into tensor<4x32x10x9216xf16> | |
%495 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1101 : tensor<4x32x10x9216xf16>) outs(%30 : tensor<4x32x10x9216xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x10x9216xf32> | |
%496 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%495 : tensor<4x32x10x9216xf32>) outs(%32 : tensor<4x32x10x9216xf64>) { | |
^bb0(%in: f32, %out: f64): | |
%6092 = arith.extf %in : f32 to f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x10x9216xf64> | |
%497 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%496 : tensor<4x32x10x9216xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%498 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%497 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_956 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%499 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%496, %498 : tensor<4x32x10x9216xf64>, tensor<4x32x1x1xf64>) outs(%32 : tensor<4x32x10x9216xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.subf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x10x9216xf64> | |
%500 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%499, %499 : tensor<4x32x10x9216xf64>, tensor<4x32x10x9216xf64>) outs(%32 : tensor<4x32x10x9216xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.mulf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x10x9216xf64> | |
%501 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%500 : tensor<4x32x10x9216xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%502 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%501 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_956 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%503 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%502 : tensor<4x32x1x1xf64>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f64, %out: f32): | |
%6092 = arith.truncf %in : f64 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%504 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%495 : tensor<4x32x10x9216xf32>) outs(%44 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%505 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%504 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.divf %in, %cst_957 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%506 = linalg.generic {indexing_maps = [#map10, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%503, %cst_923 : tensor<4x32x1x1xf32>, tensor<f16>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%507 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%506 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.rsqrt %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%508 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1101, %505 : tensor<4x32x10x9216xf16>, tensor<4x32x1x1xf32>) outs(%30 : tensor<4x32x10x9216xf32>) { | |
^bb0(%in: f16, %in_2626: f32, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
%6093 = arith.subf %6092, %in_2626 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x10x9216xf32> | |
%509 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%508, %507 : tensor<4x32x10x9216xf32>, tensor<4x32x1x1xf32>) outs(%30 : tensor<4x32x10x9216xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x10x9216xf32> | |
%collapsed_1102 = tensor.collapse_shape %509 [[0], [1, 2], [3]] : tensor<4x32x10x9216xf32> into tensor<4x320x9216xf32> | |
%expanded_1103 = tensor.expand_shape %collapsed_1102 [[0], [1], [2, 3]] : tensor<4x320x9216xf32> into tensor<4x320x96x96xf32> | |
%expanded_1104 = tensor.expand_shape %cst_872 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
%expanded_1105 = tensor.expand_shape %cst_871 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
%510 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1103, %expanded_1105 : tensor<4x320x96x96xf32>, tensor<1x320x1x1xf16>) outs(%51 : tensor<4x320x96x96xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.mulf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x320x96x96xf32> | |
%511 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%510, %expanded_1104 : tensor<4x320x96x96xf32>, tensor<1x320x1x1xf16>) outs(%51 : tensor<4x320x96x96xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x320x96x96xf32> | |
%512 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%511 : tensor<4x320x96x96xf32>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%513 = linalg.generic {indexing_maps = [#map9, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%512 : tensor<4x320x96x96xf16>) outs(%140 : tensor<4x96x96x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x96x96x320xf16> | |
%collapsed_1106 = tensor.collapse_shape %513 [[0], [1, 2], [3]] : tensor<4x96x96x320xf16> into tensor<4x9216x320xf16> | |
%expanded_1107 = tensor.expand_shape %collapsed_1106 [[0], [1], [2, 3]] : tensor<4x9216x320xf16> into tensor<4x9216x20x16xf16> | |
%514 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1107 : tensor<4x9216x20x16xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%515:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%514 : tensor<4x9216x20x16xf16>) outs(%147, %145 : tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) | |
%516 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%515#0 : tensor<4x9216x20x1xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%collapsed_1108 = tensor.collapse_shape %516 [[0], [1], [2, 3]] : tensor<4x9216x20x16xf16> into tensor<4x9216x320xf16> | |
%517 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1108 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%518 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1106, %517 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%519 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%518, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%520 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%519 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%521 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%520 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x9216x320xf16> | |
%522 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%521, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%523 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%522, %517 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%524 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_870 : tensor<320x20x1xf16>) outs(%158 : tensor<320x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x20x16xf16> | |
%collapsed_1109 = tensor.collapse_shape %524 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
%525 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_869, %collapsed_1109 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x320xf16> | |
%526 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%525 : tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x320xf16> | |
%collapsed_1110 = tensor.collapse_shape %523 [[0, 1], [2]] : tensor<4x9216x320xf16> into tensor<36864x320xf16> | |
%527 = linalg.matmul ins(%collapsed_1110, %526 : tensor<36864x320xf16>, tensor<320x320xf16>) outs(%164 : tensor<36864x320xf16>) -> tensor<36864x320xf16> | |
%528 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_868, %527 : tensor<320xf16>, tensor<36864x320xf16>) outs(%163 : tensor<36864x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<36864x320xf16> | |
%expanded_1111 = tensor.expand_shape %528 [[0, 1], [2]] : tensor<36864x320xf16> into tensor<4x9216x320xf16> | |
%529 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%expanded_1111 : tensor<4x9216x320xf16>) outs(%168 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%530 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%529 : tensor<4x9216x1xf16>) outs(%167 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_961 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%531 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%530 : tensor<4x9216x1xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x320xf16> | |
%532 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1111, %531 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%533 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%532, %532 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%534 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%533 : tensor<4x9216x320xf16>) outs(%168 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%535 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%534 : tensor<4x9216x1xf16>) outs(%167 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_961 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%536 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%535 : tensor<4x9216x1xf16>) outs(%167 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.truncf %cst_953 : f64 to f16 | |
%6093 = arith.addf %in, %6092 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<4x9216x1xf16> | |
%537 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%536 : tensor<4x9216x1xf16>) outs(%167 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.rsqrt %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%538 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%537 : tensor<4x9216x1xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x320xf16> | |
%539 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%532, %538 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%540 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%539, %cst_867 : tensor<4x9216x320xf16>, tensor<320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%541 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%540, %cst_866 : tensor<4x9216x320xf16>, tensor<320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%expanded_1112 = tensor.expand_shape %541 [[0], [1], [2, 3]] : tensor<4x9216x320xf16> into tensor<4x9216x20x16xf16> | |
%542 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1112 : tensor<4x9216x20x16xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%543:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%542 : tensor<4x9216x20x16xf16>) outs(%147, %145 : tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) | |
%544 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%543#0 : tensor<4x9216x20x1xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%collapsed_1113 = tensor.collapse_shape %544 [[0], [1], [2, 3]] : tensor<4x9216x20x16xf16> into tensor<4x9216x320xf16> | |
%545 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1113 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%546 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%541, %545 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%547 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%546, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%548 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%547 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%549 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%548 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x9216x320xf16> | |
%550 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%549, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%551 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%550, %545 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%552 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_865 : tensor<320x20x1xf16>) outs(%158 : tensor<320x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x20x16xf16> | |
%collapsed_1114 = tensor.collapse_shape %552 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
%553 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_864, %collapsed_1114 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x320xf16> | |
%554 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%553 : tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x320xf16> | |
%collapsed_1115 = tensor.collapse_shape %551 [[0, 1], [2]] : tensor<4x9216x320xf16> into tensor<36864x320xf16> | |
%555 = linalg.matmul ins(%collapsed_1115, %554 : tensor<36864x320xf16>, tensor<320x320xf16>) outs(%164 : tensor<36864x320xf16>) -> tensor<36864x320xf16> | |
%expanded_1116 = tensor.expand_shape %555 [[0, 1], [2, 3]] : tensor<36864x320xf16> into tensor<4x9216x5x64xf16> | |
%556 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1116 : tensor<4x9216x5x64xf16>) outs(%196 : tensor<4x5x9216x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x5x9216x64xf16> | |
%collapsed_1117 = tensor.collapse_shape %556 [[0, 1], [2], [3]] : tensor<4x5x9216x64xf16> into tensor<20x9216x64xf16> | |
%557 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_863 : tensor<320x20x1xf16>) outs(%158 : tensor<320x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x20x16xf16> | |
%collapsed_1118 = tensor.collapse_shape %557 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
%558 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_862, %collapsed_1118 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x320xf16> | |
%559 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%558 : tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x320xf16> | |
%560 = linalg.matmul ins(%collapsed_1115, %559 : tensor<36864x320xf16>, tensor<320x320xf16>) outs(%164 : tensor<36864x320xf16>) -> tensor<36864x320xf16> | |
%561 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_861 : tensor<320x20x1xf16>) outs(%158 : tensor<320x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x20x16xf16> | |
%collapsed_1119 = tensor.collapse_shape %561 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
%562 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_860, %collapsed_1119 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x320xf16> | |
%563 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%562 : tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x320xf16> | |
%564 = linalg.matmul ins(%collapsed_1115, %563 : tensor<36864x320xf16>, tensor<320x320xf16>) outs(%164 : tensor<36864x320xf16>) -> tensor<36864x320xf16> | |
%expanded_1120 = tensor.expand_shape %560 [[0, 1], [2, 3]] : tensor<36864x320xf16> into tensor<4x9216x5x64xf16> | |
%565 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1120 : tensor<4x9216x5x64xf16>) outs(%196 : tensor<4x5x9216x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x5x9216x64xf16> | |
%collapsed_1121 = tensor.collapse_shape %565 [[0, 1], [2], [3]] : tensor<4x5x9216x64xf16> into tensor<20x9216x64xf16> | |
%expanded_1122 = tensor.expand_shape %564 [[0, 1], [2, 3]] : tensor<36864x320xf16> into tensor<4x9216x5x64xf16> | |
%566 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1122 : tensor<4x9216x5x64xf16>) outs(%196 : tensor<4x5x9216x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x5x9216x64xf16> | |
%collapsed_1123 = tensor.collapse_shape %566 [[0, 1], [2], [3]] : tensor<4x5x9216x64xf16> into tensor<20x9216x64xf16> | |
%567 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1117 : tensor<20x9216x64xf16>) outs(%208 : tensor<20x9216x64xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x9216x64xf32> | |
%568 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1121 : tensor<20x9216x64xf16>) outs(%208 : tensor<20x9216x64xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x9216x64xf32> | |
%569 = linalg.generic {indexing_maps = [#map17, #map22], iterator_types = ["parallel", "parallel", "parallel"]} ins(%568 : tensor<20x9216x64xf32>) outs(%213 : tensor<20x64x9216xf32>) { | |
^bb0(%in: f32, %out: f32): | |
linalg.yield %in : f32 | |
} -> tensor<20x64x9216xf32> | |
%570 = linalg.batch_matmul ins(%567, %569 : tensor<20x9216x64xf32>, tensor<20x64x9216xf32>) outs(%212 : tensor<20x9216x9216xf32>) -> tensor<20x9216x9216xf32> | |
%571 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%570 : tensor<20x9216x9216xf32>) outs(%211 : tensor<20x9216x9216xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.mulf %in, %cst_962 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x9216x9216xf32> | |
%572 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%571, %212 : tensor<20x9216x9216xf32>, tensor<20x9216x9216xf32>) outs(%211 : tensor<20x9216x9216xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in_2626, %cst_954 : f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<20x9216x9216xf32> | |
%573:2 = linalg.generic {indexing_maps = [#map17, #map19, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%572 : tensor<20x9216x9216xf32>) outs(%221, %219 : tensor<20x9216x1xf32>, tensor<20x9216x1xi64>) { | |
^bb0(%in: f32, %out: f32, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f32 | |
%6095 = arith.cmpf ogt, %in, %out : f32 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f32, i64 | |
} -> (tensor<20x9216x1xf32>, tensor<20x9216x1xi64>) | |
%574 = linalg.generic {indexing_maps = [#map17, #map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%572, %573#0 : tensor<20x9216x9216xf32>, tensor<20x9216x1xf32>) outs(%211 : tensor<20x9216x9216xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.subf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x9216x9216xf32> | |
%575 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%574 : tensor<20x9216x9216xf32>) outs(%211 : tensor<20x9216x9216xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.exp %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x9216x9216xf32> | |
%576 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%575 : tensor<20x9216x9216xf32>) outs(%225 : tensor<20x9216x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x9216x1xf32> | |
%577 = linalg.generic {indexing_maps = [#map17, #map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%575, %576 : tensor<20x9216x9216xf32>, tensor<20x9216x1xf32>) outs(%211 : tensor<20x9216x9216xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.divf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x9216x9216xf32> | |
%578 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%577 : tensor<20x9216x9216xf32>) outs(%228 : tensor<20x9216x9216xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<20x9216x9216xf16> | |
%579 = linalg.batch_matmul ins(%578, %collapsed_1123 : tensor<20x9216x9216xf16>, tensor<20x9216x64xf16>) outs(%231 : tensor<20x9216x64xf16>) -> tensor<20x9216x64xf16> | |
%expanded_1124 = tensor.expand_shape %579 [[0, 1], [2], [3]] : tensor<20x9216x64xf16> into tensor<4x5x9216x64xf16> | |
%580 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1124 : tensor<4x5x9216x64xf16>) outs(%233 : tensor<4x9216x5x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x5x64xf16> | |
%collapsed_1125 = tensor.collapse_shape %580 [[0], [1], [2, 3]] : tensor<4x9216x5x64xf16> into tensor<4x9216x320xf16> | |
%expanded_1126 = tensor.expand_shape %collapsed_1125 [[0], [1], [2, 3]] : tensor<4x9216x320xf16> into tensor<4x9216x20x16xf16> | |
%581 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1126 : tensor<4x9216x20x16xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%582:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%581 : tensor<4x9216x20x16xf16>) outs(%147, %145 : tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) | |
%583 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%582#0 : tensor<4x9216x20x1xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%collapsed_1127 = tensor.collapse_shape %583 [[0], [1], [2, 3]] : tensor<4x9216x20x16xf16> into tensor<4x9216x320xf16> | |
%584 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1127 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%585 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1125, %584 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%586 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%585, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%587 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%586 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%588 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%587 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x9216x320xf16> | |
%589 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%588, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%590 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%589, %584 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%591 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_859 : tensor<320x20x1xf16>) outs(%158 : tensor<320x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x20x16xf16> | |
%collapsed_1128 = tensor.collapse_shape %591 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
%592 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_858, %collapsed_1128 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x320xf16> | |
%593 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%592 : tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x320xf16> | |
%collapsed_1129 = tensor.collapse_shape %590 [[0, 1], [2]] : tensor<4x9216x320xf16> into tensor<36864x320xf16> | |
%594 = linalg.matmul ins(%collapsed_1129, %593 : tensor<36864x320xf16>, tensor<320x320xf16>) outs(%164 : tensor<36864x320xf16>) -> tensor<36864x320xf16> | |
%595 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_857, %594 : tensor<320xf16>, tensor<36864x320xf16>) outs(%163 : tensor<36864x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<36864x320xf16> | |
%expanded_1130 = tensor.expand_shape %595 [[0, 1], [2]] : tensor<36864x320xf16> into tensor<4x9216x320xf16> | |
%596 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1130, %expanded_1111 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%597 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%596 : tensor<4x9216x320xf16>) outs(%168 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%598 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%597 : tensor<4x9216x1xf16>) outs(%167 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_961 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%599 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%598 : tensor<4x9216x1xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x320xf16> | |
%600 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%596, %599 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%601 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%600, %600 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%602 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%601 : tensor<4x9216x320xf16>) outs(%168 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%603 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%602 : tensor<4x9216x1xf16>) outs(%167 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_961 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%604 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%603 : tensor<4x9216x1xf16>) outs(%167 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.truncf %cst_953 : f64 to f16 | |
%6093 = arith.addf %in, %6092 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<4x9216x1xf16> | |
%605 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%604 : tensor<4x9216x1xf16>) outs(%167 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.rsqrt %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%606 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%605 : tensor<4x9216x1xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x320xf16> | |
%607 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%600, %606 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%608 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%607, %cst_856 : tensor<4x9216x320xf16>, tensor<320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%609 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%608, %cst_855 : tensor<4x9216x320xf16>, tensor<320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%expanded_1131 = tensor.expand_shape %609 [[0], [1], [2, 3]] : tensor<4x9216x320xf16> into tensor<4x9216x20x16xf16> | |
%610 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1131 : tensor<4x9216x20x16xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%611:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%610 : tensor<4x9216x20x16xf16>) outs(%147, %145 : tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) | |
%612 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%611#0 : tensor<4x9216x20x1xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%collapsed_1132 = tensor.collapse_shape %612 [[0], [1], [2, 3]] : tensor<4x9216x20x16xf16> into tensor<4x9216x320xf16> | |
%613 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1132 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%614 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%609, %613 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%615 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%614, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%616 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%615 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%617 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%616 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x9216x320xf16> | |
%618 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%617, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%619 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%618, %613 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%620 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_854 : tensor<320x20x1xf16>) outs(%158 : tensor<320x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x20x16xf16> | |
%collapsed_1133 = tensor.collapse_shape %620 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
%621 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_853, %collapsed_1133 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x320xf16> | |
%622 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%621 : tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x320xf16> | |
%collapsed_1134 = tensor.collapse_shape %619 [[0, 1], [2]] : tensor<4x9216x320xf16> into tensor<36864x320xf16> | |
%623 = linalg.matmul ins(%collapsed_1134, %622 : tensor<36864x320xf16>, tensor<320x320xf16>) outs(%164 : tensor<36864x320xf16>) -> tensor<36864x320xf16> | |
%expanded_1135 = tensor.expand_shape %623 [[0, 1], [2, 3]] : tensor<36864x320xf16> into tensor<4x9216x5x64xf16> | |
%624 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1135 : tensor<4x9216x5x64xf16>) outs(%196 : tensor<4x5x9216x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x5x9216x64xf16> | |
%collapsed_1136 = tensor.collapse_shape %624 [[0, 1], [2], [3]] : tensor<4x5x9216x64xf16> into tensor<20x9216x64xf16> | |
%625 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_852 : tensor<320x64x1xf16>) outs(%295 : tensor<320x64x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x64x16xf16> | |
%collapsed_1137 = tensor.collapse_shape %625 [[0], [1, 2]] : tensor<320x64x16xf16> into tensor<320x1024xf16> | |
%626 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_851, %collapsed_1137 : tensor<320x1024xi8>, tensor<320x1024xf16>) outs(%297 : tensor<320x1024xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x1024xf16> | |
%627 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%626 : tensor<320x1024xf16>) outs(%299 : tensor<1024x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1024x320xf16> | |
%628 = linalg.matmul ins(%collapsed_1049, %627 : tensor<308x1024xf16>, tensor<1024x320xf16>) outs(%302 : tensor<308x320xf16>) -> tensor<308x320xf16> | |
%629 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_850 : tensor<320x64x1xf16>) outs(%295 : tensor<320x64x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x64x16xf16> | |
%collapsed_1138 = tensor.collapse_shape %629 [[0], [1, 2]] : tensor<320x64x16xf16> into tensor<320x1024xf16> | |
%630 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_849, %collapsed_1138 : tensor<320x1024xi8>, tensor<320x1024xf16>) outs(%297 : tensor<320x1024xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x1024xf16> | |
%631 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%630 : tensor<320x1024xf16>) outs(%299 : tensor<1024x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1024x320xf16> | |
%632 = linalg.matmul ins(%collapsed_1049, %631 : tensor<308x1024xf16>, tensor<1024x320xf16>) outs(%302 : tensor<308x320xf16>) -> tensor<308x320xf16> | |
%expanded_1139 = tensor.expand_shape %628 [[0, 1], [2, 3]] : tensor<308x320xf16> into tensor<4x77x5x64xf16> | |
%633 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1139 : tensor<4x77x5x64xf16>) outs(%308 : tensor<4x5x77x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x5x77x64xf16> | |
%collapsed_1140 = tensor.collapse_shape %633 [[0, 1], [2], [3]] : tensor<4x5x77x64xf16> into tensor<20x77x64xf16> | |
%expanded_1141 = tensor.expand_shape %632 [[0, 1], [2, 3]] : tensor<308x320xf16> into tensor<4x77x5x64xf16> | |
%634 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1141 : tensor<4x77x5x64xf16>) outs(%308 : tensor<4x5x77x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x5x77x64xf16> | |
%collapsed_1142 = tensor.collapse_shape %634 [[0, 1], [2], [3]] : tensor<4x5x77x64xf16> into tensor<20x77x64xf16> | |
%635 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1136 : tensor<20x9216x64xf16>) outs(%208 : tensor<20x9216x64xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x9216x64xf32> | |
%636 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1140 : tensor<20x77x64xf16>) outs(%312 : tensor<20x77x64xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x77x64xf32> | |
%637 = linalg.generic {indexing_maps = [#map17, #map22], iterator_types = ["parallel", "parallel", "parallel"]} ins(%636 : tensor<20x77x64xf32>) outs(%316 : tensor<20x64x77xf32>) { | |
^bb0(%in: f32, %out: f32): | |
linalg.yield %in : f32 | |
} -> tensor<20x64x77xf32> | |
%638 = linalg.batch_matmul ins(%635, %637 : tensor<20x9216x64xf32>, tensor<20x64x77xf32>) outs(%315 : tensor<20x9216x77xf32>) -> tensor<20x9216x77xf32> | |
%639 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%638 : tensor<20x9216x77xf32>) outs(%314 : tensor<20x9216x77xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.mulf %in, %cst_962 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x9216x77xf32> | |
%640 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%639, %315 : tensor<20x9216x77xf32>, tensor<20x9216x77xf32>) outs(%314 : tensor<20x9216x77xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in_2626, %cst_954 : f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<20x9216x77xf32> | |
%641:2 = linalg.generic {indexing_maps = [#map17, #map19, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%640 : tensor<20x9216x77xf32>) outs(%221, %219 : tensor<20x9216x1xf32>, tensor<20x9216x1xi64>) { | |
^bb0(%in: f32, %out: f32, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f32 | |
%6095 = arith.cmpf ogt, %in, %out : f32 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f32, i64 | |
} -> (tensor<20x9216x1xf32>, tensor<20x9216x1xi64>) | |
%642 = linalg.generic {indexing_maps = [#map17, #map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%640, %641#0 : tensor<20x9216x77xf32>, tensor<20x9216x1xf32>) outs(%314 : tensor<20x9216x77xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.subf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x9216x77xf32> | |
%643 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%642 : tensor<20x9216x77xf32>) outs(%314 : tensor<20x9216x77xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.exp %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x9216x77xf32> | |
%644 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%643 : tensor<20x9216x77xf32>) outs(%225 : tensor<20x9216x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x9216x1xf32> | |
%645 = linalg.generic {indexing_maps = [#map17, #map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%643, %644 : tensor<20x9216x77xf32>, tensor<20x9216x1xf32>) outs(%314 : tensor<20x9216x77xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.divf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<20x9216x77xf32> | |
%646 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%645 : tensor<20x9216x77xf32>) outs(%326 : tensor<20x9216x77xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<20x9216x77xf16> | |
%647 = linalg.batch_matmul ins(%646, %collapsed_1142 : tensor<20x9216x77xf16>, tensor<20x77x64xf16>) outs(%231 : tensor<20x9216x64xf16>) -> tensor<20x9216x64xf16> | |
%expanded_1143 = tensor.expand_shape %647 [[0, 1], [2], [3]] : tensor<20x9216x64xf16> into tensor<4x5x9216x64xf16> | |
%648 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1143 : tensor<4x5x9216x64xf16>) outs(%233 : tensor<4x9216x5x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x5x64xf16> | |
%collapsed_1144 = tensor.collapse_shape %648 [[0], [1], [2, 3]] : tensor<4x9216x5x64xf16> into tensor<4x9216x320xf16> | |
%expanded_1145 = tensor.expand_shape %collapsed_1144 [[0], [1], [2, 3]] : tensor<4x9216x320xf16> into tensor<4x9216x20x16xf16> | |
%649 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1145 : tensor<4x9216x20x16xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%650:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%649 : tensor<4x9216x20x16xf16>) outs(%147, %145 : tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) | |
%651 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%650#0 : tensor<4x9216x20x1xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%collapsed_1146 = tensor.collapse_shape %651 [[0], [1], [2, 3]] : tensor<4x9216x20x16xf16> into tensor<4x9216x320xf16> | |
%652 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1146 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%653 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1144, %652 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%654 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%653, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%655 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%654 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%656 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%655 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x9216x320xf16> | |
%657 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%656, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%658 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%657, %652 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%659 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_848 : tensor<320x20x1xf16>) outs(%158 : tensor<320x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x20x16xf16> | |
%collapsed_1147 = tensor.collapse_shape %659 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
%660 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_847, %collapsed_1147 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x320xf16> | |
%661 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%660 : tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x320xf16> | |
%collapsed_1148 = tensor.collapse_shape %658 [[0, 1], [2]] : tensor<4x9216x320xf16> into tensor<36864x320xf16> | |
%662 = linalg.matmul ins(%collapsed_1148, %661 : tensor<36864x320xf16>, tensor<320x320xf16>) outs(%164 : tensor<36864x320xf16>) -> tensor<36864x320xf16> | |
%663 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_846, %662 : tensor<320xf16>, tensor<36864x320xf16>) outs(%163 : tensor<36864x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<36864x320xf16> | |
%expanded_1149 = tensor.expand_shape %663 [[0, 1], [2]] : tensor<36864x320xf16> into tensor<4x9216x320xf16> | |
%664 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1149, %596 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%665 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%664 : tensor<4x9216x320xf16>) outs(%168 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%666 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%665 : tensor<4x9216x1xf16>) outs(%167 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_961 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%667 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%666 : tensor<4x9216x1xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x320xf16> | |
%668 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%664, %667 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%669 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%668, %668 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%670 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%669 : tensor<4x9216x320xf16>) outs(%168 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%671 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%670 : tensor<4x9216x1xf16>) outs(%167 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_961 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%672 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%671 : tensor<4x9216x1xf16>) outs(%167 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.truncf %cst_953 : f64 to f16 | |
%6093 = arith.addf %in, %6092 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<4x9216x1xf16> | |
%673 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%672 : tensor<4x9216x1xf16>) outs(%167 : tensor<4x9216x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.rsqrt %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1xf16> | |
%674 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%673 : tensor<4x9216x1xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x320xf16> | |
%675 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%668, %674 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%676 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%675, %cst_845 : tensor<4x9216x320xf16>, tensor<320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%677 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%676, %cst_844 : tensor<4x9216x320xf16>, tensor<320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%expanded_1150 = tensor.expand_shape %677 [[0], [1], [2, 3]] : tensor<4x9216x320xf16> into tensor<4x9216x20x16xf16> | |
%678 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1150 : tensor<4x9216x20x16xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%679:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%678 : tensor<4x9216x20x16xf16>) outs(%147, %145 : tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) | |
%680 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%679#0 : tensor<4x9216x20x1xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%collapsed_1151 = tensor.collapse_shape %680 [[0], [1], [2, 3]] : tensor<4x9216x20x16xf16> into tensor<4x9216x320xf16> | |
%681 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1151 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%682 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%677, %681 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%683 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%682, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%684 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%683 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%685 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%684 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x9216x320xf16> | |
%686 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%685, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%687 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%686, %681 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%688 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_843 : tensor<2560x20x1xf16>) outs(%369 : tensor<2560x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<2560x20x16xf16> | |
%collapsed_1152 = tensor.collapse_shape %688 [[0], [1, 2]] : tensor<2560x20x16xf16> into tensor<2560x320xf16> | |
%689 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_842, %collapsed_1152 : tensor<2560x320xi8>, tensor<2560x320xf16>) outs(%371 : tensor<2560x320xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<2560x320xf16> | |
%690 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%689 : tensor<2560x320xf16>) outs(%373 : tensor<320x2560xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x2560xf16> | |
%collapsed_1153 = tensor.collapse_shape %687 [[0, 1], [2]] : tensor<4x9216x320xf16> into tensor<36864x320xf16> | |
%691 = linalg.matmul ins(%collapsed_1153, %690 : tensor<36864x320xf16>, tensor<320x2560xf16>) outs(%376 : tensor<36864x2560xf16>) -> tensor<36864x2560xf16> | |
%692 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_841, %691 : tensor<2560xf16>, tensor<36864x2560xf16>) outs(%375 : tensor<36864x2560xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<36864x2560xf16> | |
%expanded_1154 = tensor.expand_shape %692 [[0, 1], [2]] : tensor<36864x2560xf16> into tensor<4x9216x2560xf16> | |
%extracted_slice_1155 = tensor.extract_slice %expanded_1154[0, 0, 0] [4, 9216, 1280] [1, 1, 1] : tensor<4x9216x2560xf16> to tensor<4x9216x1280xf16> | |
%extracted_slice_1156 = tensor.extract_slice %expanded_1154[0, 0, 1280] [4, 9216, 1280] [1, 1, 1] : tensor<4x9216x2560xf16> to tensor<4x9216x1280xf16> | |
%693 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%extracted_slice_1156 : tensor<4x9216x1280xf16>) outs(%379 : tensor<4x9216x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.sqrt %cst_950 : f16 | |
%6093 = arith.divf %in, %6092 : f16 | |
%6094 = math.erf %6093 : f16 | |
%6095 = arith.addf %6094, %cst_947 : f16 | |
%6096 = arith.mulf %6095, %cst_951 : f16 | |
%6097 = arith.mulf %in, %6096 : f16 | |
linalg.yield %6097 : f16 | |
} -> tensor<4x9216x1280xf16> | |
%694 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%extracted_slice_1155, %693 : tensor<4x9216x1280xf16>, tensor<4x9216x1280xf16>) outs(%379 : tensor<4x9216x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1280xf16> | |
%expanded_1157 = tensor.expand_shape %694 [[0], [1], [2, 3]] : tensor<4x9216x1280xf16> into tensor<4x9216x80x16xf16> | |
%695 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1157 : tensor<4x9216x80x16xf16>) outs(%382 : tensor<4x9216x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x80x16xf16> | |
%696:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%695 : tensor<4x9216x80x16xf16>) outs(%387, %385 : tensor<4x9216x80x1xf16>, tensor<4x9216x80x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x9216x80x1xf16>, tensor<4x9216x80x1xi64>) | |
%697 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%696#0 : tensor<4x9216x80x1xf16>) outs(%382 : tensor<4x9216x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x80x16xf16> | |
%collapsed_1158 = tensor.collapse_shape %697 [[0], [1], [2, 3]] : tensor<4x9216x80x16xf16> into tensor<4x9216x1280xf16> | |
%698 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1158 : tensor<4x9216x1280xf16>) outs(%379 : tensor<4x9216x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1280xf16> | |
%699 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%694, %698 : tensor<4x9216x1280xf16>, tensor<4x9216x1280xf16>) outs(%379 : tensor<4x9216x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1280xf16> | |
%700 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%699, %cst_935 : tensor<4x9216x1280xf16>, tensor<f16>) outs(%379 : tensor<4x9216x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1280xf16> | |
%701 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%700 : tensor<4x9216x1280xf16>) outs(%379 : tensor<4x9216x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1280xf16> | |
%702 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%701 : tensor<4x9216x1280xf16>) outs(%379 : tensor<4x9216x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x9216x1280xf16> | |
%703 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%702, %cst_935 : tensor<4x9216x1280xf16>, tensor<f16>) outs(%379 : tensor<4x9216x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1280xf16> | |
%704 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%703, %698 : tensor<4x9216x1280xf16>, tensor<4x9216x1280xf16>) outs(%379 : tensor<4x9216x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x1280xf16> | |
%705 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_840 : tensor<320x80x1xf16>) outs(%397 : tensor<320x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x80x16xf16> | |
%collapsed_1159 = tensor.collapse_shape %705 [[0], [1, 2]] : tensor<320x80x16xf16> into tensor<320x1280xf16> | |
%706 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_839, %collapsed_1159 : tensor<320x1280xi8>, tensor<320x1280xf16>) outs(%15 : tensor<320x1280xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x1280xf16> | |
%707 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%706 : tensor<320x1280xf16>) outs(%80 : tensor<1280x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x320xf16> | |
%collapsed_1160 = tensor.collapse_shape %704 [[0, 1], [2]] : tensor<4x9216x1280xf16> into tensor<36864x1280xf16> | |
%708 = linalg.matmul ins(%collapsed_1160, %707 : tensor<36864x1280xf16>, tensor<1280x320xf16>) outs(%164 : tensor<36864x320xf16>) -> tensor<36864x320xf16> | |
%709 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_838, %708 : tensor<320xf16>, tensor<36864x320xf16>) outs(%163 : tensor<36864x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<36864x320xf16> | |
%expanded_1161 = tensor.expand_shape %709 [[0, 1], [2]] : tensor<36864x320xf16> into tensor<4x9216x320xf16> | |
%710 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1161, %664 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%expanded_1162 = tensor.expand_shape %710 [[0], [1], [2, 3]] : tensor<4x9216x320xf16> into tensor<4x9216x20x16xf16> | |
%711 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1162 : tensor<4x9216x20x16xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%712:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%711 : tensor<4x9216x20x16xf16>) outs(%147, %145 : tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x9216x20x1xf16>, tensor<4x9216x20x1xi64>) | |
%713 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%712#0 : tensor<4x9216x20x1xf16>) outs(%142 : tensor<4x9216x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x9216x20x16xf16> | |
%collapsed_1163 = tensor.collapse_shape %713 [[0], [1], [2, 3]] : tensor<4x9216x20x16xf16> into tensor<4x9216x320xf16> | |
%714 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1163 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%715 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%710, %714 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%716 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%715, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%717 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%716 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%718 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%717 : tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x9216x320xf16> | |
%719 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%718, %cst_935 : tensor<4x9216x320xf16>, tensor<f16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%720 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%719, %714 : tensor<4x9216x320xf16>, tensor<4x9216x320xf16>) outs(%150 : tensor<4x9216x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x9216x320xf16> | |
%721 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_837 : tensor<320x20x1xf16>) outs(%158 : tensor<320x20x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x20x16xf16> | |
%collapsed_1164 = tensor.collapse_shape %721 [[0], [1, 2]] : tensor<320x20x16xf16> into tensor<320x320xf16> | |
%722 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_836, %collapsed_1164 : tensor<320x320xi8>, tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x320xf16> | |
%723 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%722 : tensor<320x320xf16>) outs(%160 : tensor<320x320xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x320xf16> | |
%collapsed_1165 = tensor.collapse_shape %720 [[0, 1], [2]] : tensor<4x9216x320xf16> into tensor<36864x320xf16> | |
%724 = linalg.matmul ins(%collapsed_1165, %723 : tensor<36864x320xf16>, tensor<320x320xf16>) outs(%164 : tensor<36864x320xf16>) -> tensor<36864x320xf16> | |
%725 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_835, %724 : tensor<320xf16>, tensor<36864x320xf16>) outs(%163 : tensor<36864x320xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<36864x320xf16> | |
%expanded_1166 = tensor.expand_shape %725 [[0, 1, 2], [3]] : tensor<36864x320xf16> into tensor<4x96x96x320xf16> | |
%726 = linalg.generic {indexing_maps = [#map9, #map23], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1166 : tensor<4x96x96x320xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x320x96x96xf16> | |
%727 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%726, %494 : tensor<4x320x96x96xf16>, tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%expanded_1167 = tensor.expand_shape %727 [[0], [1, 2], [3], [4]] : tensor<4x320x96x96xf16> into tensor<4x20x16x96x96xf16> | |
%728 = linalg.generic {indexing_maps = [#map13, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1167 : tensor<4x20x16x96x96xf16>) outs(%57 : tensor<4x20x16x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x20x16x96x96xf16> | |
%729:2 = linalg.generic {indexing_maps = [#map13, #map14, #map14], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%728 : tensor<4x20x16x96x96xf16>) outs(%62, %60 : tensor<4x20x1x96x96xf16>, tensor<4x20x1x96x96xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x20x1x96x96xf16>, tensor<4x20x1x96x96xi64>) | |
%730 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%729#0 : tensor<4x20x1x96x96xf16>) outs(%57 : tensor<4x20x16x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x20x16x96x96xf16> | |
%collapsed_1168 = tensor.collapse_shape %730 [[0], [1, 2], [3], [4]] : tensor<4x20x16x96x96xf16> into tensor<4x320x96x96xf16> | |
%731 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1168 : tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%732 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%727, %731 : tensor<4x320x96x96xf16>, tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%733 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%732, %cst_935 : tensor<4x320x96x96xf16>, tensor<f16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%734 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%733 : tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%735 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%734 : tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%736 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%735, %cst_935 : tensor<4x320x96x96xf16>, tensor<f16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%737 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%736, %731 : tensor<4x320x96x96xf16>, tensor<4x320x96x96xf16>) outs(%27 : tensor<4x320x96x96xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x96x96xf16> | |
%738 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_834 : tensor<320x20x1x3x3xf16>) outs(%72 : tensor<320x20x16x3x3xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<320x20x16x3x3xf16> | |
%collapsed_1169 = tensor.collapse_shape %738 [[0], [1, 2], [3], [4]] : tensor<320x20x16x3x3xf16> into tensor<320x320x3x3xf16> | |
%739 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_833, %collapsed_1169 : tensor<320x320x3x3xi8>, tensor<320x320x3x3xf16>) outs(%74 : tensor<320x320x3x3xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<320x320x3x3xf16> | |
%padded_1170 = tensor.pad %737 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<4x320x96x96xf16> to tensor<4x320x98x98xf16> | |
%740 = tensor.empty() : tensor<4x320x48x48xf16> | |
%741 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_832 : tensor<320xf16>) outs(%740 : tensor<4x320x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x320x48x48xf16> | |
%742 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<2> : vector<2xi64>} ins(%padded_1170, %739 : tensor<4x320x98x98xf16>, tensor<320x320x3x3xf16>) outs(%741 : tensor<4x320x48x48xf16>) -> tensor<4x320x48x48xf16> | |
%collapsed_1171 = tensor.collapse_shape %742 [[0], [1], [2, 3]] : tensor<4x320x48x48xf16> into tensor<4x320x2304xf16> | |
%expanded_1172 = tensor.expand_shape %collapsed_1171 [[0], [1, 2], [3]] : tensor<4x320x2304xf16> into tensor<4x32x10x2304xf16> | |
%743 = tensor.empty() : tensor<4x32x10x2304xf32> | |
%744 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1172 : tensor<4x32x10x2304xf16>) outs(%743 : tensor<4x32x10x2304xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x10x2304xf32> | |
%745 = tensor.empty() : tensor<4x32x10x2304xf64> | |
%746 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%744 : tensor<4x32x10x2304xf32>) outs(%745 : tensor<4x32x10x2304xf64>) { | |
^bb0(%in: f32, %out: f64): | |
%6092 = arith.extf %in : f32 to f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x10x2304xf64> | |
%747 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%746 : tensor<4x32x10x2304xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%748 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%747 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_963 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%749 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%746, %748 : tensor<4x32x10x2304xf64>, tensor<4x32x1x1xf64>) outs(%745 : tensor<4x32x10x2304xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.subf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x10x2304xf64> | |
%750 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%749, %749 : tensor<4x32x10x2304xf64>, tensor<4x32x10x2304xf64>) outs(%745 : tensor<4x32x10x2304xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.mulf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x10x2304xf64> | |
%751 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%750 : tensor<4x32x10x2304xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%752 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%751 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_963 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%753 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%752 : tensor<4x32x1x1xf64>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f64, %out: f32): | |
%6092 = arith.truncf %in : f64 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%754 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%744 : tensor<4x32x10x2304xf32>) outs(%44 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%755 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%754 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.divf %in, %cst_964 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%756 = linalg.generic {indexing_maps = [#map10, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%753, %cst_938 : tensor<4x32x1x1xf32>, tensor<f16>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%757 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%756 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.rsqrt %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%758 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1172, %755 : tensor<4x32x10x2304xf16>, tensor<4x32x1x1xf32>) outs(%743 : tensor<4x32x10x2304xf32>) { | |
^bb0(%in: f16, %in_2626: f32, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
%6093 = arith.subf %6092, %in_2626 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x10x2304xf32> | |
%759 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%758, %757 : tensor<4x32x10x2304xf32>, tensor<4x32x1x1xf32>) outs(%743 : tensor<4x32x10x2304xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x10x2304xf32> | |
%collapsed_1173 = tensor.collapse_shape %759 [[0], [1, 2], [3]] : tensor<4x32x10x2304xf32> into tensor<4x320x2304xf32> | |
%expanded_1174 = tensor.expand_shape %collapsed_1173 [[0], [1], [2, 3]] : tensor<4x320x2304xf32> into tensor<4x320x48x48xf32> | |
%expanded_1175 = tensor.expand_shape %cst_831 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
%expanded_1176 = tensor.expand_shape %cst_830 [[0, 1, 2, 3]] : tensor<320xf16> into tensor<1x320x1x1xf16> | |
%760 = tensor.empty() : tensor<4x320x48x48xf32> | |
%761 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1174, %expanded_1176 : tensor<4x320x48x48xf32>, tensor<1x320x1x1xf16>) outs(%760 : tensor<4x320x48x48xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.mulf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x320x48x48xf32> | |
%762 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%761, %expanded_1175 : tensor<4x320x48x48xf32>, tensor<1x320x1x1xf16>) outs(%760 : tensor<4x320x48x48xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x320x48x48xf32> | |
%763 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%762 : tensor<4x320x48x48xf32>) outs(%740 : tensor<4x320x48x48xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x48x48xf16> | |
%764 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%763 : tensor<4x320x48x48xf16>) outs(%740 : tensor<4x320x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.negf %in : f16 | |
%6093 = math.exp %6092 : f16 | |
%6094 = arith.addf %6093, %cst_947 : f16 | |
%6095 = arith.divf %cst_947, %6094 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x320x48x48xf16> | |
%765 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%764, %763 : tensor<4x320x48x48xf16>, tensor<4x320x48x48xf16>) outs(%740 : tensor<4x320x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x48x48xf16> | |
%expanded_1177 = tensor.expand_shape %765 [[0], [1, 2], [3], [4]] : tensor<4x320x48x48xf16> into tensor<4x20x16x48x48xf16> | |
%766 = tensor.empty() : tensor<4x20x16x48x48xf16> | |
%767 = linalg.generic {indexing_maps = [#map13, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1177 : tensor<4x20x16x48x48xf16>) outs(%766 : tensor<4x20x16x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x20x16x48x48xf16> | |
%768 = tensor.empty() : tensor<4x20x1x48x48xi64> | |
%769 = linalg.fill ins(%c0_i64 : i64) outs(%768 : tensor<4x20x1x48x48xi64>) -> tensor<4x20x1x48x48xi64> | |
%770 = tensor.empty() : tensor<4x20x1x48x48xf16> | |
%771 = linalg.fill ins(%cst_948 : f16) outs(%770 : tensor<4x20x1x48x48xf16>) -> tensor<4x20x1x48x48xf16> | |
%772:2 = linalg.generic {indexing_maps = [#map13, #map14, #map14], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%767 : tensor<4x20x16x48x48xf16>) outs(%771, %769 : tensor<4x20x1x48x48xf16>, tensor<4x20x1x48x48xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x20x1x48x48xf16>, tensor<4x20x1x48x48xi64>) | |
%773 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%772#0 : tensor<4x20x1x48x48xf16>) outs(%766 : tensor<4x20x16x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x20x16x48x48xf16> | |
%collapsed_1178 = tensor.collapse_shape %773 [[0], [1, 2], [3], [4]] : tensor<4x20x16x48x48xf16> into tensor<4x320x48x48xf16> | |
%774 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1178 : tensor<4x320x48x48xf16>) outs(%740 : tensor<4x320x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x48x48xf16> | |
%775 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%765, %774 : tensor<4x320x48x48xf16>, tensor<4x320x48x48xf16>) outs(%740 : tensor<4x320x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x48x48xf16> | |
%776 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%775, %cst_935 : tensor<4x320x48x48xf16>, tensor<f16>) outs(%740 : tensor<4x320x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x48x48xf16> | |
%777 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%776 : tensor<4x320x48x48xf16>) outs(%740 : tensor<4x320x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x48x48xf16> | |
%778 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%777 : tensor<4x320x48x48xf16>) outs(%740 : tensor<4x320x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x320x48x48xf16> | |
%779 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%778, %cst_935 : tensor<4x320x48x48xf16>, tensor<f16>) outs(%740 : tensor<4x320x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x48x48xf16> | |
%780 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%779, %774 : tensor<4x320x48x48xf16>, tensor<4x320x48x48xf16>) outs(%740 : tensor<4x320x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x48x48xf16> | |
%781 = tensor.empty() : tensor<640x20x16x3x3xf16> | |
%782 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_829 : tensor<640x20x1x3x3xf16>) outs(%781 : tensor<640x20x16x3x3xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x20x16x3x3xf16> | |
%collapsed_1179 = tensor.collapse_shape %782 [[0], [1, 2], [3], [4]] : tensor<640x20x16x3x3xf16> into tensor<640x320x3x3xf16> | |
%783 = tensor.empty() : tensor<640x320x3x3xf16> | |
%784 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_828, %collapsed_1179 : tensor<640x320x3x3xi8>, tensor<640x320x3x3xf16>) outs(%783 : tensor<640x320x3x3xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x320x3x3xf16> | |
%padded_1180 = tensor.pad %780 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<4x320x48x48xf16> to tensor<4x320x50x50xf16> | |
%785 = tensor.empty() : tensor<4x640x48x48xf16> | |
%786 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_827 : tensor<640xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x640x48x48xf16> | |
%787 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1180, %784 : tensor<4x320x50x50xf16>, tensor<640x320x3x3xf16>) outs(%786 : tensor<4x640x48x48xf16>) -> tensor<4x640x48x48xf16> | |
%788 = tensor.empty() : tensor<1280x640xf16> | |
%789 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_826 : tensor<640x1280xf16>) outs(%788 : tensor<1280x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x640xf16> | |
%790 = tensor.empty() : tensor<4x640xf16> | |
%791 = linalg.fill ins(%cst_946 : f16) outs(%790 : tensor<4x640xf16>) -> tensor<4x640xf16> | |
%792 = linalg.matmul ins(%79, %789 : tensor<4x1280xf16>, tensor<1280x640xf16>) outs(%791 : tensor<4x640xf16>) -> tensor<4x640xf16> | |
%793 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_825, %792 : tensor<640xf16>, tensor<4x640xf16>) outs(%790 : tensor<4x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640xf16> | |
%expanded_1181 = tensor.expand_shape %793 [[0], [1, 2, 3]] : tensor<4x640xf16> into tensor<4x640x1x1xf16> | |
%794 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%787, %expanded_1181 : tensor<4x640x48x48xf16>, tensor<4x640x1x1xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%collapsed_1182 = tensor.collapse_shape %794 [[0], [1], [2, 3]] : tensor<4x640x48x48xf16> into tensor<4x640x2304xf16> | |
%expanded_1183 = tensor.expand_shape %collapsed_1182 [[0], [1, 2], [3]] : tensor<4x640x2304xf16> into tensor<4x32x20x2304xf16> | |
%795 = tensor.empty() : tensor<4x32x20x2304xf32> | |
%796 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1183 : tensor<4x32x20x2304xf16>) outs(%795 : tensor<4x32x20x2304xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x20x2304xf32> | |
%797 = tensor.empty() : tensor<4x32x20x2304xf64> | |
%798 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%796 : tensor<4x32x20x2304xf32>) outs(%797 : tensor<4x32x20x2304xf64>) { | |
^bb0(%in: f32, %out: f64): | |
%6092 = arith.extf %in : f32 to f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x20x2304xf64> | |
%799 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%798 : tensor<4x32x20x2304xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%800 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%799 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_965 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%801 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%798, %800 : tensor<4x32x20x2304xf64>, tensor<4x32x1x1xf64>) outs(%797 : tensor<4x32x20x2304xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.subf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x20x2304xf64> | |
%802 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%801, %801 : tensor<4x32x20x2304xf64>, tensor<4x32x20x2304xf64>) outs(%797 : tensor<4x32x20x2304xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.mulf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x20x2304xf64> | |
%803 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%802 : tensor<4x32x20x2304xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%804 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%803 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_965 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%805 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%804 : tensor<4x32x1x1xf64>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f64, %out: f32): | |
%6092 = arith.truncf %in : f64 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%806 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%796 : tensor<4x32x20x2304xf32>) outs(%44 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%807 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%806 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.divf %in, %cst_966 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%808 = linalg.generic {indexing_maps = [#map10, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%805, %cst_938 : tensor<4x32x1x1xf32>, tensor<f16>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%809 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%808 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.rsqrt %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%810 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1183, %807 : tensor<4x32x20x2304xf16>, tensor<4x32x1x1xf32>) outs(%795 : tensor<4x32x20x2304xf32>) { | |
^bb0(%in: f16, %in_2626: f32, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
%6093 = arith.subf %6092, %in_2626 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x20x2304xf32> | |
%811 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%810, %809 : tensor<4x32x20x2304xf32>, tensor<4x32x1x1xf32>) outs(%795 : tensor<4x32x20x2304xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x20x2304xf32> | |
%collapsed_1184 = tensor.collapse_shape %811 [[0], [1, 2], [3]] : tensor<4x32x20x2304xf32> into tensor<4x640x2304xf32> | |
%expanded_1185 = tensor.expand_shape %collapsed_1184 [[0], [1], [2, 3]] : tensor<4x640x2304xf32> into tensor<4x640x48x48xf32> | |
%expanded_1186 = tensor.expand_shape %cst_824 [[0, 1, 2, 3]] : tensor<640xf16> into tensor<1x640x1x1xf16> | |
%expanded_1187 = tensor.expand_shape %cst_823 [[0, 1, 2, 3]] : tensor<640xf16> into tensor<1x640x1x1xf16> | |
%812 = tensor.empty() : tensor<4x640x48x48xf32> | |
%813 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1185, %expanded_1187 : tensor<4x640x48x48xf32>, tensor<1x640x1x1xf16>) outs(%812 : tensor<4x640x48x48xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.mulf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x640x48x48xf32> | |
%814 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%813, %expanded_1186 : tensor<4x640x48x48xf32>, tensor<1x640x1x1xf16>) outs(%812 : tensor<4x640x48x48xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x640x48x48xf32> | |
%815 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%814 : tensor<4x640x48x48xf32>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%816 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%815 : tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.negf %in : f16 | |
%6093 = math.exp %6092 : f16 | |
%6094 = arith.addf %6093, %cst_947 : f16 | |
%6095 = arith.divf %cst_947, %6094 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%817 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%816, %815 : tensor<4x640x48x48xf16>, tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%expanded_1188 = tensor.expand_shape %817 [[0], [1, 2], [3], [4]] : tensor<4x640x48x48xf16> into tensor<4x40x16x48x48xf16> | |
%818 = tensor.empty() : tensor<4x40x16x48x48xf16> | |
%819 = linalg.generic {indexing_maps = [#map13, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1188 : tensor<4x40x16x48x48xf16>) outs(%818 : tensor<4x40x16x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x40x16x48x48xf16> | |
%820 = tensor.empty() : tensor<4x40x1x48x48xi64> | |
%821 = linalg.fill ins(%c0_i64 : i64) outs(%820 : tensor<4x40x1x48x48xi64>) -> tensor<4x40x1x48x48xi64> | |
%822 = tensor.empty() : tensor<4x40x1x48x48xf16> | |
%823 = linalg.fill ins(%cst_948 : f16) outs(%822 : tensor<4x40x1x48x48xf16>) -> tensor<4x40x1x48x48xf16> | |
%824:2 = linalg.generic {indexing_maps = [#map13, #map14, #map14], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%819 : tensor<4x40x16x48x48xf16>) outs(%823, %821 : tensor<4x40x1x48x48xf16>, tensor<4x40x1x48x48xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x40x1x48x48xf16>, tensor<4x40x1x48x48xi64>) | |
%825 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%824#0 : tensor<4x40x1x48x48xf16>) outs(%818 : tensor<4x40x16x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x40x16x48x48xf16> | |
%collapsed_1189 = tensor.collapse_shape %825 [[0], [1, 2], [3], [4]] : tensor<4x40x16x48x48xf16> into tensor<4x640x48x48xf16> | |
%826 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1189 : tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%827 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%817, %826 : tensor<4x640x48x48xf16>, tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%828 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%827, %cst_935 : tensor<4x640x48x48xf16>, tensor<f16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%829 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%828 : tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%830 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%829 : tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%831 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%830, %cst_935 : tensor<4x640x48x48xf16>, tensor<f16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%832 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%831, %826 : tensor<4x640x48x48xf16>, tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%833 = tensor.empty() : tensor<640x40x16x3x3xf16> | |
%834 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_822 : tensor<640x40x1x3x3xf16>) outs(%833 : tensor<640x40x16x3x3xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x40x16x3x3xf16> | |
%collapsed_1190 = tensor.collapse_shape %834 [[0], [1, 2], [3], [4]] : tensor<640x40x16x3x3xf16> into tensor<640x640x3x3xf16> | |
%835 = tensor.empty() : tensor<640x640x3x3xf16> | |
%836 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_821, %collapsed_1190 : tensor<640x640x3x3xi8>, tensor<640x640x3x3xf16>) outs(%835 : tensor<640x640x3x3xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x640x3x3xf16> | |
%padded_1191 = tensor.pad %832 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<4x640x48x48xf16> to tensor<4x640x50x50xf16> | |
%837 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_820 : tensor<640xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x640x48x48xf16> | |
%838 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1191, %836 : tensor<4x640x50x50xf16>, tensor<640x640x3x3xf16>) outs(%837 : tensor<4x640x48x48xf16>) -> tensor<4x640x48x48xf16> | |
%expanded_1192 = tensor.expand_shape %742 [[0], [1, 2], [3], [4]] : tensor<4x320x48x48xf16> into tensor<4x20x16x48x48xf16> | |
%839 = linalg.generic {indexing_maps = [#map13, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1192 : tensor<4x20x16x48x48xf16>) outs(%766 : tensor<4x20x16x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x20x16x48x48xf16> | |
%840:2 = linalg.generic {indexing_maps = [#map13, #map14, #map14], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%839 : tensor<4x20x16x48x48xf16>) outs(%771, %769 : tensor<4x20x1x48x48xf16>, tensor<4x20x1x48x48xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x20x1x48x48xf16>, tensor<4x20x1x48x48xi64>) | |
%841 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%840#0 : tensor<4x20x1x48x48xf16>) outs(%766 : tensor<4x20x16x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x20x16x48x48xf16> | |
%collapsed_1193 = tensor.collapse_shape %841 [[0], [1, 2], [3], [4]] : tensor<4x20x16x48x48xf16> into tensor<4x320x48x48xf16> | |
%842 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1193 : tensor<4x320x48x48xf16>) outs(%740 : tensor<4x320x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x48x48xf16> | |
%843 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%742, %842 : tensor<4x320x48x48xf16>, tensor<4x320x48x48xf16>) outs(%740 : tensor<4x320x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x48x48xf16> | |
%844 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%843, %cst_935 : tensor<4x320x48x48xf16>, tensor<f16>) outs(%740 : tensor<4x320x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x48x48xf16> | |
%845 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%844 : tensor<4x320x48x48xf16>) outs(%740 : tensor<4x320x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x48x48xf16> | |
%846 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%845 : tensor<4x320x48x48xf16>) outs(%740 : tensor<4x320x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x320x48x48xf16> | |
%847 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%846, %cst_935 : tensor<4x320x48x48xf16>, tensor<f16>) outs(%740 : tensor<4x320x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x48x48xf16> | |
%848 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%847, %842 : tensor<4x320x48x48xf16>, tensor<4x320x48x48xf16>) outs(%740 : tensor<4x320x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x320x48x48xf16> | |
%849 = tensor.empty() : tensor<640x20x16x1x1xf16> | |
%850 = linalg.generic {indexing_maps = [#map24, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_819 : tensor<640x20x1x1x1xf16>) outs(%849 : tensor<640x20x16x1x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x20x16x1x1xf16> | |
%851 = linalg.generic {indexing_maps = [#map25, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%850 : tensor<640x20x16x1x1xf16>) outs(%849 : tensor<640x20x16x1x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x20x16x1x1xf16> | |
%collapsed_1194 = tensor.collapse_shape %851 [[0], [1, 2], [3], [4]] : tensor<640x20x16x1x1xf16> into tensor<640x320x1x1xf16> | |
%852 = tensor.empty() : tensor<640x320x1x1xf16> | |
%853 = linalg.generic {indexing_maps = [#map10, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_818, %collapsed_1194 : tensor<640x320x1x1xi8>, tensor<640x320x1x1xf16>) outs(%852 : tensor<640x320x1x1xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x320x1x1xf16> | |
%854 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_817 : tensor<640xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x640x48x48xf16> | |
%855 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%848, %853 : tensor<4x320x48x48xf16>, tensor<640x320x1x1xf16>) outs(%854 : tensor<4x640x48x48xf16>) -> tensor<4x640x48x48xf16> | |
%856 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%855, %838 : tensor<4x640x48x48xf16>, tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%857 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%856, %cst_924 : tensor<4x640x48x48xf16>, tensor<f16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%collapsed_1195 = tensor.collapse_shape %857 [[0], [1], [2, 3]] : tensor<4x640x48x48xf16> into tensor<4x640x2304xf16> | |
%expanded_1196 = tensor.expand_shape %collapsed_1195 [[0], [1, 2], [3]] : tensor<4x640x2304xf16> into tensor<4x32x20x2304xf16> | |
%858 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1196 : tensor<4x32x20x2304xf16>) outs(%795 : tensor<4x32x20x2304xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x20x2304xf32> | |
%859 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%858 : tensor<4x32x20x2304xf32>) outs(%797 : tensor<4x32x20x2304xf64>) { | |
^bb0(%in: f32, %out: f64): | |
%6092 = arith.extf %in : f32 to f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x20x2304xf64> | |
%860 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%859 : tensor<4x32x20x2304xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%861 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%860 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_965 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%862 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%859, %861 : tensor<4x32x20x2304xf64>, tensor<4x32x1x1xf64>) outs(%797 : tensor<4x32x20x2304xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.subf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x20x2304xf64> | |
%863 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%862, %862 : tensor<4x32x20x2304xf64>, tensor<4x32x20x2304xf64>) outs(%797 : tensor<4x32x20x2304xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.mulf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x20x2304xf64> | |
%864 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%863 : tensor<4x32x20x2304xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%865 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%864 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_965 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%866 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%865 : tensor<4x32x1x1xf64>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f64, %out: f32): | |
%6092 = arith.truncf %in : f64 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%867 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%858 : tensor<4x32x20x2304xf32>) outs(%44 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%868 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%867 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.divf %in, %cst_966 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%869 = linalg.generic {indexing_maps = [#map10, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%866, %cst_923 : tensor<4x32x1x1xf32>, tensor<f16>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%870 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%869 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.rsqrt %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%871 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1196, %868 : tensor<4x32x20x2304xf16>, tensor<4x32x1x1xf32>) outs(%795 : tensor<4x32x20x2304xf32>) { | |
^bb0(%in: f16, %in_2626: f32, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
%6093 = arith.subf %6092, %in_2626 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x20x2304xf32> | |
%872 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%871, %870 : tensor<4x32x20x2304xf32>, tensor<4x32x1x1xf32>) outs(%795 : tensor<4x32x20x2304xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x20x2304xf32> | |
%collapsed_1197 = tensor.collapse_shape %872 [[0], [1, 2], [3]] : tensor<4x32x20x2304xf32> into tensor<4x640x2304xf32> | |
%expanded_1198 = tensor.expand_shape %collapsed_1197 [[0], [1], [2, 3]] : tensor<4x640x2304xf32> into tensor<4x640x48x48xf32> | |
%expanded_1199 = tensor.expand_shape %cst_816 [[0, 1, 2, 3]] : tensor<640xf16> into tensor<1x640x1x1xf16> | |
%expanded_1200 = tensor.expand_shape %cst_815 [[0, 1, 2, 3]] : tensor<640xf16> into tensor<1x640x1x1xf16> | |
%873 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1198, %expanded_1200 : tensor<4x640x48x48xf32>, tensor<1x640x1x1xf16>) outs(%812 : tensor<4x640x48x48xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.mulf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x640x48x48xf32> | |
%874 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%873, %expanded_1199 : tensor<4x640x48x48xf32>, tensor<1x640x1x1xf16>) outs(%812 : tensor<4x640x48x48xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x640x48x48xf32> | |
%875 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%874 : tensor<4x640x48x48xf32>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%876 = tensor.empty() : tensor<4x48x48x640xf16> | |
%877 = linalg.generic {indexing_maps = [#map9, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%875 : tensor<4x640x48x48xf16>) outs(%876 : tensor<4x48x48x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x48x48x640xf16> | |
%collapsed_1201 = tensor.collapse_shape %877 [[0], [1, 2], [3]] : tensor<4x48x48x640xf16> into tensor<4x2304x640xf16> | |
%expanded_1202 = tensor.expand_shape %collapsed_1201 [[0], [1], [2, 3]] : tensor<4x2304x640xf16> into tensor<4x2304x40x16xf16> | |
%878 = tensor.empty() : tensor<4x2304x40x16xf16> | |
%879 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1202 : tensor<4x2304x40x16xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%880 = tensor.empty() : tensor<4x2304x40x1xi64> | |
%881 = linalg.fill ins(%c0_i64 : i64) outs(%880 : tensor<4x2304x40x1xi64>) -> tensor<4x2304x40x1xi64> | |
%882 = tensor.empty() : tensor<4x2304x40x1xf16> | |
%883 = linalg.fill ins(%cst_948 : f16) outs(%882 : tensor<4x2304x40x1xf16>) -> tensor<4x2304x40x1xf16> | |
%884:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%879 : tensor<4x2304x40x16xf16>) outs(%883, %881 : tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) | |
%885 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%884#0 : tensor<4x2304x40x1xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%collapsed_1203 = tensor.collapse_shape %885 [[0], [1], [2, 3]] : tensor<4x2304x40x16xf16> into tensor<4x2304x640xf16> | |
%886 = tensor.empty() : tensor<4x2304x640xf16> | |
%887 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1203 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%888 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1201, %887 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%889 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%888, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%890 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%889 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%891 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%890 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x2304x640xf16> | |
%892 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%891, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%893 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%892, %887 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%894 = tensor.empty() : tensor<640x40x16xf16> | |
%895 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_814 : tensor<640x40x1xf16>) outs(%894 : tensor<640x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x40x16xf16> | |
%collapsed_1204 = tensor.collapse_shape %895 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
%896 = tensor.empty() : tensor<640x640xf16> | |
%897 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_813, %collapsed_1204 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x640xf16> | |
%898 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%897 : tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x640xf16> | |
%collapsed_1205 = tensor.collapse_shape %893 [[0, 1], [2]] : tensor<4x2304x640xf16> into tensor<9216x640xf16> | |
%899 = tensor.empty() : tensor<9216x640xf16> | |
%900 = linalg.fill ins(%cst_946 : f16) outs(%899 : tensor<9216x640xf16>) -> tensor<9216x640xf16> | |
%901 = linalg.matmul ins(%collapsed_1205, %898 : tensor<9216x640xf16>, tensor<640x640xf16>) outs(%900 : tensor<9216x640xf16>) -> tensor<9216x640xf16> | |
%902 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_812, %901 : tensor<640xf16>, tensor<9216x640xf16>) outs(%899 : tensor<9216x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<9216x640xf16> | |
%expanded_1206 = tensor.expand_shape %902 [[0, 1], [2]] : tensor<9216x640xf16> into tensor<4x2304x640xf16> | |
%903 = tensor.empty() : tensor<4x2304x1xf16> | |
%904 = linalg.fill ins(%cst_946 : f16) outs(%903 : tensor<4x2304x1xf16>) -> tensor<4x2304x1xf16> | |
%905 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%expanded_1206 : tensor<4x2304x640xf16>) outs(%904 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%906 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%905 : tensor<4x2304x1xf16>) outs(%903 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_967 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%907 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%906 : tensor<4x2304x1xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x640xf16> | |
%908 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1206, %907 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%909 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%908, %908 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%910 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%909 : tensor<4x2304x640xf16>) outs(%904 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%911 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%910 : tensor<4x2304x1xf16>) outs(%903 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_967 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%912 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%911 : tensor<4x2304x1xf16>) outs(%903 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.truncf %cst_953 : f64 to f16 | |
%6093 = arith.addf %in, %6092 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<4x2304x1xf16> | |
%913 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%912 : tensor<4x2304x1xf16>) outs(%903 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.rsqrt %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%914 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%913 : tensor<4x2304x1xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x640xf16> | |
%915 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%908, %914 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%916 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%915, %cst_811 : tensor<4x2304x640xf16>, tensor<640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%917 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%916, %cst_810 : tensor<4x2304x640xf16>, tensor<640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%expanded_1207 = tensor.expand_shape %917 [[0], [1], [2, 3]] : tensor<4x2304x640xf16> into tensor<4x2304x40x16xf16> | |
%918 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1207 : tensor<4x2304x40x16xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%919:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%918 : tensor<4x2304x40x16xf16>) outs(%883, %881 : tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) | |
%920 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%919#0 : tensor<4x2304x40x1xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%collapsed_1208 = tensor.collapse_shape %920 [[0], [1], [2, 3]] : tensor<4x2304x40x16xf16> into tensor<4x2304x640xf16> | |
%921 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1208 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%922 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%917, %921 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%923 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%922, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%924 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%923 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%925 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%924 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x2304x640xf16> | |
%926 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%925, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%927 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%926, %921 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%928 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_809 : tensor<640x40x1xf16>) outs(%894 : tensor<640x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x40x16xf16> | |
%collapsed_1209 = tensor.collapse_shape %928 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
%929 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_808, %collapsed_1209 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x640xf16> | |
%930 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%929 : tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x640xf16> | |
%collapsed_1210 = tensor.collapse_shape %927 [[0, 1], [2]] : tensor<4x2304x640xf16> into tensor<9216x640xf16> | |
%931 = linalg.matmul ins(%collapsed_1210, %930 : tensor<9216x640xf16>, tensor<640x640xf16>) outs(%900 : tensor<9216x640xf16>) -> tensor<9216x640xf16> | |
%expanded_1211 = tensor.expand_shape %931 [[0, 1], [2, 3]] : tensor<9216x640xf16> into tensor<4x2304x10x64xf16> | |
%932 = tensor.empty() : tensor<4x10x2304x64xf16> | |
%933 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1211 : tensor<4x2304x10x64xf16>) outs(%932 : tensor<4x10x2304x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x10x2304x64xf16> | |
%collapsed_1212 = tensor.collapse_shape %933 [[0, 1], [2], [3]] : tensor<4x10x2304x64xf16> into tensor<40x2304x64xf16> | |
%934 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_807 : tensor<640x40x1xf16>) outs(%894 : tensor<640x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x40x16xf16> | |
%collapsed_1213 = tensor.collapse_shape %934 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
%935 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_806, %collapsed_1213 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x640xf16> | |
%936 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%935 : tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x640xf16> | |
%937 = linalg.matmul ins(%collapsed_1210, %936 : tensor<9216x640xf16>, tensor<640x640xf16>) outs(%900 : tensor<9216x640xf16>) -> tensor<9216x640xf16> | |
%938 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_805 : tensor<640x40x1xf16>) outs(%894 : tensor<640x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x40x16xf16> | |
%collapsed_1214 = tensor.collapse_shape %938 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
%939 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_804, %collapsed_1214 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x640xf16> | |
%940 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%939 : tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x640xf16> | |
%941 = linalg.matmul ins(%collapsed_1210, %940 : tensor<9216x640xf16>, tensor<640x640xf16>) outs(%900 : tensor<9216x640xf16>) -> tensor<9216x640xf16> | |
%expanded_1215 = tensor.expand_shape %937 [[0, 1], [2, 3]] : tensor<9216x640xf16> into tensor<4x2304x10x64xf16> | |
%942 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1215 : tensor<4x2304x10x64xf16>) outs(%932 : tensor<4x10x2304x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x10x2304x64xf16> | |
%collapsed_1216 = tensor.collapse_shape %942 [[0, 1], [2], [3]] : tensor<4x10x2304x64xf16> into tensor<40x2304x64xf16> | |
%expanded_1217 = tensor.expand_shape %941 [[0, 1], [2, 3]] : tensor<9216x640xf16> into tensor<4x2304x10x64xf16> | |
%943 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1217 : tensor<4x2304x10x64xf16>) outs(%932 : tensor<4x10x2304x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x10x2304x64xf16> | |
%collapsed_1218 = tensor.collapse_shape %943 [[0, 1], [2], [3]] : tensor<4x10x2304x64xf16> into tensor<40x2304x64xf16> | |
%944 = tensor.empty() : tensor<40x2304x64xf32> | |
%945 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1212 : tensor<40x2304x64xf16>) outs(%944 : tensor<40x2304x64xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x2304x64xf32> | |
%946 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1216 : tensor<40x2304x64xf16>) outs(%944 : tensor<40x2304x64xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x2304x64xf32> | |
%947 = tensor.empty() : tensor<40x2304x2304xf32> | |
%948 = linalg.fill ins(%cst_954 : f32) outs(%947 : tensor<40x2304x2304xf32>) -> tensor<40x2304x2304xf32> | |
%949 = tensor.empty() : tensor<40x64x2304xf32> | |
%950 = linalg.generic {indexing_maps = [#map17, #map22], iterator_types = ["parallel", "parallel", "parallel"]} ins(%946 : tensor<40x2304x64xf32>) outs(%949 : tensor<40x64x2304xf32>) { | |
^bb0(%in: f32, %out: f32): | |
linalg.yield %in : f32 | |
} -> tensor<40x64x2304xf32> | |
%951 = linalg.batch_matmul ins(%945, %950 : tensor<40x2304x64xf32>, tensor<40x64x2304xf32>) outs(%948 : tensor<40x2304x2304xf32>) -> tensor<40x2304x2304xf32> | |
%952 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%951 : tensor<40x2304x2304xf32>) outs(%947 : tensor<40x2304x2304xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.mulf %in, %cst_962 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x2304x2304xf32> | |
%953 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%952, %948 : tensor<40x2304x2304xf32>, tensor<40x2304x2304xf32>) outs(%947 : tensor<40x2304x2304xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in_2626, %cst_954 : f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<40x2304x2304xf32> | |
%954 = tensor.empty() : tensor<40x2304x1xi64> | |
%955 = linalg.fill ins(%c0_i64 : i64) outs(%954 : tensor<40x2304x1xi64>) -> tensor<40x2304x1xi64> | |
%956 = tensor.empty() : tensor<40x2304x1xf32> | |
%957 = linalg.fill ins(%cst_949 : f32) outs(%956 : tensor<40x2304x1xf32>) -> tensor<40x2304x1xf32> | |
%958:2 = linalg.generic {indexing_maps = [#map17, #map19, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%953 : tensor<40x2304x2304xf32>) outs(%957, %955 : tensor<40x2304x1xf32>, tensor<40x2304x1xi64>) { | |
^bb0(%in: f32, %out: f32, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f32 | |
%6095 = arith.cmpf ogt, %in, %out : f32 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f32, i64 | |
} -> (tensor<40x2304x1xf32>, tensor<40x2304x1xi64>) | |
%959 = linalg.generic {indexing_maps = [#map17, #map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%953, %958#0 : tensor<40x2304x2304xf32>, tensor<40x2304x1xf32>) outs(%947 : tensor<40x2304x2304xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.subf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x2304x2304xf32> | |
%960 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%959 : tensor<40x2304x2304xf32>) outs(%947 : tensor<40x2304x2304xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.exp %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x2304x2304xf32> | |
%961 = linalg.fill ins(%cst_954 : f32) outs(%956 : tensor<40x2304x1xf32>) -> tensor<40x2304x1xf32> | |
%962 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%960 : tensor<40x2304x2304xf32>) outs(%961 : tensor<40x2304x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x2304x1xf32> | |
%963 = linalg.generic {indexing_maps = [#map17, #map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%960, %962 : tensor<40x2304x2304xf32>, tensor<40x2304x1xf32>) outs(%947 : tensor<40x2304x2304xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.divf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x2304x2304xf32> | |
%964 = tensor.empty() : tensor<40x2304x2304xf16> | |
%965 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%963 : tensor<40x2304x2304xf32>) outs(%964 : tensor<40x2304x2304xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<40x2304x2304xf16> | |
%966 = tensor.empty() : tensor<40x2304x64xf16> | |
%967 = linalg.fill ins(%cst_946 : f16) outs(%966 : tensor<40x2304x64xf16>) -> tensor<40x2304x64xf16> | |
%968 = linalg.batch_matmul ins(%965, %collapsed_1218 : tensor<40x2304x2304xf16>, tensor<40x2304x64xf16>) outs(%967 : tensor<40x2304x64xf16>) -> tensor<40x2304x64xf16> | |
%expanded_1219 = tensor.expand_shape %968 [[0, 1], [2], [3]] : tensor<40x2304x64xf16> into tensor<4x10x2304x64xf16> | |
%969 = tensor.empty() : tensor<4x2304x10x64xf16> | |
%970 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1219 : tensor<4x10x2304x64xf16>) outs(%969 : tensor<4x2304x10x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x10x64xf16> | |
%collapsed_1220 = tensor.collapse_shape %970 [[0], [1], [2, 3]] : tensor<4x2304x10x64xf16> into tensor<4x2304x640xf16> | |
%expanded_1221 = tensor.expand_shape %collapsed_1220 [[0], [1], [2, 3]] : tensor<4x2304x640xf16> into tensor<4x2304x40x16xf16> | |
%971 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1221 : tensor<4x2304x40x16xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%972:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%971 : tensor<4x2304x40x16xf16>) outs(%883, %881 : tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) | |
%973 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%972#0 : tensor<4x2304x40x1xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%collapsed_1222 = tensor.collapse_shape %973 [[0], [1], [2, 3]] : tensor<4x2304x40x16xf16> into tensor<4x2304x640xf16> | |
%974 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1222 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%975 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1220, %974 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%976 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%975, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%977 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%976 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%978 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%977 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x2304x640xf16> | |
%979 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%978, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%980 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%979, %974 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%981 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_803 : tensor<640x40x1xf16>) outs(%894 : tensor<640x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x40x16xf16> | |
%collapsed_1223 = tensor.collapse_shape %981 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
%982 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_802, %collapsed_1223 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x640xf16> | |
%983 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%982 : tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x640xf16> | |
%collapsed_1224 = tensor.collapse_shape %980 [[0, 1], [2]] : tensor<4x2304x640xf16> into tensor<9216x640xf16> | |
%984 = linalg.matmul ins(%collapsed_1224, %983 : tensor<9216x640xf16>, tensor<640x640xf16>) outs(%900 : tensor<9216x640xf16>) -> tensor<9216x640xf16> | |
%985 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_801, %984 : tensor<640xf16>, tensor<9216x640xf16>) outs(%899 : tensor<9216x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<9216x640xf16> | |
%expanded_1225 = tensor.expand_shape %985 [[0, 1], [2]] : tensor<9216x640xf16> into tensor<4x2304x640xf16> | |
%986 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1225, %expanded_1206 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%987 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%986 : tensor<4x2304x640xf16>) outs(%904 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%988 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%987 : tensor<4x2304x1xf16>) outs(%903 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_967 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%989 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%988 : tensor<4x2304x1xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x640xf16> | |
%990 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%986, %989 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%991 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%990, %990 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%992 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%991 : tensor<4x2304x640xf16>) outs(%904 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%993 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%992 : tensor<4x2304x1xf16>) outs(%903 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_967 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%994 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%993 : tensor<4x2304x1xf16>) outs(%903 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.truncf %cst_953 : f64 to f16 | |
%6093 = arith.addf %in, %6092 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<4x2304x1xf16> | |
%995 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%994 : tensor<4x2304x1xf16>) outs(%903 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.rsqrt %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%996 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%995 : tensor<4x2304x1xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x640xf16> | |
%997 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%990, %996 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%998 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%997, %cst_800 : tensor<4x2304x640xf16>, tensor<640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%999 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%998, %cst_799 : tensor<4x2304x640xf16>, tensor<640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%expanded_1226 = tensor.expand_shape %999 [[0], [1], [2, 3]] : tensor<4x2304x640xf16> into tensor<4x2304x40x16xf16> | |
%1000 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1226 : tensor<4x2304x40x16xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%1001:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1000 : tensor<4x2304x40x16xf16>) outs(%883, %881 : tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) | |
%1002 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1001#0 : tensor<4x2304x40x1xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%collapsed_1227 = tensor.collapse_shape %1002 [[0], [1], [2, 3]] : tensor<4x2304x40x16xf16> into tensor<4x2304x640xf16> | |
%1003 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1227 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1004 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%999, %1003 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1005 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1004, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1006 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1005 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1007 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1006 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1008 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1007, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1009 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1008, %1003 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1010 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_798 : tensor<640x40x1xf16>) outs(%894 : tensor<640x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x40x16xf16> | |
%collapsed_1228 = tensor.collapse_shape %1010 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
%1011 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_797, %collapsed_1228 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x640xf16> | |
%1012 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1011 : tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x640xf16> | |
%collapsed_1229 = tensor.collapse_shape %1009 [[0, 1], [2]] : tensor<4x2304x640xf16> into tensor<9216x640xf16> | |
%1013 = linalg.matmul ins(%collapsed_1229, %1012 : tensor<9216x640xf16>, tensor<640x640xf16>) outs(%900 : tensor<9216x640xf16>) -> tensor<9216x640xf16> | |
%expanded_1230 = tensor.expand_shape %1013 [[0, 1], [2, 3]] : tensor<9216x640xf16> into tensor<4x2304x10x64xf16> | |
%1014 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1230 : tensor<4x2304x10x64xf16>) outs(%932 : tensor<4x10x2304x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x10x2304x64xf16> | |
%collapsed_1231 = tensor.collapse_shape %1014 [[0, 1], [2], [3]] : tensor<4x10x2304x64xf16> into tensor<40x2304x64xf16> | |
%1015 = tensor.empty() : tensor<640x64x16xf16> | |
%1016 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_796 : tensor<640x64x1xf16>) outs(%1015 : tensor<640x64x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x64x16xf16> | |
%collapsed_1232 = tensor.collapse_shape %1016 [[0], [1, 2]] : tensor<640x64x16xf16> into tensor<640x1024xf16> | |
%1017 = tensor.empty() : tensor<640x1024xf16> | |
%1018 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_795, %collapsed_1232 : tensor<640x1024xi8>, tensor<640x1024xf16>) outs(%1017 : tensor<640x1024xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x1024xf16> | |
%1019 = tensor.empty() : tensor<1024x640xf16> | |
%1020 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1018 : tensor<640x1024xf16>) outs(%1019 : tensor<1024x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1024x640xf16> | |
%1021 = tensor.empty() : tensor<308x640xf16> | |
%1022 = linalg.fill ins(%cst_946 : f16) outs(%1021 : tensor<308x640xf16>) -> tensor<308x640xf16> | |
%1023 = linalg.matmul ins(%collapsed_1049, %1020 : tensor<308x1024xf16>, tensor<1024x640xf16>) outs(%1022 : tensor<308x640xf16>) -> tensor<308x640xf16> | |
%1024 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_794 : tensor<640x64x1xf16>) outs(%1015 : tensor<640x64x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x64x16xf16> | |
%collapsed_1233 = tensor.collapse_shape %1024 [[0], [1, 2]] : tensor<640x64x16xf16> into tensor<640x1024xf16> | |
%1025 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_793, %collapsed_1233 : tensor<640x1024xi8>, tensor<640x1024xf16>) outs(%1017 : tensor<640x1024xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x1024xf16> | |
%1026 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1025 : tensor<640x1024xf16>) outs(%1019 : tensor<1024x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1024x640xf16> | |
%1027 = linalg.matmul ins(%collapsed_1049, %1026 : tensor<308x1024xf16>, tensor<1024x640xf16>) outs(%1022 : tensor<308x640xf16>) -> tensor<308x640xf16> | |
%expanded_1234 = tensor.expand_shape %1023 [[0, 1], [2, 3]] : tensor<308x640xf16> into tensor<4x77x10x64xf16> | |
%1028 = tensor.empty() : tensor<4x10x77x64xf16> | |
%1029 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1234 : tensor<4x77x10x64xf16>) outs(%1028 : tensor<4x10x77x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x10x77x64xf16> | |
%collapsed_1235 = tensor.collapse_shape %1029 [[0, 1], [2], [3]] : tensor<4x10x77x64xf16> into tensor<40x77x64xf16> | |
%expanded_1236 = tensor.expand_shape %1027 [[0, 1], [2, 3]] : tensor<308x640xf16> into tensor<4x77x10x64xf16> | |
%1030 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1236 : tensor<4x77x10x64xf16>) outs(%1028 : tensor<4x10x77x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x10x77x64xf16> | |
%collapsed_1237 = tensor.collapse_shape %1030 [[0, 1], [2], [3]] : tensor<4x10x77x64xf16> into tensor<40x77x64xf16> | |
%1031 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1231 : tensor<40x2304x64xf16>) outs(%944 : tensor<40x2304x64xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x2304x64xf32> | |
%1032 = tensor.empty() : tensor<40x77x64xf32> | |
%1033 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1235 : tensor<40x77x64xf16>) outs(%1032 : tensor<40x77x64xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x77x64xf32> | |
%1034 = tensor.empty() : tensor<40x2304x77xf32> | |
%1035 = linalg.fill ins(%cst_954 : f32) outs(%1034 : tensor<40x2304x77xf32>) -> tensor<40x2304x77xf32> | |
%1036 = tensor.empty() : tensor<40x64x77xf32> | |
%1037 = linalg.generic {indexing_maps = [#map17, #map22], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1033 : tensor<40x77x64xf32>) outs(%1036 : tensor<40x64x77xf32>) { | |
^bb0(%in: f32, %out: f32): | |
linalg.yield %in : f32 | |
} -> tensor<40x64x77xf32> | |
%1038 = linalg.batch_matmul ins(%1031, %1037 : tensor<40x2304x64xf32>, tensor<40x64x77xf32>) outs(%1035 : tensor<40x2304x77xf32>) -> tensor<40x2304x77xf32> | |
%1039 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1038 : tensor<40x2304x77xf32>) outs(%1034 : tensor<40x2304x77xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.mulf %in, %cst_962 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x2304x77xf32> | |
%1040 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1039, %1035 : tensor<40x2304x77xf32>, tensor<40x2304x77xf32>) outs(%1034 : tensor<40x2304x77xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in_2626, %cst_954 : f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<40x2304x77xf32> | |
%1041:2 = linalg.generic {indexing_maps = [#map17, #map19, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1040 : tensor<40x2304x77xf32>) outs(%957, %955 : tensor<40x2304x1xf32>, tensor<40x2304x1xi64>) { | |
^bb0(%in: f32, %out: f32, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f32 | |
%6095 = arith.cmpf ogt, %in, %out : f32 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f32, i64 | |
} -> (tensor<40x2304x1xf32>, tensor<40x2304x1xi64>) | |
%1042 = linalg.generic {indexing_maps = [#map17, #map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1040, %1041#0 : tensor<40x2304x77xf32>, tensor<40x2304x1xf32>) outs(%1034 : tensor<40x2304x77xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.subf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x2304x77xf32> | |
%1043 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1042 : tensor<40x2304x77xf32>) outs(%1034 : tensor<40x2304x77xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.exp %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x2304x77xf32> | |
%1044 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1043 : tensor<40x2304x77xf32>) outs(%961 : tensor<40x2304x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x2304x1xf32> | |
%1045 = linalg.generic {indexing_maps = [#map17, #map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1043, %1044 : tensor<40x2304x77xf32>, tensor<40x2304x1xf32>) outs(%1034 : tensor<40x2304x77xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.divf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x2304x77xf32> | |
%1046 = tensor.empty() : tensor<40x2304x77xf16> | |
%1047 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1045 : tensor<40x2304x77xf32>) outs(%1046 : tensor<40x2304x77xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<40x2304x77xf16> | |
%1048 = linalg.batch_matmul ins(%1047, %collapsed_1237 : tensor<40x2304x77xf16>, tensor<40x77x64xf16>) outs(%967 : tensor<40x2304x64xf16>) -> tensor<40x2304x64xf16> | |
%expanded_1238 = tensor.expand_shape %1048 [[0, 1], [2], [3]] : tensor<40x2304x64xf16> into tensor<4x10x2304x64xf16> | |
%1049 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1238 : tensor<4x10x2304x64xf16>) outs(%969 : tensor<4x2304x10x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x10x64xf16> | |
%collapsed_1239 = tensor.collapse_shape %1049 [[0], [1], [2, 3]] : tensor<4x2304x10x64xf16> into tensor<4x2304x640xf16> | |
%expanded_1240 = tensor.expand_shape %collapsed_1239 [[0], [1], [2, 3]] : tensor<4x2304x640xf16> into tensor<4x2304x40x16xf16> | |
%1050 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1240 : tensor<4x2304x40x16xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%1051:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1050 : tensor<4x2304x40x16xf16>) outs(%883, %881 : tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) | |
%1052 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1051#0 : tensor<4x2304x40x1xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%collapsed_1241 = tensor.collapse_shape %1052 [[0], [1], [2, 3]] : tensor<4x2304x40x16xf16> into tensor<4x2304x640xf16> | |
%1053 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1241 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1054 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1239, %1053 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1055 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1054, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1056 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1055 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1057 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1056 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1058 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1057, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1059 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1058, %1053 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1060 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_792 : tensor<640x40x1xf16>) outs(%894 : tensor<640x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x40x16xf16> | |
%collapsed_1242 = tensor.collapse_shape %1060 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
%1061 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_791, %collapsed_1242 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x640xf16> | |
%1062 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1061 : tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x640xf16> | |
%collapsed_1243 = tensor.collapse_shape %1059 [[0, 1], [2]] : tensor<4x2304x640xf16> into tensor<9216x640xf16> | |
%1063 = linalg.matmul ins(%collapsed_1243, %1062 : tensor<9216x640xf16>, tensor<640x640xf16>) outs(%900 : tensor<9216x640xf16>) -> tensor<9216x640xf16> | |
%1064 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_790, %1063 : tensor<640xf16>, tensor<9216x640xf16>) outs(%899 : tensor<9216x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<9216x640xf16> | |
%expanded_1244 = tensor.expand_shape %1064 [[0, 1], [2]] : tensor<9216x640xf16> into tensor<4x2304x640xf16> | |
%1065 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1244, %986 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1066 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1065 : tensor<4x2304x640xf16>) outs(%904 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%1067 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1066 : tensor<4x2304x1xf16>) outs(%903 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_967 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%1068 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1067 : tensor<4x2304x1xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x640xf16> | |
%1069 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1065, %1068 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1070 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1069, %1069 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1071 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1070 : tensor<4x2304x640xf16>) outs(%904 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%1072 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1071 : tensor<4x2304x1xf16>) outs(%903 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_967 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%1073 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1072 : tensor<4x2304x1xf16>) outs(%903 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.truncf %cst_953 : f64 to f16 | |
%6093 = arith.addf %in, %6092 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<4x2304x1xf16> | |
%1074 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1073 : tensor<4x2304x1xf16>) outs(%903 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.rsqrt %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%1075 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1074 : tensor<4x2304x1xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x640xf16> | |
%1076 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1069, %1075 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1077 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1076, %cst_789 : tensor<4x2304x640xf16>, tensor<640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1078 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1077, %cst_788 : tensor<4x2304x640xf16>, tensor<640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%expanded_1245 = tensor.expand_shape %1078 [[0], [1], [2, 3]] : tensor<4x2304x640xf16> into tensor<4x2304x40x16xf16> | |
%1079 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1245 : tensor<4x2304x40x16xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%1080:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1079 : tensor<4x2304x40x16xf16>) outs(%883, %881 : tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) | |
%1081 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1080#0 : tensor<4x2304x40x1xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%collapsed_1246 = tensor.collapse_shape %1081 [[0], [1], [2, 3]] : tensor<4x2304x40x16xf16> into tensor<4x2304x640xf16> | |
%1082 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1246 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1083 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1078, %1082 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1084 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1083, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1085 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1084 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1086 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1085 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1087 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1086, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1088 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1087, %1082 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1089 = tensor.empty() : tensor<5120x40x16xf16> | |
%1090 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_787 : tensor<5120x40x1xf16>) outs(%1089 : tensor<5120x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<5120x40x16xf16> | |
%collapsed_1247 = tensor.collapse_shape %1090 [[0], [1, 2]] : tensor<5120x40x16xf16> into tensor<5120x640xf16> | |
%1091 = tensor.empty() : tensor<5120x640xf16> | |
%1092 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_786, %collapsed_1247 : tensor<5120x640xi8>, tensor<5120x640xf16>) outs(%1091 : tensor<5120x640xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<5120x640xf16> | |
%1093 = tensor.empty() : tensor<640x5120xf16> | |
%1094 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1092 : tensor<5120x640xf16>) outs(%1093 : tensor<640x5120xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x5120xf16> | |
%collapsed_1248 = tensor.collapse_shape %1088 [[0, 1], [2]] : tensor<4x2304x640xf16> into tensor<9216x640xf16> | |
%1095 = tensor.empty() : tensor<9216x5120xf16> | |
%1096 = linalg.fill ins(%cst_946 : f16) outs(%1095 : tensor<9216x5120xf16>) -> tensor<9216x5120xf16> | |
%1097 = linalg.matmul ins(%collapsed_1248, %1094 : tensor<9216x640xf16>, tensor<640x5120xf16>) outs(%1096 : tensor<9216x5120xf16>) -> tensor<9216x5120xf16> | |
%1098 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_785, %1097 : tensor<5120xf16>, tensor<9216x5120xf16>) outs(%1095 : tensor<9216x5120xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<9216x5120xf16> | |
%expanded_1249 = tensor.expand_shape %1098 [[0, 1], [2]] : tensor<9216x5120xf16> into tensor<4x2304x5120xf16> | |
%extracted_slice_1250 = tensor.extract_slice %expanded_1249[0, 0, 0] [4, 2304, 2560] [1, 1, 1] : tensor<4x2304x5120xf16> to tensor<4x2304x2560xf16> | |
%extracted_slice_1251 = tensor.extract_slice %expanded_1249[0, 0, 2560] [4, 2304, 2560] [1, 1, 1] : tensor<4x2304x5120xf16> to tensor<4x2304x2560xf16> | |
%1099 = tensor.empty() : tensor<4x2304x2560xf16> | |
%1100 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%extracted_slice_1251 : tensor<4x2304x2560xf16>) outs(%1099 : tensor<4x2304x2560xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.sqrt %cst_950 : f16 | |
%6093 = arith.divf %in, %6092 : f16 | |
%6094 = math.erf %6093 : f16 | |
%6095 = arith.addf %6094, %cst_947 : f16 | |
%6096 = arith.mulf %6095, %cst_951 : f16 | |
%6097 = arith.mulf %in, %6096 : f16 | |
linalg.yield %6097 : f16 | |
} -> tensor<4x2304x2560xf16> | |
%1101 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%extracted_slice_1250, %1100 : tensor<4x2304x2560xf16>, tensor<4x2304x2560xf16>) outs(%1099 : tensor<4x2304x2560xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x2560xf16> | |
%expanded_1252 = tensor.expand_shape %1101 [[0], [1], [2, 3]] : tensor<4x2304x2560xf16> into tensor<4x2304x160x16xf16> | |
%1102 = tensor.empty() : tensor<4x2304x160x16xf16> | |
%1103 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1252 : tensor<4x2304x160x16xf16>) outs(%1102 : tensor<4x2304x160x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x160x16xf16> | |
%1104 = tensor.empty() : tensor<4x2304x160x1xi64> | |
%1105 = linalg.fill ins(%c0_i64 : i64) outs(%1104 : tensor<4x2304x160x1xi64>) -> tensor<4x2304x160x1xi64> | |
%1106 = tensor.empty() : tensor<4x2304x160x1xf16> | |
%1107 = linalg.fill ins(%cst_948 : f16) outs(%1106 : tensor<4x2304x160x1xf16>) -> tensor<4x2304x160x1xf16> | |
%1108:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1103 : tensor<4x2304x160x16xf16>) outs(%1107, %1105 : tensor<4x2304x160x1xf16>, tensor<4x2304x160x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x2304x160x1xf16>, tensor<4x2304x160x1xi64>) | |
%1109 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1108#0 : tensor<4x2304x160x1xf16>) outs(%1102 : tensor<4x2304x160x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x160x16xf16> | |
%collapsed_1253 = tensor.collapse_shape %1109 [[0], [1], [2, 3]] : tensor<4x2304x160x16xf16> into tensor<4x2304x2560xf16> | |
%1110 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1253 : tensor<4x2304x2560xf16>) outs(%1099 : tensor<4x2304x2560xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x2560xf16> | |
%1111 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1101, %1110 : tensor<4x2304x2560xf16>, tensor<4x2304x2560xf16>) outs(%1099 : tensor<4x2304x2560xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x2560xf16> | |
%1112 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1111, %cst_935 : tensor<4x2304x2560xf16>, tensor<f16>) outs(%1099 : tensor<4x2304x2560xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x2560xf16> | |
%1113 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1112 : tensor<4x2304x2560xf16>) outs(%1099 : tensor<4x2304x2560xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x2560xf16> | |
%1114 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1113 : tensor<4x2304x2560xf16>) outs(%1099 : tensor<4x2304x2560xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x2304x2560xf16> | |
%1115 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1114, %cst_935 : tensor<4x2304x2560xf16>, tensor<f16>) outs(%1099 : tensor<4x2304x2560xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x2560xf16> | |
%1116 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1115, %1110 : tensor<4x2304x2560xf16>, tensor<4x2304x2560xf16>) outs(%1099 : tensor<4x2304x2560xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x2560xf16> | |
%1117 = tensor.empty() : tensor<640x160x16xf16> | |
%1118 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_784 : tensor<640x160x1xf16>) outs(%1117 : tensor<640x160x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x160x16xf16> | |
%collapsed_1254 = tensor.collapse_shape %1118 [[0], [1, 2]] : tensor<640x160x16xf16> into tensor<640x2560xf16> | |
%1119 = tensor.empty() : tensor<640x2560xf16> | |
%1120 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_783, %collapsed_1254 : tensor<640x2560xi8>, tensor<640x2560xf16>) outs(%1119 : tensor<640x2560xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x2560xf16> | |
%1121 = tensor.empty() : tensor<2560x640xf16> | |
%1122 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1120 : tensor<640x2560xf16>) outs(%1121 : tensor<2560x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<2560x640xf16> | |
%collapsed_1255 = tensor.collapse_shape %1116 [[0, 1], [2]] : tensor<4x2304x2560xf16> into tensor<9216x2560xf16> | |
%1123 = linalg.matmul ins(%collapsed_1255, %1122 : tensor<9216x2560xf16>, tensor<2560x640xf16>) outs(%900 : tensor<9216x640xf16>) -> tensor<9216x640xf16> | |
%1124 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_782, %1123 : tensor<640xf16>, tensor<9216x640xf16>) outs(%899 : tensor<9216x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<9216x640xf16> | |
%expanded_1256 = tensor.expand_shape %1124 [[0, 1], [2]] : tensor<9216x640xf16> into tensor<4x2304x640xf16> | |
%1125 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1256, %1065 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%expanded_1257 = tensor.expand_shape %1125 [[0], [1], [2, 3]] : tensor<4x2304x640xf16> into tensor<4x2304x40x16xf16> | |
%1126 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1257 : tensor<4x2304x40x16xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%1127:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1126 : tensor<4x2304x40x16xf16>) outs(%883, %881 : tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) | |
%1128 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1127#0 : tensor<4x2304x40x1xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%collapsed_1258 = tensor.collapse_shape %1128 [[0], [1], [2, 3]] : tensor<4x2304x40x16xf16> into tensor<4x2304x640xf16> | |
%1129 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1258 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1130 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1125, %1129 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1131 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1130, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1132 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1131 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1133 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1132 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1134 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1133, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1135 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1134, %1129 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1136 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_781 : tensor<640x40x1xf16>) outs(%894 : tensor<640x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x40x16xf16> | |
%collapsed_1259 = tensor.collapse_shape %1136 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
%1137 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_780, %collapsed_1259 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x640xf16> | |
%1138 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1137 : tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x640xf16> | |
%collapsed_1260 = tensor.collapse_shape %1135 [[0, 1], [2]] : tensor<4x2304x640xf16> into tensor<9216x640xf16> | |
%1139 = linalg.matmul ins(%collapsed_1260, %1138 : tensor<9216x640xf16>, tensor<640x640xf16>) outs(%900 : tensor<9216x640xf16>) -> tensor<9216x640xf16> | |
%1140 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_779, %1139 : tensor<640xf16>, tensor<9216x640xf16>) outs(%899 : tensor<9216x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<9216x640xf16> | |
%expanded_1261 = tensor.expand_shape %1140 [[0, 1, 2], [3]] : tensor<9216x640xf16> into tensor<4x48x48x640xf16> | |
%1141 = linalg.generic {indexing_maps = [#map9, #map23], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1261 : tensor<4x48x48x640xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1142 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1141, %857 : tensor<4x640x48x48xf16>, tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%collapsed_1262 = tensor.collapse_shape %1142 [[0], [1], [2, 3]] : tensor<4x640x48x48xf16> into tensor<4x640x2304xf16> | |
%expanded_1263 = tensor.expand_shape %collapsed_1262 [[0], [1, 2], [3]] : tensor<4x640x2304xf16> into tensor<4x32x20x2304xf16> | |
%1143 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1263 : tensor<4x32x20x2304xf16>) outs(%795 : tensor<4x32x20x2304xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x20x2304xf32> | |
%1144 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1143 : tensor<4x32x20x2304xf32>) outs(%797 : tensor<4x32x20x2304xf64>) { | |
^bb0(%in: f32, %out: f64): | |
%6092 = arith.extf %in : f32 to f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x20x2304xf64> | |
%1145 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1144 : tensor<4x32x20x2304xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1146 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1145 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_965 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1147 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1144, %1146 : tensor<4x32x20x2304xf64>, tensor<4x32x1x1xf64>) outs(%797 : tensor<4x32x20x2304xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.subf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x20x2304xf64> | |
%1148 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1147, %1147 : tensor<4x32x20x2304xf64>, tensor<4x32x20x2304xf64>) outs(%797 : tensor<4x32x20x2304xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.mulf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x20x2304xf64> | |
%1149 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1148 : tensor<4x32x20x2304xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1150 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1149 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_965 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1151 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1150 : tensor<4x32x1x1xf64>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f64, %out: f32): | |
%6092 = arith.truncf %in : f64 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1152 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1143 : tensor<4x32x20x2304xf32>) outs(%44 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1153 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1152 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.divf %in, %cst_966 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1154 = linalg.generic {indexing_maps = [#map10, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1151, %cst_938 : tensor<4x32x1x1xf32>, tensor<f16>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1155 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1154 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.rsqrt %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1156 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1263, %1153 : tensor<4x32x20x2304xf16>, tensor<4x32x1x1xf32>) outs(%795 : tensor<4x32x20x2304xf32>) { | |
^bb0(%in: f16, %in_2626: f32, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
%6093 = arith.subf %6092, %in_2626 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x20x2304xf32> | |
%1157 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1156, %1155 : tensor<4x32x20x2304xf32>, tensor<4x32x1x1xf32>) outs(%795 : tensor<4x32x20x2304xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x20x2304xf32> | |
%collapsed_1264 = tensor.collapse_shape %1157 [[0], [1, 2], [3]] : tensor<4x32x20x2304xf32> into tensor<4x640x2304xf32> | |
%expanded_1265 = tensor.expand_shape %collapsed_1264 [[0], [1], [2, 3]] : tensor<4x640x2304xf32> into tensor<4x640x48x48xf32> | |
%expanded_1266 = tensor.expand_shape %cst_778 [[0, 1, 2, 3]] : tensor<640xf16> into tensor<1x640x1x1xf16> | |
%expanded_1267 = tensor.expand_shape %cst_777 [[0, 1, 2, 3]] : tensor<640xf16> into tensor<1x640x1x1xf16> | |
%1158 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1265, %expanded_1267 : tensor<4x640x48x48xf32>, tensor<1x640x1x1xf16>) outs(%812 : tensor<4x640x48x48xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.mulf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x640x48x48xf32> | |
%1159 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1158, %expanded_1266 : tensor<4x640x48x48xf32>, tensor<1x640x1x1xf16>) outs(%812 : tensor<4x640x48x48xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x640x48x48xf32> | |
%1160 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1159 : tensor<4x640x48x48xf32>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1161 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1160 : tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.negf %in : f16 | |
%6093 = math.exp %6092 : f16 | |
%6094 = arith.addf %6093, %cst_947 : f16 | |
%6095 = arith.divf %cst_947, %6094 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1162 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1161, %1160 : tensor<4x640x48x48xf16>, tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%expanded_1268 = tensor.expand_shape %1162 [[0], [1, 2], [3], [4]] : tensor<4x640x48x48xf16> into tensor<4x40x16x48x48xf16> | |
%1163 = linalg.generic {indexing_maps = [#map13, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1268 : tensor<4x40x16x48x48xf16>) outs(%818 : tensor<4x40x16x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x40x16x48x48xf16> | |
%1164:2 = linalg.generic {indexing_maps = [#map13, #map14, #map14], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%1163 : tensor<4x40x16x48x48xf16>) outs(%823, %821 : tensor<4x40x1x48x48xf16>, tensor<4x40x1x48x48xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x40x1x48x48xf16>, tensor<4x40x1x48x48xi64>) | |
%1165 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1164#0 : tensor<4x40x1x48x48xf16>) outs(%818 : tensor<4x40x16x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x40x16x48x48xf16> | |
%collapsed_1269 = tensor.collapse_shape %1165 [[0], [1, 2], [3], [4]] : tensor<4x40x16x48x48xf16> into tensor<4x640x48x48xf16> | |
%1166 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1269 : tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1167 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1162, %1166 : tensor<4x640x48x48xf16>, tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1168 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1167, %cst_935 : tensor<4x640x48x48xf16>, tensor<f16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1169 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1168 : tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1170 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1169 : tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1171 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1170, %cst_935 : tensor<4x640x48x48xf16>, tensor<f16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1172 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1171, %1166 : tensor<4x640x48x48xf16>, tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1173 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_776 : tensor<640x40x1x3x3xf16>) outs(%833 : tensor<640x40x16x3x3xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x40x16x3x3xf16> | |
%collapsed_1270 = tensor.collapse_shape %1173 [[0], [1, 2], [3], [4]] : tensor<640x40x16x3x3xf16> into tensor<640x640x3x3xf16> | |
%1174 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_775, %collapsed_1270 : tensor<640x640x3x3xi8>, tensor<640x640x3x3xf16>) outs(%835 : tensor<640x640x3x3xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x640x3x3xf16> | |
%padded_1271 = tensor.pad %1172 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<4x640x48x48xf16> to tensor<4x640x50x50xf16> | |
%1175 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_774 : tensor<640xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1176 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1271, %1174 : tensor<4x640x50x50xf16>, tensor<640x640x3x3xf16>) outs(%1175 : tensor<4x640x48x48xf16>) -> tensor<4x640x48x48xf16> | |
%1177 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_773 : tensor<640x1280xf16>) outs(%788 : tensor<1280x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x640xf16> | |
%1178 = linalg.matmul ins(%79, %1177 : tensor<4x1280xf16>, tensor<1280x640xf16>) outs(%791 : tensor<4x640xf16>) -> tensor<4x640xf16> | |
%1179 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_772, %1178 : tensor<640xf16>, tensor<4x640xf16>) outs(%790 : tensor<4x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640xf16> | |
%expanded_1272 = tensor.expand_shape %1179 [[0], [1, 2, 3]] : tensor<4x640xf16> into tensor<4x640x1x1xf16> | |
%1180 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1176, %expanded_1272 : tensor<4x640x48x48xf16>, tensor<4x640x1x1xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%collapsed_1273 = tensor.collapse_shape %1180 [[0], [1], [2, 3]] : tensor<4x640x48x48xf16> into tensor<4x640x2304xf16> | |
%expanded_1274 = tensor.expand_shape %collapsed_1273 [[0], [1, 2], [3]] : tensor<4x640x2304xf16> into tensor<4x32x20x2304xf16> | |
%1181 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1274 : tensor<4x32x20x2304xf16>) outs(%795 : tensor<4x32x20x2304xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x20x2304xf32> | |
%1182 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1181 : tensor<4x32x20x2304xf32>) outs(%797 : tensor<4x32x20x2304xf64>) { | |
^bb0(%in: f32, %out: f64): | |
%6092 = arith.extf %in : f32 to f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x20x2304xf64> | |
%1183 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1182 : tensor<4x32x20x2304xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1184 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1183 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_965 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1185 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1182, %1184 : tensor<4x32x20x2304xf64>, tensor<4x32x1x1xf64>) outs(%797 : tensor<4x32x20x2304xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.subf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x20x2304xf64> | |
%1186 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1185, %1185 : tensor<4x32x20x2304xf64>, tensor<4x32x20x2304xf64>) outs(%797 : tensor<4x32x20x2304xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.mulf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x20x2304xf64> | |
%1187 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1186 : tensor<4x32x20x2304xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1188 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1187 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_965 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1189 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1188 : tensor<4x32x1x1xf64>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f64, %out: f32): | |
%6092 = arith.truncf %in : f64 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1190 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1181 : tensor<4x32x20x2304xf32>) outs(%44 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1191 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1190 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.divf %in, %cst_966 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1192 = linalg.generic {indexing_maps = [#map10, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1189, %cst_938 : tensor<4x32x1x1xf32>, tensor<f16>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1193 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1192 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.rsqrt %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1194 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1274, %1191 : tensor<4x32x20x2304xf16>, tensor<4x32x1x1xf32>) outs(%795 : tensor<4x32x20x2304xf32>) { | |
^bb0(%in: f16, %in_2626: f32, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
%6093 = arith.subf %6092, %in_2626 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x20x2304xf32> | |
%1195 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1194, %1193 : tensor<4x32x20x2304xf32>, tensor<4x32x1x1xf32>) outs(%795 : tensor<4x32x20x2304xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x20x2304xf32> | |
%collapsed_1275 = tensor.collapse_shape %1195 [[0], [1, 2], [3]] : tensor<4x32x20x2304xf32> into tensor<4x640x2304xf32> | |
%expanded_1276 = tensor.expand_shape %collapsed_1275 [[0], [1], [2, 3]] : tensor<4x640x2304xf32> into tensor<4x640x48x48xf32> | |
%expanded_1277 = tensor.expand_shape %cst_771 [[0, 1, 2, 3]] : tensor<640xf16> into tensor<1x640x1x1xf16> | |
%expanded_1278 = tensor.expand_shape %cst_770 [[0, 1, 2, 3]] : tensor<640xf16> into tensor<1x640x1x1xf16> | |
%1196 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1276, %expanded_1278 : tensor<4x640x48x48xf32>, tensor<1x640x1x1xf16>) outs(%812 : tensor<4x640x48x48xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.mulf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x640x48x48xf32> | |
%1197 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1196, %expanded_1277 : tensor<4x640x48x48xf32>, tensor<1x640x1x1xf16>) outs(%812 : tensor<4x640x48x48xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x640x48x48xf32> | |
%1198 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1197 : tensor<4x640x48x48xf32>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1199 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1198 : tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.negf %in : f16 | |
%6093 = math.exp %6092 : f16 | |
%6094 = arith.addf %6093, %cst_947 : f16 | |
%6095 = arith.divf %cst_947, %6094 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1200 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1199, %1198 : tensor<4x640x48x48xf16>, tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%expanded_1279 = tensor.expand_shape %1200 [[0], [1, 2], [3], [4]] : tensor<4x640x48x48xf16> into tensor<4x40x16x48x48xf16> | |
%1201 = linalg.generic {indexing_maps = [#map13, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1279 : tensor<4x40x16x48x48xf16>) outs(%818 : tensor<4x40x16x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x40x16x48x48xf16> | |
%1202:2 = linalg.generic {indexing_maps = [#map13, #map14, #map14], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%1201 : tensor<4x40x16x48x48xf16>) outs(%823, %821 : tensor<4x40x1x48x48xf16>, tensor<4x40x1x48x48xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x40x1x48x48xf16>, tensor<4x40x1x48x48xi64>) | |
%1203 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1202#0 : tensor<4x40x1x48x48xf16>) outs(%818 : tensor<4x40x16x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x40x16x48x48xf16> | |
%collapsed_1280 = tensor.collapse_shape %1203 [[0], [1, 2], [3], [4]] : tensor<4x40x16x48x48xf16> into tensor<4x640x48x48xf16> | |
%1204 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1280 : tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1205 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1200, %1204 : tensor<4x640x48x48xf16>, tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1206 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1205, %cst_935 : tensor<4x640x48x48xf16>, tensor<f16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1207 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1206 : tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1208 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1207 : tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1209 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1208, %cst_935 : tensor<4x640x48x48xf16>, tensor<f16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1210 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1209, %1204 : tensor<4x640x48x48xf16>, tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1211 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_769 : tensor<640x40x1x3x3xf16>) outs(%833 : tensor<640x40x16x3x3xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x40x16x3x3xf16> | |
%collapsed_1281 = tensor.collapse_shape %1211 [[0], [1, 2], [3], [4]] : tensor<640x40x16x3x3xf16> into tensor<640x640x3x3xf16> | |
%1212 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_768, %collapsed_1281 : tensor<640x640x3x3xi8>, tensor<640x640x3x3xf16>) outs(%835 : tensor<640x640x3x3xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x640x3x3xf16> | |
%padded_1282 = tensor.pad %1210 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<4x640x48x48xf16> to tensor<4x640x50x50xf16> | |
%1213 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_767 : tensor<640xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1214 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1282, %1212 : tensor<4x640x50x50xf16>, tensor<640x640x3x3xf16>) outs(%1213 : tensor<4x640x48x48xf16>) -> tensor<4x640x48x48xf16> | |
%1215 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1142, %1214 : tensor<4x640x48x48xf16>, tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1216 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1215, %cst_924 : tensor<4x640x48x48xf16>, tensor<f16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%collapsed_1283 = tensor.collapse_shape %1216 [[0], [1], [2, 3]] : tensor<4x640x48x48xf16> into tensor<4x640x2304xf16> | |
%expanded_1284 = tensor.expand_shape %collapsed_1283 [[0], [1, 2], [3]] : tensor<4x640x2304xf16> into tensor<4x32x20x2304xf16> | |
%1217 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1284 : tensor<4x32x20x2304xf16>) outs(%795 : tensor<4x32x20x2304xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x20x2304xf32> | |
%1218 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1217 : tensor<4x32x20x2304xf32>) outs(%797 : tensor<4x32x20x2304xf64>) { | |
^bb0(%in: f32, %out: f64): | |
%6092 = arith.extf %in : f32 to f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x20x2304xf64> | |
%1219 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1218 : tensor<4x32x20x2304xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1220 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1219 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_965 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1221 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1218, %1220 : tensor<4x32x20x2304xf64>, tensor<4x32x1x1xf64>) outs(%797 : tensor<4x32x20x2304xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.subf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x20x2304xf64> | |
%1222 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1221, %1221 : tensor<4x32x20x2304xf64>, tensor<4x32x20x2304xf64>) outs(%797 : tensor<4x32x20x2304xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.mulf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x20x2304xf64> | |
%1223 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1222 : tensor<4x32x20x2304xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1224 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1223 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_965 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1225 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1224 : tensor<4x32x1x1xf64>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f64, %out: f32): | |
%6092 = arith.truncf %in : f64 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1226 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1217 : tensor<4x32x20x2304xf32>) outs(%44 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1227 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1226 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.divf %in, %cst_966 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1228 = linalg.generic {indexing_maps = [#map10, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1225, %cst_923 : tensor<4x32x1x1xf32>, tensor<f16>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1229 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1228 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.rsqrt %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1230 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1284, %1227 : tensor<4x32x20x2304xf16>, tensor<4x32x1x1xf32>) outs(%795 : tensor<4x32x20x2304xf32>) { | |
^bb0(%in: f16, %in_2626: f32, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
%6093 = arith.subf %6092, %in_2626 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x20x2304xf32> | |
%1231 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1230, %1229 : tensor<4x32x20x2304xf32>, tensor<4x32x1x1xf32>) outs(%795 : tensor<4x32x20x2304xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x20x2304xf32> | |
%collapsed_1285 = tensor.collapse_shape %1231 [[0], [1, 2], [3]] : tensor<4x32x20x2304xf32> into tensor<4x640x2304xf32> | |
%expanded_1286 = tensor.expand_shape %collapsed_1285 [[0], [1], [2, 3]] : tensor<4x640x2304xf32> into tensor<4x640x48x48xf32> | |
%expanded_1287 = tensor.expand_shape %cst_766 [[0, 1, 2, 3]] : tensor<640xf16> into tensor<1x640x1x1xf16> | |
%expanded_1288 = tensor.expand_shape %cst_765 [[0, 1, 2, 3]] : tensor<640xf16> into tensor<1x640x1x1xf16> | |
%1232 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1286, %expanded_1288 : tensor<4x640x48x48xf32>, tensor<1x640x1x1xf16>) outs(%812 : tensor<4x640x48x48xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.mulf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x640x48x48xf32> | |
%1233 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1232, %expanded_1287 : tensor<4x640x48x48xf32>, tensor<1x640x1x1xf16>) outs(%812 : tensor<4x640x48x48xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x640x48x48xf32> | |
%1234 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1233 : tensor<4x640x48x48xf32>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1235 = linalg.generic {indexing_maps = [#map9, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1234 : tensor<4x640x48x48xf16>) outs(%876 : tensor<4x48x48x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x48x48x640xf16> | |
%collapsed_1289 = tensor.collapse_shape %1235 [[0], [1, 2], [3]] : tensor<4x48x48x640xf16> into tensor<4x2304x640xf16> | |
%expanded_1290 = tensor.expand_shape %collapsed_1289 [[0], [1], [2, 3]] : tensor<4x2304x640xf16> into tensor<4x2304x40x16xf16> | |
%1236 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1290 : tensor<4x2304x40x16xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%1237:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1236 : tensor<4x2304x40x16xf16>) outs(%883, %881 : tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) | |
%1238 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1237#0 : tensor<4x2304x40x1xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%collapsed_1291 = tensor.collapse_shape %1238 [[0], [1], [2, 3]] : tensor<4x2304x40x16xf16> into tensor<4x2304x640xf16> | |
%1239 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1291 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1240 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1289, %1239 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1241 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1240, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1242 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1241 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1243 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1242 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1244 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1243, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1245 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1244, %1239 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1246 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_764 : tensor<640x40x1xf16>) outs(%894 : tensor<640x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x40x16xf16> | |
%collapsed_1292 = tensor.collapse_shape %1246 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
%1247 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_763, %collapsed_1292 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x640xf16> | |
%1248 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1247 : tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x640xf16> | |
%collapsed_1293 = tensor.collapse_shape %1245 [[0, 1], [2]] : tensor<4x2304x640xf16> into tensor<9216x640xf16> | |
%1249 = linalg.matmul ins(%collapsed_1293, %1248 : tensor<9216x640xf16>, tensor<640x640xf16>) outs(%900 : tensor<9216x640xf16>) -> tensor<9216x640xf16> | |
%1250 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_762, %1249 : tensor<640xf16>, tensor<9216x640xf16>) outs(%899 : tensor<9216x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<9216x640xf16> | |
%expanded_1294 = tensor.expand_shape %1250 [[0, 1], [2]] : tensor<9216x640xf16> into tensor<4x2304x640xf16> | |
%1251 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%expanded_1294 : tensor<4x2304x640xf16>) outs(%904 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%1252 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1251 : tensor<4x2304x1xf16>) outs(%903 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_967 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%1253 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1252 : tensor<4x2304x1xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x640xf16> | |
%1254 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1294, %1253 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1255 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1254, %1254 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1256 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1255 : tensor<4x2304x640xf16>) outs(%904 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%1257 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1256 : tensor<4x2304x1xf16>) outs(%903 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_967 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%1258 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1257 : tensor<4x2304x1xf16>) outs(%903 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.truncf %cst_953 : f64 to f16 | |
%6093 = arith.addf %in, %6092 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<4x2304x1xf16> | |
%1259 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1258 : tensor<4x2304x1xf16>) outs(%903 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.rsqrt %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%1260 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1259 : tensor<4x2304x1xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x640xf16> | |
%1261 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1254, %1260 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1262 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1261, %cst_761 : tensor<4x2304x640xf16>, tensor<640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1263 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1262, %cst_760 : tensor<4x2304x640xf16>, tensor<640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%expanded_1295 = tensor.expand_shape %1263 [[0], [1], [2, 3]] : tensor<4x2304x640xf16> into tensor<4x2304x40x16xf16> | |
%1264 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1295 : tensor<4x2304x40x16xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%1265:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1264 : tensor<4x2304x40x16xf16>) outs(%883, %881 : tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) | |
%1266 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1265#0 : tensor<4x2304x40x1xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%collapsed_1296 = tensor.collapse_shape %1266 [[0], [1], [2, 3]] : tensor<4x2304x40x16xf16> into tensor<4x2304x640xf16> | |
%1267 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1296 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1268 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1263, %1267 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1269 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1268, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1270 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1269 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1271 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1270 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1272 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1271, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1273 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1272, %1267 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1274 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_759 : tensor<640x40x1xf16>) outs(%894 : tensor<640x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x40x16xf16> | |
%collapsed_1297 = tensor.collapse_shape %1274 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
%1275 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_758, %collapsed_1297 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x640xf16> | |
%1276 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1275 : tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x640xf16> | |
%collapsed_1298 = tensor.collapse_shape %1273 [[0, 1], [2]] : tensor<4x2304x640xf16> into tensor<9216x640xf16> | |
%1277 = linalg.matmul ins(%collapsed_1298, %1276 : tensor<9216x640xf16>, tensor<640x640xf16>) outs(%900 : tensor<9216x640xf16>) -> tensor<9216x640xf16> | |
%expanded_1299 = tensor.expand_shape %1277 [[0, 1], [2, 3]] : tensor<9216x640xf16> into tensor<4x2304x10x64xf16> | |
%1278 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1299 : tensor<4x2304x10x64xf16>) outs(%932 : tensor<4x10x2304x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x10x2304x64xf16> | |
%collapsed_1300 = tensor.collapse_shape %1278 [[0, 1], [2], [3]] : tensor<4x10x2304x64xf16> into tensor<40x2304x64xf16> | |
%1279 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_757 : tensor<640x40x1xf16>) outs(%894 : tensor<640x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x40x16xf16> | |
%collapsed_1301 = tensor.collapse_shape %1279 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
%1280 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_756, %collapsed_1301 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x640xf16> | |
%1281 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1280 : tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x640xf16> | |
%1282 = linalg.matmul ins(%collapsed_1298, %1281 : tensor<9216x640xf16>, tensor<640x640xf16>) outs(%900 : tensor<9216x640xf16>) -> tensor<9216x640xf16> | |
%1283 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_755 : tensor<640x40x1xf16>) outs(%894 : tensor<640x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x40x16xf16> | |
%collapsed_1302 = tensor.collapse_shape %1283 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
%1284 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_754, %collapsed_1302 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x640xf16> | |
%1285 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1284 : tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x640xf16> | |
%1286 = linalg.matmul ins(%collapsed_1298, %1285 : tensor<9216x640xf16>, tensor<640x640xf16>) outs(%900 : tensor<9216x640xf16>) -> tensor<9216x640xf16> | |
%expanded_1303 = tensor.expand_shape %1282 [[0, 1], [2, 3]] : tensor<9216x640xf16> into tensor<4x2304x10x64xf16> | |
%1287 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1303 : tensor<4x2304x10x64xf16>) outs(%932 : tensor<4x10x2304x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x10x2304x64xf16> | |
%collapsed_1304 = tensor.collapse_shape %1287 [[0, 1], [2], [3]] : tensor<4x10x2304x64xf16> into tensor<40x2304x64xf16> | |
%expanded_1305 = tensor.expand_shape %1286 [[0, 1], [2, 3]] : tensor<9216x640xf16> into tensor<4x2304x10x64xf16> | |
%1288 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1305 : tensor<4x2304x10x64xf16>) outs(%932 : tensor<4x10x2304x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x10x2304x64xf16> | |
%collapsed_1306 = tensor.collapse_shape %1288 [[0, 1], [2], [3]] : tensor<4x10x2304x64xf16> into tensor<40x2304x64xf16> | |
%1289 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1300 : tensor<40x2304x64xf16>) outs(%944 : tensor<40x2304x64xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x2304x64xf32> | |
%1290 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1304 : tensor<40x2304x64xf16>) outs(%944 : tensor<40x2304x64xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x2304x64xf32> | |
%1291 = linalg.generic {indexing_maps = [#map17, #map22], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1290 : tensor<40x2304x64xf32>) outs(%949 : tensor<40x64x2304xf32>) { | |
^bb0(%in: f32, %out: f32): | |
linalg.yield %in : f32 | |
} -> tensor<40x64x2304xf32> | |
%1292 = linalg.batch_matmul ins(%1289, %1291 : tensor<40x2304x64xf32>, tensor<40x64x2304xf32>) outs(%948 : tensor<40x2304x2304xf32>) -> tensor<40x2304x2304xf32> | |
%1293 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1292 : tensor<40x2304x2304xf32>) outs(%947 : tensor<40x2304x2304xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.mulf %in, %cst_962 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x2304x2304xf32> | |
%1294 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1293, %948 : tensor<40x2304x2304xf32>, tensor<40x2304x2304xf32>) outs(%947 : tensor<40x2304x2304xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in_2626, %cst_954 : f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<40x2304x2304xf32> | |
%1295:2 = linalg.generic {indexing_maps = [#map17, #map19, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1294 : tensor<40x2304x2304xf32>) outs(%957, %955 : tensor<40x2304x1xf32>, tensor<40x2304x1xi64>) { | |
^bb0(%in: f32, %out: f32, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f32 | |
%6095 = arith.cmpf ogt, %in, %out : f32 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f32, i64 | |
} -> (tensor<40x2304x1xf32>, tensor<40x2304x1xi64>) | |
%1296 = linalg.generic {indexing_maps = [#map17, #map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1294, %1295#0 : tensor<40x2304x2304xf32>, tensor<40x2304x1xf32>) outs(%947 : tensor<40x2304x2304xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.subf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x2304x2304xf32> | |
%1297 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1296 : tensor<40x2304x2304xf32>) outs(%947 : tensor<40x2304x2304xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.exp %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x2304x2304xf32> | |
%1298 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1297 : tensor<40x2304x2304xf32>) outs(%961 : tensor<40x2304x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x2304x1xf32> | |
%1299 = linalg.generic {indexing_maps = [#map17, #map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1297, %1298 : tensor<40x2304x2304xf32>, tensor<40x2304x1xf32>) outs(%947 : tensor<40x2304x2304xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.divf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x2304x2304xf32> | |
%1300 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1299 : tensor<40x2304x2304xf32>) outs(%964 : tensor<40x2304x2304xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<40x2304x2304xf16> | |
%1301 = linalg.batch_matmul ins(%1300, %collapsed_1306 : tensor<40x2304x2304xf16>, tensor<40x2304x64xf16>) outs(%967 : tensor<40x2304x64xf16>) -> tensor<40x2304x64xf16> | |
%expanded_1307 = tensor.expand_shape %1301 [[0, 1], [2], [3]] : tensor<40x2304x64xf16> into tensor<4x10x2304x64xf16> | |
%1302 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1307 : tensor<4x10x2304x64xf16>) outs(%969 : tensor<4x2304x10x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x10x64xf16> | |
%collapsed_1308 = tensor.collapse_shape %1302 [[0], [1], [2, 3]] : tensor<4x2304x10x64xf16> into tensor<4x2304x640xf16> | |
%expanded_1309 = tensor.expand_shape %collapsed_1308 [[0], [1], [2, 3]] : tensor<4x2304x640xf16> into tensor<4x2304x40x16xf16> | |
%1303 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1309 : tensor<4x2304x40x16xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%1304:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1303 : tensor<4x2304x40x16xf16>) outs(%883, %881 : tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) | |
%1305 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1304#0 : tensor<4x2304x40x1xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%collapsed_1310 = tensor.collapse_shape %1305 [[0], [1], [2, 3]] : tensor<4x2304x40x16xf16> into tensor<4x2304x640xf16> | |
%1306 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1310 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1307 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1308, %1306 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1308 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1307, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1309 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1308 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1310 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1309 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1311 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1310, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1312 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1311, %1306 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1313 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_753 : tensor<640x40x1xf16>) outs(%894 : tensor<640x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x40x16xf16> | |
%collapsed_1311 = tensor.collapse_shape %1313 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
%1314 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_752, %collapsed_1311 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x640xf16> | |
%1315 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1314 : tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x640xf16> | |
%collapsed_1312 = tensor.collapse_shape %1312 [[0, 1], [2]] : tensor<4x2304x640xf16> into tensor<9216x640xf16> | |
%1316 = linalg.matmul ins(%collapsed_1312, %1315 : tensor<9216x640xf16>, tensor<640x640xf16>) outs(%900 : tensor<9216x640xf16>) -> tensor<9216x640xf16> | |
%1317 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_751, %1316 : tensor<640xf16>, tensor<9216x640xf16>) outs(%899 : tensor<9216x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<9216x640xf16> | |
%expanded_1313 = tensor.expand_shape %1317 [[0, 1], [2]] : tensor<9216x640xf16> into tensor<4x2304x640xf16> | |
%1318 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1313, %expanded_1294 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1319 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1318 : tensor<4x2304x640xf16>) outs(%904 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%1320 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1319 : tensor<4x2304x1xf16>) outs(%903 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_967 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%1321 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1320 : tensor<4x2304x1xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x640xf16> | |
%1322 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1318, %1321 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1323 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1322, %1322 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1324 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1323 : tensor<4x2304x640xf16>) outs(%904 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%1325 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1324 : tensor<4x2304x1xf16>) outs(%903 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_967 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%1326 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1325 : tensor<4x2304x1xf16>) outs(%903 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.truncf %cst_953 : f64 to f16 | |
%6093 = arith.addf %in, %6092 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<4x2304x1xf16> | |
%1327 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1326 : tensor<4x2304x1xf16>) outs(%903 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.rsqrt %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%1328 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1327 : tensor<4x2304x1xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x640xf16> | |
%1329 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1322, %1328 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1330 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1329, %cst_750 : tensor<4x2304x640xf16>, tensor<640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1331 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1330, %cst_749 : tensor<4x2304x640xf16>, tensor<640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%expanded_1314 = tensor.expand_shape %1331 [[0], [1], [2, 3]] : tensor<4x2304x640xf16> into tensor<4x2304x40x16xf16> | |
%1332 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1314 : tensor<4x2304x40x16xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%1333:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1332 : tensor<4x2304x40x16xf16>) outs(%883, %881 : tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) | |
%1334 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1333#0 : tensor<4x2304x40x1xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%collapsed_1315 = tensor.collapse_shape %1334 [[0], [1], [2, 3]] : tensor<4x2304x40x16xf16> into tensor<4x2304x640xf16> | |
%1335 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1315 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1336 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1331, %1335 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1337 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1336, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1338 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1337 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1339 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1338 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1340 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1339, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1341 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1340, %1335 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1342 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_748 : tensor<640x40x1xf16>) outs(%894 : tensor<640x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x40x16xf16> | |
%collapsed_1316 = tensor.collapse_shape %1342 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
%1343 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_747, %collapsed_1316 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x640xf16> | |
%1344 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1343 : tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x640xf16> | |
%collapsed_1317 = tensor.collapse_shape %1341 [[0, 1], [2]] : tensor<4x2304x640xf16> into tensor<9216x640xf16> | |
%1345 = linalg.matmul ins(%collapsed_1317, %1344 : tensor<9216x640xf16>, tensor<640x640xf16>) outs(%900 : tensor<9216x640xf16>) -> tensor<9216x640xf16> | |
%expanded_1318 = tensor.expand_shape %1345 [[0, 1], [2, 3]] : tensor<9216x640xf16> into tensor<4x2304x10x64xf16> | |
%1346 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1318 : tensor<4x2304x10x64xf16>) outs(%932 : tensor<4x10x2304x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x10x2304x64xf16> | |
%collapsed_1319 = tensor.collapse_shape %1346 [[0, 1], [2], [3]] : tensor<4x10x2304x64xf16> into tensor<40x2304x64xf16> | |
%1347 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_746 : tensor<640x64x1xf16>) outs(%1015 : tensor<640x64x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x64x16xf16> | |
%collapsed_1320 = tensor.collapse_shape %1347 [[0], [1, 2]] : tensor<640x64x16xf16> into tensor<640x1024xf16> | |
%1348 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_745, %collapsed_1320 : tensor<640x1024xi8>, tensor<640x1024xf16>) outs(%1017 : tensor<640x1024xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x1024xf16> | |
%1349 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1348 : tensor<640x1024xf16>) outs(%1019 : tensor<1024x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1024x640xf16> | |
%1350 = linalg.matmul ins(%collapsed_1049, %1349 : tensor<308x1024xf16>, tensor<1024x640xf16>) outs(%1022 : tensor<308x640xf16>) -> tensor<308x640xf16> | |
%1351 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_744 : tensor<640x64x1xf16>) outs(%1015 : tensor<640x64x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x64x16xf16> | |
%collapsed_1321 = tensor.collapse_shape %1351 [[0], [1, 2]] : tensor<640x64x16xf16> into tensor<640x1024xf16> | |
%1352 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_743, %collapsed_1321 : tensor<640x1024xi8>, tensor<640x1024xf16>) outs(%1017 : tensor<640x1024xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x1024xf16> | |
%1353 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1352 : tensor<640x1024xf16>) outs(%1019 : tensor<1024x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1024x640xf16> | |
%1354 = linalg.matmul ins(%collapsed_1049, %1353 : tensor<308x1024xf16>, tensor<1024x640xf16>) outs(%1022 : tensor<308x640xf16>) -> tensor<308x640xf16> | |
%expanded_1322 = tensor.expand_shape %1350 [[0, 1], [2, 3]] : tensor<308x640xf16> into tensor<4x77x10x64xf16> | |
%1355 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1322 : tensor<4x77x10x64xf16>) outs(%1028 : tensor<4x10x77x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x10x77x64xf16> | |
%collapsed_1323 = tensor.collapse_shape %1355 [[0, 1], [2], [3]] : tensor<4x10x77x64xf16> into tensor<40x77x64xf16> | |
%expanded_1324 = tensor.expand_shape %1354 [[0, 1], [2, 3]] : tensor<308x640xf16> into tensor<4x77x10x64xf16> | |
%1356 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1324 : tensor<4x77x10x64xf16>) outs(%1028 : tensor<4x10x77x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x10x77x64xf16> | |
%collapsed_1325 = tensor.collapse_shape %1356 [[0, 1], [2], [3]] : tensor<4x10x77x64xf16> into tensor<40x77x64xf16> | |
%1357 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1319 : tensor<40x2304x64xf16>) outs(%944 : tensor<40x2304x64xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x2304x64xf32> | |
%1358 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1323 : tensor<40x77x64xf16>) outs(%1032 : tensor<40x77x64xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x77x64xf32> | |
%1359 = linalg.generic {indexing_maps = [#map17, #map22], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1358 : tensor<40x77x64xf32>) outs(%1036 : tensor<40x64x77xf32>) { | |
^bb0(%in: f32, %out: f32): | |
linalg.yield %in : f32 | |
} -> tensor<40x64x77xf32> | |
%1360 = linalg.batch_matmul ins(%1357, %1359 : tensor<40x2304x64xf32>, tensor<40x64x77xf32>) outs(%1035 : tensor<40x2304x77xf32>) -> tensor<40x2304x77xf32> | |
%1361 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1360 : tensor<40x2304x77xf32>) outs(%1034 : tensor<40x2304x77xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.mulf %in, %cst_962 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x2304x77xf32> | |
%1362 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1361, %1035 : tensor<40x2304x77xf32>, tensor<40x2304x77xf32>) outs(%1034 : tensor<40x2304x77xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in_2626, %cst_954 : f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<40x2304x77xf32> | |
%1363:2 = linalg.generic {indexing_maps = [#map17, #map19, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1362 : tensor<40x2304x77xf32>) outs(%957, %955 : tensor<40x2304x1xf32>, tensor<40x2304x1xi64>) { | |
^bb0(%in: f32, %out: f32, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f32 | |
%6095 = arith.cmpf ogt, %in, %out : f32 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f32, i64 | |
} -> (tensor<40x2304x1xf32>, tensor<40x2304x1xi64>) | |
%1364 = linalg.generic {indexing_maps = [#map17, #map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1362, %1363#0 : tensor<40x2304x77xf32>, tensor<40x2304x1xf32>) outs(%1034 : tensor<40x2304x77xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.subf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x2304x77xf32> | |
%1365 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1364 : tensor<40x2304x77xf32>) outs(%1034 : tensor<40x2304x77xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.exp %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x2304x77xf32> | |
%1366 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1365 : tensor<40x2304x77xf32>) outs(%961 : tensor<40x2304x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x2304x1xf32> | |
%1367 = linalg.generic {indexing_maps = [#map17, #map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1365, %1366 : tensor<40x2304x77xf32>, tensor<40x2304x1xf32>) outs(%1034 : tensor<40x2304x77xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.divf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<40x2304x77xf32> | |
%1368 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1367 : tensor<40x2304x77xf32>) outs(%1046 : tensor<40x2304x77xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<40x2304x77xf16> | |
%1369 = linalg.batch_matmul ins(%1368, %collapsed_1325 : tensor<40x2304x77xf16>, tensor<40x77x64xf16>) outs(%967 : tensor<40x2304x64xf16>) -> tensor<40x2304x64xf16> | |
%expanded_1326 = tensor.expand_shape %1369 [[0, 1], [2], [3]] : tensor<40x2304x64xf16> into tensor<4x10x2304x64xf16> | |
%1370 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1326 : tensor<4x10x2304x64xf16>) outs(%969 : tensor<4x2304x10x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x10x64xf16> | |
%collapsed_1327 = tensor.collapse_shape %1370 [[0], [1], [2, 3]] : tensor<4x2304x10x64xf16> into tensor<4x2304x640xf16> | |
%expanded_1328 = tensor.expand_shape %collapsed_1327 [[0], [1], [2, 3]] : tensor<4x2304x640xf16> into tensor<4x2304x40x16xf16> | |
%1371 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1328 : tensor<4x2304x40x16xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%1372:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1371 : tensor<4x2304x40x16xf16>) outs(%883, %881 : tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) | |
%1373 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1372#0 : tensor<4x2304x40x1xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%collapsed_1329 = tensor.collapse_shape %1373 [[0], [1], [2, 3]] : tensor<4x2304x40x16xf16> into tensor<4x2304x640xf16> | |
%1374 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1329 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1375 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1327, %1374 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1376 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1375, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1377 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1376 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1378 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1377 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1379 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1378, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1380 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1379, %1374 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1381 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_742 : tensor<640x40x1xf16>) outs(%894 : tensor<640x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x40x16xf16> | |
%collapsed_1330 = tensor.collapse_shape %1381 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
%1382 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_741, %collapsed_1330 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x640xf16> | |
%1383 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1382 : tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x640xf16> | |
%collapsed_1331 = tensor.collapse_shape %1380 [[0, 1], [2]] : tensor<4x2304x640xf16> into tensor<9216x640xf16> | |
%1384 = linalg.matmul ins(%collapsed_1331, %1383 : tensor<9216x640xf16>, tensor<640x640xf16>) outs(%900 : tensor<9216x640xf16>) -> tensor<9216x640xf16> | |
%1385 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_740, %1384 : tensor<640xf16>, tensor<9216x640xf16>) outs(%899 : tensor<9216x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<9216x640xf16> | |
%expanded_1332 = tensor.expand_shape %1385 [[0, 1], [2]] : tensor<9216x640xf16> into tensor<4x2304x640xf16> | |
%1386 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1332, %1318 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1387 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1386 : tensor<4x2304x640xf16>) outs(%904 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%1388 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1387 : tensor<4x2304x1xf16>) outs(%903 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_967 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%1389 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1388 : tensor<4x2304x1xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x640xf16> | |
%1390 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1386, %1389 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1391 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1390, %1390 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1392 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1391 : tensor<4x2304x640xf16>) outs(%904 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%1393 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1392 : tensor<4x2304x1xf16>) outs(%903 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_967 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%1394 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1393 : tensor<4x2304x1xf16>) outs(%903 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.truncf %cst_953 : f64 to f16 | |
%6093 = arith.addf %in, %6092 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<4x2304x1xf16> | |
%1395 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1394 : tensor<4x2304x1xf16>) outs(%903 : tensor<4x2304x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.rsqrt %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x1xf16> | |
%1396 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1395 : tensor<4x2304x1xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x640xf16> | |
%1397 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1390, %1396 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1398 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1397, %cst_739 : tensor<4x2304x640xf16>, tensor<640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1399 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1398, %cst_738 : tensor<4x2304x640xf16>, tensor<640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%expanded_1333 = tensor.expand_shape %1399 [[0], [1], [2, 3]] : tensor<4x2304x640xf16> into tensor<4x2304x40x16xf16> | |
%1400 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1333 : tensor<4x2304x40x16xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%1401:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1400 : tensor<4x2304x40x16xf16>) outs(%883, %881 : tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) | |
%1402 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1401#0 : tensor<4x2304x40x1xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%collapsed_1334 = tensor.collapse_shape %1402 [[0], [1], [2, 3]] : tensor<4x2304x40x16xf16> into tensor<4x2304x640xf16> | |
%1403 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1334 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1404 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1399, %1403 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1405 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1404, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1406 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1405 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1407 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1406 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1408 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1407, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1409 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1408, %1403 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1410 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_737 : tensor<5120x40x1xf16>) outs(%1089 : tensor<5120x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<5120x40x16xf16> | |
%collapsed_1335 = tensor.collapse_shape %1410 [[0], [1, 2]] : tensor<5120x40x16xf16> into tensor<5120x640xf16> | |
%1411 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_736, %collapsed_1335 : tensor<5120x640xi8>, tensor<5120x640xf16>) outs(%1091 : tensor<5120x640xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<5120x640xf16> | |
%1412 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1411 : tensor<5120x640xf16>) outs(%1093 : tensor<640x5120xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x5120xf16> | |
%collapsed_1336 = tensor.collapse_shape %1409 [[0, 1], [2]] : tensor<4x2304x640xf16> into tensor<9216x640xf16> | |
%1413 = linalg.matmul ins(%collapsed_1336, %1412 : tensor<9216x640xf16>, tensor<640x5120xf16>) outs(%1096 : tensor<9216x5120xf16>) -> tensor<9216x5120xf16> | |
%1414 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_735, %1413 : tensor<5120xf16>, tensor<9216x5120xf16>) outs(%1095 : tensor<9216x5120xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<9216x5120xf16> | |
%expanded_1337 = tensor.expand_shape %1414 [[0, 1], [2]] : tensor<9216x5120xf16> into tensor<4x2304x5120xf16> | |
%extracted_slice_1338 = tensor.extract_slice %expanded_1337[0, 0, 0] [4, 2304, 2560] [1, 1, 1] : tensor<4x2304x5120xf16> to tensor<4x2304x2560xf16> | |
%extracted_slice_1339 = tensor.extract_slice %expanded_1337[0, 0, 2560] [4, 2304, 2560] [1, 1, 1] : tensor<4x2304x5120xf16> to tensor<4x2304x2560xf16> | |
%1415 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%extracted_slice_1339 : tensor<4x2304x2560xf16>) outs(%1099 : tensor<4x2304x2560xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.sqrt %cst_950 : f16 | |
%6093 = arith.divf %in, %6092 : f16 | |
%6094 = math.erf %6093 : f16 | |
%6095 = arith.addf %6094, %cst_947 : f16 | |
%6096 = arith.mulf %6095, %cst_951 : f16 | |
%6097 = arith.mulf %in, %6096 : f16 | |
linalg.yield %6097 : f16 | |
} -> tensor<4x2304x2560xf16> | |
%1416 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%extracted_slice_1338, %1415 : tensor<4x2304x2560xf16>, tensor<4x2304x2560xf16>) outs(%1099 : tensor<4x2304x2560xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x2560xf16> | |
%expanded_1340 = tensor.expand_shape %1416 [[0], [1], [2, 3]] : tensor<4x2304x2560xf16> into tensor<4x2304x160x16xf16> | |
%1417 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1340 : tensor<4x2304x160x16xf16>) outs(%1102 : tensor<4x2304x160x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x160x16xf16> | |
%1418:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1417 : tensor<4x2304x160x16xf16>) outs(%1107, %1105 : tensor<4x2304x160x1xf16>, tensor<4x2304x160x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x2304x160x1xf16>, tensor<4x2304x160x1xi64>) | |
%1419 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1418#0 : tensor<4x2304x160x1xf16>) outs(%1102 : tensor<4x2304x160x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x160x16xf16> | |
%collapsed_1341 = tensor.collapse_shape %1419 [[0], [1], [2, 3]] : tensor<4x2304x160x16xf16> into tensor<4x2304x2560xf16> | |
%1420 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1341 : tensor<4x2304x2560xf16>) outs(%1099 : tensor<4x2304x2560xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x2560xf16> | |
%1421 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1416, %1420 : tensor<4x2304x2560xf16>, tensor<4x2304x2560xf16>) outs(%1099 : tensor<4x2304x2560xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x2560xf16> | |
%1422 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1421, %cst_935 : tensor<4x2304x2560xf16>, tensor<f16>) outs(%1099 : tensor<4x2304x2560xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x2560xf16> | |
%1423 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1422 : tensor<4x2304x2560xf16>) outs(%1099 : tensor<4x2304x2560xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x2560xf16> | |
%1424 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1423 : tensor<4x2304x2560xf16>) outs(%1099 : tensor<4x2304x2560xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x2304x2560xf16> | |
%1425 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1424, %cst_935 : tensor<4x2304x2560xf16>, tensor<f16>) outs(%1099 : tensor<4x2304x2560xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x2560xf16> | |
%1426 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1425, %1420 : tensor<4x2304x2560xf16>, tensor<4x2304x2560xf16>) outs(%1099 : tensor<4x2304x2560xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x2560xf16> | |
%1427 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_734 : tensor<640x160x1xf16>) outs(%1117 : tensor<640x160x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x160x16xf16> | |
%collapsed_1342 = tensor.collapse_shape %1427 [[0], [1, 2]] : tensor<640x160x16xf16> into tensor<640x2560xf16> | |
%1428 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_733, %collapsed_1342 : tensor<640x2560xi8>, tensor<640x2560xf16>) outs(%1119 : tensor<640x2560xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x2560xf16> | |
%1429 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1428 : tensor<640x2560xf16>) outs(%1121 : tensor<2560x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<2560x640xf16> | |
%collapsed_1343 = tensor.collapse_shape %1426 [[0, 1], [2]] : tensor<4x2304x2560xf16> into tensor<9216x2560xf16> | |
%1430 = linalg.matmul ins(%collapsed_1343, %1429 : tensor<9216x2560xf16>, tensor<2560x640xf16>) outs(%900 : tensor<9216x640xf16>) -> tensor<9216x640xf16> | |
%1431 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_732, %1430 : tensor<640xf16>, tensor<9216x640xf16>) outs(%899 : tensor<9216x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<9216x640xf16> | |
%expanded_1344 = tensor.expand_shape %1431 [[0, 1], [2]] : tensor<9216x640xf16> into tensor<4x2304x640xf16> | |
%1432 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1344, %1386 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%expanded_1345 = tensor.expand_shape %1432 [[0], [1], [2, 3]] : tensor<4x2304x640xf16> into tensor<4x2304x40x16xf16> | |
%1433 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1345 : tensor<4x2304x40x16xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%1434:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1433 : tensor<4x2304x40x16xf16>) outs(%883, %881 : tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x2304x40x1xf16>, tensor<4x2304x40x1xi64>) | |
%1435 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1434#0 : tensor<4x2304x40x1xf16>) outs(%878 : tensor<4x2304x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x2304x40x16xf16> | |
%collapsed_1346 = tensor.collapse_shape %1435 [[0], [1], [2, 3]] : tensor<4x2304x40x16xf16> into tensor<4x2304x640xf16> | |
%1436 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1346 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1437 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1432, %1436 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1438 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1437, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1439 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1438 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1440 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1439 : tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1441 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1440, %cst_935 : tensor<4x2304x640xf16>, tensor<f16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1442 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1441, %1436 : tensor<4x2304x640xf16>, tensor<4x2304x640xf16>) outs(%886 : tensor<4x2304x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x2304x640xf16> | |
%1443 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_731 : tensor<640x40x1xf16>) outs(%894 : tensor<640x40x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x40x16xf16> | |
%collapsed_1347 = tensor.collapse_shape %1443 [[0], [1, 2]] : tensor<640x40x16xf16> into tensor<640x640xf16> | |
%1444 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_730, %collapsed_1347 : tensor<640x640xi8>, tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x640xf16> | |
%1445 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1444 : tensor<640x640xf16>) outs(%896 : tensor<640x640xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x640xf16> | |
%collapsed_1348 = tensor.collapse_shape %1442 [[0, 1], [2]] : tensor<4x2304x640xf16> into tensor<9216x640xf16> | |
%1446 = linalg.matmul ins(%collapsed_1348, %1445 : tensor<9216x640xf16>, tensor<640x640xf16>) outs(%900 : tensor<9216x640xf16>) -> tensor<9216x640xf16> | |
%1447 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_729, %1446 : tensor<640xf16>, tensor<9216x640xf16>) outs(%899 : tensor<9216x640xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<9216x640xf16> | |
%expanded_1349 = tensor.expand_shape %1447 [[0, 1, 2], [3]] : tensor<9216x640xf16> into tensor<4x48x48x640xf16> | |
%1448 = linalg.generic {indexing_maps = [#map9, #map23], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1349 : tensor<4x48x48x640xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1449 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1448, %1216 : tensor<4x640x48x48xf16>, tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%expanded_1350 = tensor.expand_shape %1449 [[0], [1, 2], [3], [4]] : tensor<4x640x48x48xf16> into tensor<4x40x16x48x48xf16> | |
%1450 = linalg.generic {indexing_maps = [#map13, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1350 : tensor<4x40x16x48x48xf16>) outs(%818 : tensor<4x40x16x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x40x16x48x48xf16> | |
%1451:2 = linalg.generic {indexing_maps = [#map13, #map14, #map14], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%1450 : tensor<4x40x16x48x48xf16>) outs(%823, %821 : tensor<4x40x1x48x48xf16>, tensor<4x40x1x48x48xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x40x1x48x48xf16>, tensor<4x40x1x48x48xi64>) | |
%1452 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1451#0 : tensor<4x40x1x48x48xf16>) outs(%818 : tensor<4x40x16x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x40x16x48x48xf16> | |
%collapsed_1351 = tensor.collapse_shape %1452 [[0], [1, 2], [3], [4]] : tensor<4x40x16x48x48xf16> into tensor<4x640x48x48xf16> | |
%1453 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1351 : tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1454 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1449, %1453 : tensor<4x640x48x48xf16>, tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1455 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1454, %cst_935 : tensor<4x640x48x48xf16>, tensor<f16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1456 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1455 : tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1457 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1456 : tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1458 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1457, %cst_935 : tensor<4x640x48x48xf16>, tensor<f16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1459 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1458, %1453 : tensor<4x640x48x48xf16>, tensor<4x640x48x48xf16>) outs(%785 : tensor<4x640x48x48xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x48x48xf16> | |
%1460 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_728 : tensor<640x40x1x3x3xf16>) outs(%833 : tensor<640x40x16x3x3xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<640x40x16x3x3xf16> | |
%collapsed_1352 = tensor.collapse_shape %1460 [[0], [1, 2], [3], [4]] : tensor<640x40x16x3x3xf16> into tensor<640x640x3x3xf16> | |
%1461 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_727, %collapsed_1352 : tensor<640x640x3x3xi8>, tensor<640x640x3x3xf16>) outs(%835 : tensor<640x640x3x3xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<640x640x3x3xf16> | |
%padded_1353 = tensor.pad %1459 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<4x640x48x48xf16> to tensor<4x640x50x50xf16> | |
%1462 = tensor.empty() : tensor<4x640x24x24xf16> | |
%1463 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_726 : tensor<640xf16>) outs(%1462 : tensor<4x640x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x640x24x24xf16> | |
%1464 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<2> : vector<2xi64>} ins(%padded_1353, %1461 : tensor<4x640x50x50xf16>, tensor<640x640x3x3xf16>) outs(%1463 : tensor<4x640x24x24xf16>) -> tensor<4x640x24x24xf16> | |
%collapsed_1354 = tensor.collapse_shape %1464 [[0], [1], [2, 3]] : tensor<4x640x24x24xf16> into tensor<4x640x576xf16> | |
%expanded_1355 = tensor.expand_shape %collapsed_1354 [[0], [1, 2], [3]] : tensor<4x640x576xf16> into tensor<4x32x20x576xf16> | |
%1465 = tensor.empty() : tensor<4x32x20x576xf32> | |
%1466 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1355 : tensor<4x32x20x576xf16>) outs(%1465 : tensor<4x32x20x576xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x20x576xf32> | |
%1467 = tensor.empty() : tensor<4x32x20x576xf64> | |
%1468 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1466 : tensor<4x32x20x576xf32>) outs(%1467 : tensor<4x32x20x576xf64>) { | |
^bb0(%in: f32, %out: f64): | |
%6092 = arith.extf %in : f32 to f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x20x576xf64> | |
%1469 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1468 : tensor<4x32x20x576xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1470 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1469 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_968 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1471 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1468, %1470 : tensor<4x32x20x576xf64>, tensor<4x32x1x1xf64>) outs(%1467 : tensor<4x32x20x576xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.subf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x20x576xf64> | |
%1472 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1471, %1471 : tensor<4x32x20x576xf64>, tensor<4x32x20x576xf64>) outs(%1467 : tensor<4x32x20x576xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.mulf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x20x576xf64> | |
%1473 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1472 : tensor<4x32x20x576xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1474 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1473 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_968 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1475 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1474 : tensor<4x32x1x1xf64>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f64, %out: f32): | |
%6092 = arith.truncf %in : f64 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1476 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1466 : tensor<4x32x20x576xf32>) outs(%44 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1477 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1476 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.divf %in, %cst_969 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1478 = linalg.generic {indexing_maps = [#map10, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1475, %cst_938 : tensor<4x32x1x1xf32>, tensor<f16>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1479 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1478 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.rsqrt %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1480 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1355, %1477 : tensor<4x32x20x576xf16>, tensor<4x32x1x1xf32>) outs(%1465 : tensor<4x32x20x576xf32>) { | |
^bb0(%in: f16, %in_2626: f32, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
%6093 = arith.subf %6092, %in_2626 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x20x576xf32> | |
%1481 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1480, %1479 : tensor<4x32x20x576xf32>, tensor<4x32x1x1xf32>) outs(%1465 : tensor<4x32x20x576xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x20x576xf32> | |
%collapsed_1356 = tensor.collapse_shape %1481 [[0], [1, 2], [3]] : tensor<4x32x20x576xf32> into tensor<4x640x576xf32> | |
%expanded_1357 = tensor.expand_shape %collapsed_1356 [[0], [1], [2, 3]] : tensor<4x640x576xf32> into tensor<4x640x24x24xf32> | |
%expanded_1358 = tensor.expand_shape %cst_725 [[0, 1, 2, 3]] : tensor<640xf16> into tensor<1x640x1x1xf16> | |
%expanded_1359 = tensor.expand_shape %cst_724 [[0, 1, 2, 3]] : tensor<640xf16> into tensor<1x640x1x1xf16> | |
%1482 = tensor.empty() : tensor<4x640x24x24xf32> | |
%1483 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1357, %expanded_1359 : tensor<4x640x24x24xf32>, tensor<1x640x1x1xf16>) outs(%1482 : tensor<4x640x24x24xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.mulf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x640x24x24xf32> | |
%1484 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1483, %expanded_1358 : tensor<4x640x24x24xf32>, tensor<1x640x1x1xf16>) outs(%1482 : tensor<4x640x24x24xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x640x24x24xf32> | |
%1485 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1484 : tensor<4x640x24x24xf32>) outs(%1462 : tensor<4x640x24x24xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x24x24xf16> | |
%1486 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1485 : tensor<4x640x24x24xf16>) outs(%1462 : tensor<4x640x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.negf %in : f16 | |
%6093 = math.exp %6092 : f16 | |
%6094 = arith.addf %6093, %cst_947 : f16 | |
%6095 = arith.divf %cst_947, %6094 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x640x24x24xf16> | |
%1487 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1486, %1485 : tensor<4x640x24x24xf16>, tensor<4x640x24x24xf16>) outs(%1462 : tensor<4x640x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x24x24xf16> | |
%expanded_1360 = tensor.expand_shape %1487 [[0], [1, 2], [3], [4]] : tensor<4x640x24x24xf16> into tensor<4x40x16x24x24xf16> | |
%1488 = tensor.empty() : tensor<4x40x16x24x24xf16> | |
%1489 = linalg.generic {indexing_maps = [#map13, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1360 : tensor<4x40x16x24x24xf16>) outs(%1488 : tensor<4x40x16x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x40x16x24x24xf16> | |
%1490 = tensor.empty() : tensor<4x40x1x24x24xi64> | |
%1491 = linalg.fill ins(%c0_i64 : i64) outs(%1490 : tensor<4x40x1x24x24xi64>) -> tensor<4x40x1x24x24xi64> | |
%1492 = tensor.empty() : tensor<4x40x1x24x24xf16> | |
%1493 = linalg.fill ins(%cst_948 : f16) outs(%1492 : tensor<4x40x1x24x24xf16>) -> tensor<4x40x1x24x24xf16> | |
%1494:2 = linalg.generic {indexing_maps = [#map13, #map14, #map14], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%1489 : tensor<4x40x16x24x24xf16>) outs(%1493, %1491 : tensor<4x40x1x24x24xf16>, tensor<4x40x1x24x24xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x40x1x24x24xf16>, tensor<4x40x1x24x24xi64>) | |
%1495 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1494#0 : tensor<4x40x1x24x24xf16>) outs(%1488 : tensor<4x40x16x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x40x16x24x24xf16> | |
%collapsed_1361 = tensor.collapse_shape %1495 [[0], [1, 2], [3], [4]] : tensor<4x40x16x24x24xf16> into tensor<4x640x24x24xf16> | |
%1496 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1361 : tensor<4x640x24x24xf16>) outs(%1462 : tensor<4x640x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x24x24xf16> | |
%1497 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1487, %1496 : tensor<4x640x24x24xf16>, tensor<4x640x24x24xf16>) outs(%1462 : tensor<4x640x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x24x24xf16> | |
%1498 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1497, %cst_935 : tensor<4x640x24x24xf16>, tensor<f16>) outs(%1462 : tensor<4x640x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x24x24xf16> | |
%1499 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1498 : tensor<4x640x24x24xf16>) outs(%1462 : tensor<4x640x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x24x24xf16> | |
%1500 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1499 : tensor<4x640x24x24xf16>) outs(%1462 : tensor<4x640x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x640x24x24xf16> | |
%1501 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1500, %cst_935 : tensor<4x640x24x24xf16>, tensor<f16>) outs(%1462 : tensor<4x640x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x24x24xf16> | |
%1502 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1501, %1496 : tensor<4x640x24x24xf16>, tensor<4x640x24x24xf16>) outs(%1462 : tensor<4x640x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x24x24xf16> | |
%1503 = tensor.empty() : tensor<1280x40x16x3x3xf16> | |
%1504 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_723 : tensor<1280x40x1x3x3xf16>) outs(%1503 : tensor<1280x40x16x3x3xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x40x16x3x3xf16> | |
%collapsed_1362 = tensor.collapse_shape %1504 [[0], [1, 2], [3], [4]] : tensor<1280x40x16x3x3xf16> into tensor<1280x640x3x3xf16> | |
%1505 = tensor.empty() : tensor<1280x640x3x3xf16> | |
%1506 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_722, %collapsed_1362 : tensor<1280x640x3x3xi8>, tensor<1280x640x3x3xf16>) outs(%1505 : tensor<1280x640x3x3xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x640x3x3xf16> | |
%padded_1363 = tensor.pad %1502 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<4x640x24x24xf16> to tensor<4x640x26x26xf16> | |
%1507 = tensor.empty() : tensor<4x1280x24x24xf16> | |
%1508 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_721 : tensor<1280xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1509 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1363, %1506 : tensor<4x640x26x26xf16>, tensor<1280x640x3x3xf16>) outs(%1508 : tensor<4x1280x24x24xf16>) -> tensor<4x1280x24x24xf16> | |
%1510 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_720 : tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x1280xf16> | |
%1511 = linalg.matmul ins(%79, %1510 : tensor<4x1280xf16>, tensor<1280x1280xf16>) outs(%18 : tensor<4x1280xf16>) -> tensor<4x1280xf16> | |
%1512 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_719, %1511 : tensor<1280xf16>, tensor<4x1280xf16>) outs(%17 : tensor<4x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280xf16> | |
%expanded_1364 = tensor.expand_shape %1512 [[0], [1, 2, 3]] : tensor<4x1280xf16> into tensor<4x1280x1x1xf16> | |
%1513 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1509, %expanded_1364 : tensor<4x1280x24x24xf16>, tensor<4x1280x1x1xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%collapsed_1365 = tensor.collapse_shape %1513 [[0], [1], [2, 3]] : tensor<4x1280x24x24xf16> into tensor<4x1280x576xf16> | |
%expanded_1366 = tensor.expand_shape %collapsed_1365 [[0], [1, 2], [3]] : tensor<4x1280x576xf16> into tensor<4x32x40x576xf16> | |
%1514 = tensor.empty() : tensor<4x32x40x576xf32> | |
%1515 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1366 : tensor<4x32x40x576xf16>) outs(%1514 : tensor<4x32x40x576xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x40x576xf32> | |
%1516 = tensor.empty() : tensor<4x32x40x576xf64> | |
%1517 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1515 : tensor<4x32x40x576xf32>) outs(%1516 : tensor<4x32x40x576xf64>) { | |
^bb0(%in: f32, %out: f64): | |
%6092 = arith.extf %in : f32 to f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x576xf64> | |
%1518 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1517 : tensor<4x32x40x576xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1519 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1518 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_963 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1520 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1517, %1519 : tensor<4x32x40x576xf64>, tensor<4x32x1x1xf64>) outs(%1516 : tensor<4x32x40x576xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.subf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x576xf64> | |
%1521 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1520, %1520 : tensor<4x32x40x576xf64>, tensor<4x32x40x576xf64>) outs(%1516 : tensor<4x32x40x576xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.mulf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x576xf64> | |
%1522 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1521 : tensor<4x32x40x576xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1523 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1522 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_963 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1524 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1523 : tensor<4x32x1x1xf64>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f64, %out: f32): | |
%6092 = arith.truncf %in : f64 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1525 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1515 : tensor<4x32x40x576xf32>) outs(%44 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1526 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1525 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.divf %in, %cst_964 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1527 = linalg.generic {indexing_maps = [#map10, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1524, %cst_938 : tensor<4x32x1x1xf32>, tensor<f16>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1528 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1527 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.rsqrt %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1529 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1366, %1526 : tensor<4x32x40x576xf16>, tensor<4x32x1x1xf32>) outs(%1514 : tensor<4x32x40x576xf32>) { | |
^bb0(%in: f16, %in_2626: f32, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
%6093 = arith.subf %6092, %in_2626 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x40x576xf32> | |
%1530 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1529, %1528 : tensor<4x32x40x576xf32>, tensor<4x32x1x1xf32>) outs(%1514 : tensor<4x32x40x576xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x40x576xf32> | |
%collapsed_1367 = tensor.collapse_shape %1530 [[0], [1, 2], [3]] : tensor<4x32x40x576xf32> into tensor<4x1280x576xf32> | |
%expanded_1368 = tensor.expand_shape %collapsed_1367 [[0], [1], [2, 3]] : tensor<4x1280x576xf32> into tensor<4x1280x24x24xf32> | |
%expanded_1369 = tensor.expand_shape %cst_718 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
%expanded_1370 = tensor.expand_shape %cst_717 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
%1531 = tensor.empty() : tensor<4x1280x24x24xf32> | |
%1532 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1368, %expanded_1370 : tensor<4x1280x24x24xf32>, tensor<1x1280x1x1xf16>) outs(%1531 : tensor<4x1280x24x24xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.mulf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x1280x24x24xf32> | |
%1533 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1532, %expanded_1369 : tensor<4x1280x24x24xf32>, tensor<1x1280x1x1xf16>) outs(%1531 : tensor<4x1280x24x24xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x1280x24x24xf32> | |
%1534 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1533 : tensor<4x1280x24x24xf32>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1535 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1534 : tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.negf %in : f16 | |
%6093 = math.exp %6092 : f16 | |
%6094 = arith.addf %6093, %cst_947 : f16 | |
%6095 = arith.divf %cst_947, %6094 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1536 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1535, %1534 : tensor<4x1280x24x24xf16>, tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%expanded_1371 = tensor.expand_shape %1536 [[0], [1, 2], [3], [4]] : tensor<4x1280x24x24xf16> into tensor<4x80x16x24x24xf16> | |
%1537 = tensor.empty() : tensor<4x80x16x24x24xf16> | |
%1538 = linalg.generic {indexing_maps = [#map13, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1371 : tensor<4x80x16x24x24xf16>) outs(%1537 : tensor<4x80x16x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x80x16x24x24xf16> | |
%1539 = tensor.empty() : tensor<4x80x1x24x24xi64> | |
%1540 = linalg.fill ins(%c0_i64 : i64) outs(%1539 : tensor<4x80x1x24x24xi64>) -> tensor<4x80x1x24x24xi64> | |
%1541 = tensor.empty() : tensor<4x80x1x24x24xf16> | |
%1542 = linalg.fill ins(%cst_948 : f16) outs(%1541 : tensor<4x80x1x24x24xf16>) -> tensor<4x80x1x24x24xf16> | |
%1543:2 = linalg.generic {indexing_maps = [#map13, #map14, #map14], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%1538 : tensor<4x80x16x24x24xf16>) outs(%1542, %1540 : tensor<4x80x1x24x24xf16>, tensor<4x80x1x24x24xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x80x1x24x24xf16>, tensor<4x80x1x24x24xi64>) | |
%1544 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1543#0 : tensor<4x80x1x24x24xf16>) outs(%1537 : tensor<4x80x16x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x80x16x24x24xf16> | |
%collapsed_1372 = tensor.collapse_shape %1544 [[0], [1, 2], [3], [4]] : tensor<4x80x16x24x24xf16> into tensor<4x1280x24x24xf16> | |
%1545 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1372 : tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1546 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1536, %1545 : tensor<4x1280x24x24xf16>, tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1547 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1546, %cst_935 : tensor<4x1280x24x24xf16>, tensor<f16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1548 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1547 : tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1549 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1548 : tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1550 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1549, %cst_935 : tensor<4x1280x24x24xf16>, tensor<f16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1551 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1550, %1545 : tensor<4x1280x24x24xf16>, tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1552 = tensor.empty() : tensor<1280x80x16x3x3xf16> | |
%1553 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_716 : tensor<1280x80x1x3x3xf16>) outs(%1552 : tensor<1280x80x16x3x3xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x80x16x3x3xf16> | |
%collapsed_1373 = tensor.collapse_shape %1553 [[0], [1, 2], [3], [4]] : tensor<1280x80x16x3x3xf16> into tensor<1280x1280x3x3xf16> | |
%1554 = tensor.empty() : tensor<1280x1280x3x3xf16> | |
%1555 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_715, %collapsed_1373 : tensor<1280x1280x3x3xi8>, tensor<1280x1280x3x3xf16>) outs(%1554 : tensor<1280x1280x3x3xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1280x3x3xf16> | |
%padded_1374 = tensor.pad %1551 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<4x1280x24x24xf16> to tensor<4x1280x26x26xf16> | |
%1556 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_714 : tensor<1280xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1557 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1374, %1555 : tensor<4x1280x26x26xf16>, tensor<1280x1280x3x3xf16>) outs(%1556 : tensor<4x1280x24x24xf16>) -> tensor<4x1280x24x24xf16> | |
%expanded_1375 = tensor.expand_shape %1464 [[0], [1, 2], [3], [4]] : tensor<4x640x24x24xf16> into tensor<4x40x16x24x24xf16> | |
%1558 = linalg.generic {indexing_maps = [#map13, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1375 : tensor<4x40x16x24x24xf16>) outs(%1488 : tensor<4x40x16x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x40x16x24x24xf16> | |
%1559:2 = linalg.generic {indexing_maps = [#map13, #map14, #map14], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%1558 : tensor<4x40x16x24x24xf16>) outs(%1493, %1491 : tensor<4x40x1x24x24xf16>, tensor<4x40x1x24x24xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x40x1x24x24xf16>, tensor<4x40x1x24x24xi64>) | |
%1560 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1559#0 : tensor<4x40x1x24x24xf16>) outs(%1488 : tensor<4x40x16x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x40x16x24x24xf16> | |
%collapsed_1376 = tensor.collapse_shape %1560 [[0], [1, 2], [3], [4]] : tensor<4x40x16x24x24xf16> into tensor<4x640x24x24xf16> | |
%1561 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1376 : tensor<4x640x24x24xf16>) outs(%1462 : tensor<4x640x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x24x24xf16> | |
%1562 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1464, %1561 : tensor<4x640x24x24xf16>, tensor<4x640x24x24xf16>) outs(%1462 : tensor<4x640x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x24x24xf16> | |
%1563 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1562, %cst_935 : tensor<4x640x24x24xf16>, tensor<f16>) outs(%1462 : tensor<4x640x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x24x24xf16> | |
%1564 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1563 : tensor<4x640x24x24xf16>) outs(%1462 : tensor<4x640x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x24x24xf16> | |
%1565 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1564 : tensor<4x640x24x24xf16>) outs(%1462 : tensor<4x640x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x640x24x24xf16> | |
%1566 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1565, %cst_935 : tensor<4x640x24x24xf16>, tensor<f16>) outs(%1462 : tensor<4x640x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x24x24xf16> | |
%1567 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1566, %1561 : tensor<4x640x24x24xf16>, tensor<4x640x24x24xf16>) outs(%1462 : tensor<4x640x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x640x24x24xf16> | |
%1568 = tensor.empty() : tensor<1280x40x16x1x1xf16> | |
%1569 = linalg.generic {indexing_maps = [#map24, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_713 : tensor<1280x40x1x1x1xf16>) outs(%1568 : tensor<1280x40x16x1x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x40x16x1x1xf16> | |
%1570 = linalg.generic {indexing_maps = [#map25, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1569 : tensor<1280x40x16x1x1xf16>) outs(%1568 : tensor<1280x40x16x1x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x40x16x1x1xf16> | |
%collapsed_1377 = tensor.collapse_shape %1570 [[0], [1, 2], [3], [4]] : tensor<1280x40x16x1x1xf16> into tensor<1280x640x1x1xf16> | |
%1571 = tensor.empty() : tensor<1280x640x1x1xf16> | |
%1572 = linalg.generic {indexing_maps = [#map10, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_712, %collapsed_1377 : tensor<1280x640x1x1xi8>, tensor<1280x640x1x1xf16>) outs(%1571 : tensor<1280x640x1x1xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x640x1x1xf16> | |
%1573 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_711 : tensor<1280xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1574 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%1567, %1572 : tensor<4x640x24x24xf16>, tensor<1280x640x1x1xf16>) outs(%1573 : tensor<4x1280x24x24xf16>) -> tensor<4x1280x24x24xf16> | |
%1575 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1574, %1557 : tensor<4x1280x24x24xf16>, tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1576 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1575, %cst_924 : tensor<4x1280x24x24xf16>, tensor<f16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%collapsed_1378 = tensor.collapse_shape %1576 [[0], [1], [2, 3]] : tensor<4x1280x24x24xf16> into tensor<4x1280x576xf16> | |
%expanded_1379 = tensor.expand_shape %collapsed_1378 [[0], [1, 2], [3]] : tensor<4x1280x576xf16> into tensor<4x32x40x576xf16> | |
%1577 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1379 : tensor<4x32x40x576xf16>) outs(%1514 : tensor<4x32x40x576xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x40x576xf32> | |
%1578 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1577 : tensor<4x32x40x576xf32>) outs(%1516 : tensor<4x32x40x576xf64>) { | |
^bb0(%in: f32, %out: f64): | |
%6092 = arith.extf %in : f32 to f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x576xf64> | |
%1579 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1578 : tensor<4x32x40x576xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1580 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1579 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_963 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1581 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1578, %1580 : tensor<4x32x40x576xf64>, tensor<4x32x1x1xf64>) outs(%1516 : tensor<4x32x40x576xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.subf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x576xf64> | |
%1582 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1581, %1581 : tensor<4x32x40x576xf64>, tensor<4x32x40x576xf64>) outs(%1516 : tensor<4x32x40x576xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.mulf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x576xf64> | |
%1583 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1582 : tensor<4x32x40x576xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1584 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1583 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_963 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1585 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1584 : tensor<4x32x1x1xf64>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f64, %out: f32): | |
%6092 = arith.truncf %in : f64 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1586 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1577 : tensor<4x32x40x576xf32>) outs(%44 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1587 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1586 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.divf %in, %cst_964 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1588 = linalg.generic {indexing_maps = [#map10, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1585, %cst_923 : tensor<4x32x1x1xf32>, tensor<f16>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1589 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1588 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.rsqrt %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1590 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1379, %1587 : tensor<4x32x40x576xf16>, tensor<4x32x1x1xf32>) outs(%1514 : tensor<4x32x40x576xf32>) { | |
^bb0(%in: f16, %in_2626: f32, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
%6093 = arith.subf %6092, %in_2626 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x40x576xf32> | |
%1591 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1590, %1589 : tensor<4x32x40x576xf32>, tensor<4x32x1x1xf32>) outs(%1514 : tensor<4x32x40x576xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x40x576xf32> | |
%collapsed_1380 = tensor.collapse_shape %1591 [[0], [1, 2], [3]] : tensor<4x32x40x576xf32> into tensor<4x1280x576xf32> | |
%expanded_1381 = tensor.expand_shape %collapsed_1380 [[0], [1], [2, 3]] : tensor<4x1280x576xf32> into tensor<4x1280x24x24xf32> | |
%expanded_1382 = tensor.expand_shape %cst_710 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
%expanded_1383 = tensor.expand_shape %cst_709 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
%1592 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1381, %expanded_1383 : tensor<4x1280x24x24xf32>, tensor<1x1280x1x1xf16>) outs(%1531 : tensor<4x1280x24x24xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.mulf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x1280x24x24xf32> | |
%1593 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1592, %expanded_1382 : tensor<4x1280x24x24xf32>, tensor<1x1280x1x1xf16>) outs(%1531 : tensor<4x1280x24x24xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x1280x24x24xf32> | |
%1594 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1593 : tensor<4x1280x24x24xf32>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1595 = tensor.empty() : tensor<4x24x24x1280xf16> | |
%1596 = linalg.generic {indexing_maps = [#map9, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1594 : tensor<4x1280x24x24xf16>) outs(%1595 : tensor<4x24x24x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x24x24x1280xf16> | |
%collapsed_1384 = tensor.collapse_shape %1596 [[0], [1, 2], [3]] : tensor<4x24x24x1280xf16> into tensor<4x576x1280xf16> | |
%expanded_1385 = tensor.expand_shape %collapsed_1384 [[0], [1], [2, 3]] : tensor<4x576x1280xf16> into tensor<4x576x80x16xf16> | |
%1597 = tensor.empty() : tensor<4x576x80x16xf16> | |
%1598 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1385 : tensor<4x576x80x16xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x80x16xf16> | |
%1599 = tensor.empty() : tensor<4x576x80x1xi64> | |
%1600 = linalg.fill ins(%c0_i64 : i64) outs(%1599 : tensor<4x576x80x1xi64>) -> tensor<4x576x80x1xi64> | |
%1601 = tensor.empty() : tensor<4x576x80x1xf16> | |
%1602 = linalg.fill ins(%cst_948 : f16) outs(%1601 : tensor<4x576x80x1xf16>) -> tensor<4x576x80x1xf16> | |
%1603:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1598 : tensor<4x576x80x16xf16>) outs(%1602, %1600 : tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) | |
%1604 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1603#0 : tensor<4x576x80x1xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x80x16xf16> | |
%collapsed_1386 = tensor.collapse_shape %1604 [[0], [1], [2, 3]] : tensor<4x576x80x16xf16> into tensor<4x576x1280xf16> | |
%1605 = tensor.empty() : tensor<4x576x1280xf16> | |
%1606 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1386 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1607 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1384, %1606 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1608 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1607, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1609 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1608 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1610 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1609 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1611 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1610, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1612 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1611, %1606 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1613 = tensor.empty() : tensor<1280x80x16xf16> | |
%1614 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_708 : tensor<1280x80x1xf16>) outs(%1613 : tensor<1280x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x80x16xf16> | |
%collapsed_1387 = tensor.collapse_shape %1614 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
%1615 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_707, %collapsed_1387 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1280xf16> | |
%1616 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1615 : tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x1280xf16> | |
%collapsed_1388 = tensor.collapse_shape %1612 [[0, 1], [2]] : tensor<4x576x1280xf16> into tensor<2304x1280xf16> | |
%1617 = tensor.empty() : tensor<2304x1280xf16> | |
%1618 = linalg.fill ins(%cst_946 : f16) outs(%1617 : tensor<2304x1280xf16>) -> tensor<2304x1280xf16> | |
%1619 = linalg.matmul ins(%collapsed_1388, %1616 : tensor<2304x1280xf16>, tensor<1280x1280xf16>) outs(%1618 : tensor<2304x1280xf16>) -> tensor<2304x1280xf16> | |
%1620 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_706, %1619 : tensor<1280xf16>, tensor<2304x1280xf16>) outs(%1617 : tensor<2304x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<2304x1280xf16> | |
%expanded_1389 = tensor.expand_shape %1620 [[0, 1], [2]] : tensor<2304x1280xf16> into tensor<4x576x1280xf16> | |
%1621 = tensor.empty() : tensor<4x576x1xf16> | |
%1622 = linalg.fill ins(%cst_946 : f16) outs(%1621 : tensor<4x576x1xf16>) -> tensor<4x576x1xf16> | |
%1623 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%expanded_1389 : tensor<4x576x1280xf16>) outs(%1622 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%1624 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1623 : tensor<4x576x1xf16>) outs(%1621 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_970 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%1625 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1624 : tensor<4x576x1xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x1280xf16> | |
%1626 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1389, %1625 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1627 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1626, %1626 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1628 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1627 : tensor<4x576x1280xf16>) outs(%1622 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%1629 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1628 : tensor<4x576x1xf16>) outs(%1621 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_970 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%1630 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1629 : tensor<4x576x1xf16>) outs(%1621 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.truncf %cst_953 : f64 to f16 | |
%6093 = arith.addf %in, %6092 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<4x576x1xf16> | |
%1631 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1630 : tensor<4x576x1xf16>) outs(%1621 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.rsqrt %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%1632 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1631 : tensor<4x576x1xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x1280xf16> | |
%1633 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1626, %1632 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1634 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1633, %cst_705 : tensor<4x576x1280xf16>, tensor<1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1635 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1634, %cst_704 : tensor<4x576x1280xf16>, tensor<1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%expanded_1390 = tensor.expand_shape %1635 [[0], [1], [2, 3]] : tensor<4x576x1280xf16> into tensor<4x576x80x16xf16> | |
%1636 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1390 : tensor<4x576x80x16xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x80x16xf16> | |
%1637:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1636 : tensor<4x576x80x16xf16>) outs(%1602, %1600 : tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) | |
%1638 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1637#0 : tensor<4x576x80x1xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x80x16xf16> | |
%collapsed_1391 = tensor.collapse_shape %1638 [[0], [1], [2, 3]] : tensor<4x576x80x16xf16> into tensor<4x576x1280xf16> | |
%1639 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1391 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1640 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1635, %1639 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1641 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1640, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1642 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1641 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1643 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1642 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1644 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1643, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1645 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1644, %1639 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1646 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_703 : tensor<1280x80x1xf16>) outs(%1613 : tensor<1280x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x80x16xf16> | |
%collapsed_1392 = tensor.collapse_shape %1646 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
%1647 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_702, %collapsed_1392 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1280xf16> | |
%1648 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1647 : tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x1280xf16> | |
%collapsed_1393 = tensor.collapse_shape %1645 [[0, 1], [2]] : tensor<4x576x1280xf16> into tensor<2304x1280xf16> | |
%1649 = linalg.matmul ins(%collapsed_1393, %1648 : tensor<2304x1280xf16>, tensor<1280x1280xf16>) outs(%1618 : tensor<2304x1280xf16>) -> tensor<2304x1280xf16> | |
%expanded_1394 = tensor.expand_shape %1649 [[0, 1], [2, 3]] : tensor<2304x1280xf16> into tensor<4x576x20x64xf16> | |
%1650 = tensor.empty() : tensor<4x20x576x64xf16> | |
%1651 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1394 : tensor<4x576x20x64xf16>) outs(%1650 : tensor<4x20x576x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x20x576x64xf16> | |
%collapsed_1395 = tensor.collapse_shape %1651 [[0, 1], [2], [3]] : tensor<4x20x576x64xf16> into tensor<80x576x64xf16> | |
%1652 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_701 : tensor<1280x80x1xf16>) outs(%1613 : tensor<1280x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x80x16xf16> | |
%collapsed_1396 = tensor.collapse_shape %1652 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
%1653 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_700, %collapsed_1396 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1280xf16> | |
%1654 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1653 : tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x1280xf16> | |
%1655 = linalg.matmul ins(%collapsed_1393, %1654 : tensor<2304x1280xf16>, tensor<1280x1280xf16>) outs(%1618 : tensor<2304x1280xf16>) -> tensor<2304x1280xf16> | |
%1656 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_699 : tensor<1280x80x1xf16>) outs(%1613 : tensor<1280x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x80x16xf16> | |
%collapsed_1397 = tensor.collapse_shape %1656 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
%1657 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_698, %collapsed_1397 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1280xf16> | |
%1658 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1657 : tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x1280xf16> | |
%1659 = linalg.matmul ins(%collapsed_1393, %1658 : tensor<2304x1280xf16>, tensor<1280x1280xf16>) outs(%1618 : tensor<2304x1280xf16>) -> tensor<2304x1280xf16> | |
%expanded_1398 = tensor.expand_shape %1655 [[0, 1], [2, 3]] : tensor<2304x1280xf16> into tensor<4x576x20x64xf16> | |
%1660 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1398 : tensor<4x576x20x64xf16>) outs(%1650 : tensor<4x20x576x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x20x576x64xf16> | |
%collapsed_1399 = tensor.collapse_shape %1660 [[0, 1], [2], [3]] : tensor<4x20x576x64xf16> into tensor<80x576x64xf16> | |
%expanded_1400 = tensor.expand_shape %1659 [[0, 1], [2, 3]] : tensor<2304x1280xf16> into tensor<4x576x20x64xf16> | |
%1661 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1400 : tensor<4x576x20x64xf16>) outs(%1650 : tensor<4x20x576x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x20x576x64xf16> | |
%collapsed_1401 = tensor.collapse_shape %1661 [[0, 1], [2], [3]] : tensor<4x20x576x64xf16> into tensor<80x576x64xf16> | |
%1662 = tensor.empty() : tensor<80x576x64xf32> | |
%1663 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1395 : tensor<80x576x64xf16>) outs(%1662 : tensor<80x576x64xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x576x64xf32> | |
%1664 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1399 : tensor<80x576x64xf16>) outs(%1662 : tensor<80x576x64xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x576x64xf32> | |
%1665 = tensor.empty() : tensor<80x576x576xf32> | |
%1666 = linalg.fill ins(%cst_954 : f32) outs(%1665 : tensor<80x576x576xf32>) -> tensor<80x576x576xf32> | |
%1667 = tensor.empty() : tensor<80x64x576xf32> | |
%1668 = linalg.generic {indexing_maps = [#map17, #map22], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1664 : tensor<80x576x64xf32>) outs(%1667 : tensor<80x64x576xf32>) { | |
^bb0(%in: f32, %out: f32): | |
linalg.yield %in : f32 | |
} -> tensor<80x64x576xf32> | |
%1669 = linalg.batch_matmul ins(%1663, %1668 : tensor<80x576x64xf32>, tensor<80x64x576xf32>) outs(%1666 : tensor<80x576x576xf32>) -> tensor<80x576x576xf32> | |
%1670 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1669 : tensor<80x576x576xf32>) outs(%1665 : tensor<80x576x576xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.mulf %in, %cst_962 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x576x576xf32> | |
%1671 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1670, %1666 : tensor<80x576x576xf32>, tensor<80x576x576xf32>) outs(%1665 : tensor<80x576x576xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in_2626, %cst_954 : f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<80x576x576xf32> | |
%1672 = tensor.empty() : tensor<80x576x1xi64> | |
%1673 = linalg.fill ins(%c0_i64 : i64) outs(%1672 : tensor<80x576x1xi64>) -> tensor<80x576x1xi64> | |
%1674 = tensor.empty() : tensor<80x576x1xf32> | |
%1675 = linalg.fill ins(%cst_949 : f32) outs(%1674 : tensor<80x576x1xf32>) -> tensor<80x576x1xf32> | |
%1676:2 = linalg.generic {indexing_maps = [#map17, #map19, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1671 : tensor<80x576x576xf32>) outs(%1675, %1673 : tensor<80x576x1xf32>, tensor<80x576x1xi64>) { | |
^bb0(%in: f32, %out: f32, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f32 | |
%6095 = arith.cmpf ogt, %in, %out : f32 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f32, i64 | |
} -> (tensor<80x576x1xf32>, tensor<80x576x1xi64>) | |
%1677 = linalg.generic {indexing_maps = [#map17, #map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1671, %1676#0 : tensor<80x576x576xf32>, tensor<80x576x1xf32>) outs(%1665 : tensor<80x576x576xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.subf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x576x576xf32> | |
%1678 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1677 : tensor<80x576x576xf32>) outs(%1665 : tensor<80x576x576xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.exp %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x576x576xf32> | |
%1679 = linalg.fill ins(%cst_954 : f32) outs(%1674 : tensor<80x576x1xf32>) -> tensor<80x576x1xf32> | |
%1680 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1678 : tensor<80x576x576xf32>) outs(%1679 : tensor<80x576x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x576x1xf32> | |
%1681 = linalg.generic {indexing_maps = [#map17, #map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1678, %1680 : tensor<80x576x576xf32>, tensor<80x576x1xf32>) outs(%1665 : tensor<80x576x576xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.divf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x576x576xf32> | |
%1682 = tensor.empty() : tensor<80x576x576xf16> | |
%1683 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1681 : tensor<80x576x576xf32>) outs(%1682 : tensor<80x576x576xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<80x576x576xf16> | |
%1684 = tensor.empty() : tensor<80x576x64xf16> | |
%1685 = linalg.fill ins(%cst_946 : f16) outs(%1684 : tensor<80x576x64xf16>) -> tensor<80x576x64xf16> | |
%1686 = linalg.batch_matmul ins(%1683, %collapsed_1401 : tensor<80x576x576xf16>, tensor<80x576x64xf16>) outs(%1685 : tensor<80x576x64xf16>) -> tensor<80x576x64xf16> | |
%expanded_1402 = tensor.expand_shape %1686 [[0, 1], [2], [3]] : tensor<80x576x64xf16> into tensor<4x20x576x64xf16> | |
%1687 = tensor.empty() : tensor<4x576x20x64xf16> | |
%1688 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1402 : tensor<4x20x576x64xf16>) outs(%1687 : tensor<4x576x20x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x20x64xf16> | |
%collapsed_1403 = tensor.collapse_shape %1688 [[0], [1], [2, 3]] : tensor<4x576x20x64xf16> into tensor<4x576x1280xf16> | |
%expanded_1404 = tensor.expand_shape %collapsed_1403 [[0], [1], [2, 3]] : tensor<4x576x1280xf16> into tensor<4x576x80x16xf16> | |
%1689 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1404 : tensor<4x576x80x16xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x80x16xf16> | |
%1690:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1689 : tensor<4x576x80x16xf16>) outs(%1602, %1600 : tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) | |
%1691 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1690#0 : tensor<4x576x80x1xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x80x16xf16> | |
%collapsed_1405 = tensor.collapse_shape %1691 [[0], [1], [2, 3]] : tensor<4x576x80x16xf16> into tensor<4x576x1280xf16> | |
%1692 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1405 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1693 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1403, %1692 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1694 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1693, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1695 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1694 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1696 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1695 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1697 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1696, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1698 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1697, %1692 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1699 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_697 : tensor<1280x80x1xf16>) outs(%1613 : tensor<1280x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x80x16xf16> | |
%collapsed_1406 = tensor.collapse_shape %1699 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
%1700 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_696, %collapsed_1406 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1280xf16> | |
%1701 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1700 : tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x1280xf16> | |
%collapsed_1407 = tensor.collapse_shape %1698 [[0, 1], [2]] : tensor<4x576x1280xf16> into tensor<2304x1280xf16> | |
%1702 = linalg.matmul ins(%collapsed_1407, %1701 : tensor<2304x1280xf16>, tensor<1280x1280xf16>) outs(%1618 : tensor<2304x1280xf16>) -> tensor<2304x1280xf16> | |
%1703 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_695, %1702 : tensor<1280xf16>, tensor<2304x1280xf16>) outs(%1617 : tensor<2304x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<2304x1280xf16> | |
%expanded_1408 = tensor.expand_shape %1703 [[0, 1], [2]] : tensor<2304x1280xf16> into tensor<4x576x1280xf16> | |
%1704 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1408, %expanded_1389 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1705 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1704 : tensor<4x576x1280xf16>) outs(%1622 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%1706 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1705 : tensor<4x576x1xf16>) outs(%1621 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_970 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%1707 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1706 : tensor<4x576x1xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x1280xf16> | |
%1708 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1704, %1707 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1709 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1708, %1708 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1710 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1709 : tensor<4x576x1280xf16>) outs(%1622 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%1711 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1710 : tensor<4x576x1xf16>) outs(%1621 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_970 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%1712 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1711 : tensor<4x576x1xf16>) outs(%1621 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.truncf %cst_953 : f64 to f16 | |
%6093 = arith.addf %in, %6092 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<4x576x1xf16> | |
%1713 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1712 : tensor<4x576x1xf16>) outs(%1621 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.rsqrt %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%1714 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1713 : tensor<4x576x1xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x1280xf16> | |
%1715 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1708, %1714 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1716 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1715, %cst_694 : tensor<4x576x1280xf16>, tensor<1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1717 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1716, %cst_693 : tensor<4x576x1280xf16>, tensor<1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%expanded_1409 = tensor.expand_shape %1717 [[0], [1], [2, 3]] : tensor<4x576x1280xf16> into tensor<4x576x80x16xf16> | |
%1718 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1409 : tensor<4x576x80x16xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x80x16xf16> | |
%1719:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1718 : tensor<4x576x80x16xf16>) outs(%1602, %1600 : tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) | |
%1720 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1719#0 : tensor<4x576x80x1xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x80x16xf16> | |
%collapsed_1410 = tensor.collapse_shape %1720 [[0], [1], [2, 3]] : tensor<4x576x80x16xf16> into tensor<4x576x1280xf16> | |
%1721 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1410 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1722 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1717, %1721 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1723 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1722, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1724 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1723 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1725 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1724 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1726 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1725, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1727 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1726, %1721 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1728 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_692 : tensor<1280x80x1xf16>) outs(%1613 : tensor<1280x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x80x16xf16> | |
%collapsed_1411 = tensor.collapse_shape %1728 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
%1729 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_691, %collapsed_1411 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1280xf16> | |
%1730 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1729 : tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x1280xf16> | |
%collapsed_1412 = tensor.collapse_shape %1727 [[0, 1], [2]] : tensor<4x576x1280xf16> into tensor<2304x1280xf16> | |
%1731 = linalg.matmul ins(%collapsed_1412, %1730 : tensor<2304x1280xf16>, tensor<1280x1280xf16>) outs(%1618 : tensor<2304x1280xf16>) -> tensor<2304x1280xf16> | |
%expanded_1413 = tensor.expand_shape %1731 [[0, 1], [2, 3]] : tensor<2304x1280xf16> into tensor<4x576x20x64xf16> | |
%1732 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1413 : tensor<4x576x20x64xf16>) outs(%1650 : tensor<4x20x576x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x20x576x64xf16> | |
%collapsed_1414 = tensor.collapse_shape %1732 [[0, 1], [2], [3]] : tensor<4x20x576x64xf16> into tensor<80x576x64xf16> | |
%1733 = tensor.empty() : tensor<1280x64x16xf16> | |
%1734 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_690 : tensor<1280x64x1xf16>) outs(%1733 : tensor<1280x64x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x64x16xf16> | |
%collapsed_1415 = tensor.collapse_shape %1734 [[0], [1, 2]] : tensor<1280x64x16xf16> into tensor<1280x1024xf16> | |
%1735 = tensor.empty() : tensor<1280x1024xf16> | |
%1736 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_689, %collapsed_1415 : tensor<1280x1024xi8>, tensor<1280x1024xf16>) outs(%1735 : tensor<1280x1024xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1024xf16> | |
%1737 = tensor.empty() : tensor<1024x1280xf16> | |
%1738 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1736 : tensor<1280x1024xf16>) outs(%1737 : tensor<1024x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1024x1280xf16> | |
%1739 = tensor.empty() : tensor<308x1280xf16> | |
%1740 = linalg.fill ins(%cst_946 : f16) outs(%1739 : tensor<308x1280xf16>) -> tensor<308x1280xf16> | |
%1741 = linalg.matmul ins(%collapsed_1049, %1738 : tensor<308x1024xf16>, tensor<1024x1280xf16>) outs(%1740 : tensor<308x1280xf16>) -> tensor<308x1280xf16> | |
%1742 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_688 : tensor<1280x64x1xf16>) outs(%1733 : tensor<1280x64x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x64x16xf16> | |
%collapsed_1416 = tensor.collapse_shape %1742 [[0], [1, 2]] : tensor<1280x64x16xf16> into tensor<1280x1024xf16> | |
%1743 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_687, %collapsed_1416 : tensor<1280x1024xi8>, tensor<1280x1024xf16>) outs(%1735 : tensor<1280x1024xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1024xf16> | |
%1744 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1743 : tensor<1280x1024xf16>) outs(%1737 : tensor<1024x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1024x1280xf16> | |
%1745 = linalg.matmul ins(%collapsed_1049, %1744 : tensor<308x1024xf16>, tensor<1024x1280xf16>) outs(%1740 : tensor<308x1280xf16>) -> tensor<308x1280xf16> | |
%expanded_1417 = tensor.expand_shape %1741 [[0, 1], [2, 3]] : tensor<308x1280xf16> into tensor<4x77x20x64xf16> | |
%1746 = tensor.empty() : tensor<4x20x77x64xf16> | |
%1747 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1417 : tensor<4x77x20x64xf16>) outs(%1746 : tensor<4x20x77x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x20x77x64xf16> | |
%collapsed_1418 = tensor.collapse_shape %1747 [[0, 1], [2], [3]] : tensor<4x20x77x64xf16> into tensor<80x77x64xf16> | |
%expanded_1419 = tensor.expand_shape %1745 [[0, 1], [2, 3]] : tensor<308x1280xf16> into tensor<4x77x20x64xf16> | |
%1748 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1419 : tensor<4x77x20x64xf16>) outs(%1746 : tensor<4x20x77x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x20x77x64xf16> | |
%collapsed_1420 = tensor.collapse_shape %1748 [[0, 1], [2], [3]] : tensor<4x20x77x64xf16> into tensor<80x77x64xf16> | |
%1749 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1414 : tensor<80x576x64xf16>) outs(%1662 : tensor<80x576x64xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x576x64xf32> | |
%1750 = tensor.empty() : tensor<80x77x64xf32> | |
%1751 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1418 : tensor<80x77x64xf16>) outs(%1750 : tensor<80x77x64xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x77x64xf32> | |
%1752 = tensor.empty() : tensor<80x576x77xf32> | |
%1753 = linalg.fill ins(%cst_954 : f32) outs(%1752 : tensor<80x576x77xf32>) -> tensor<80x576x77xf32> | |
%1754 = tensor.empty() : tensor<80x64x77xf32> | |
%1755 = linalg.generic {indexing_maps = [#map17, #map22], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1751 : tensor<80x77x64xf32>) outs(%1754 : tensor<80x64x77xf32>) { | |
^bb0(%in: f32, %out: f32): | |
linalg.yield %in : f32 | |
} -> tensor<80x64x77xf32> | |
%1756 = linalg.batch_matmul ins(%1749, %1755 : tensor<80x576x64xf32>, tensor<80x64x77xf32>) outs(%1753 : tensor<80x576x77xf32>) -> tensor<80x576x77xf32> | |
%1757 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1756 : tensor<80x576x77xf32>) outs(%1752 : tensor<80x576x77xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.mulf %in, %cst_962 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x576x77xf32> | |
%1758 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1757, %1753 : tensor<80x576x77xf32>, tensor<80x576x77xf32>) outs(%1752 : tensor<80x576x77xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in_2626, %cst_954 : f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<80x576x77xf32> | |
%1759:2 = linalg.generic {indexing_maps = [#map17, #map19, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1758 : tensor<80x576x77xf32>) outs(%1675, %1673 : tensor<80x576x1xf32>, tensor<80x576x1xi64>) { | |
^bb0(%in: f32, %out: f32, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f32 | |
%6095 = arith.cmpf ogt, %in, %out : f32 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f32, i64 | |
} -> (tensor<80x576x1xf32>, tensor<80x576x1xi64>) | |
%1760 = linalg.generic {indexing_maps = [#map17, #map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1758, %1759#0 : tensor<80x576x77xf32>, tensor<80x576x1xf32>) outs(%1752 : tensor<80x576x77xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.subf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x576x77xf32> | |
%1761 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1760 : tensor<80x576x77xf32>) outs(%1752 : tensor<80x576x77xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.exp %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x576x77xf32> | |
%1762 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1761 : tensor<80x576x77xf32>) outs(%1679 : tensor<80x576x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x576x1xf32> | |
%1763 = linalg.generic {indexing_maps = [#map17, #map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1761, %1762 : tensor<80x576x77xf32>, tensor<80x576x1xf32>) outs(%1752 : tensor<80x576x77xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.divf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x576x77xf32> | |
%1764 = tensor.empty() : tensor<80x576x77xf16> | |
%1765 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1763 : tensor<80x576x77xf32>) outs(%1764 : tensor<80x576x77xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<80x576x77xf16> | |
%1766 = linalg.batch_matmul ins(%1765, %collapsed_1420 : tensor<80x576x77xf16>, tensor<80x77x64xf16>) outs(%1685 : tensor<80x576x64xf16>) -> tensor<80x576x64xf16> | |
%expanded_1421 = tensor.expand_shape %1766 [[0, 1], [2], [3]] : tensor<80x576x64xf16> into tensor<4x20x576x64xf16> | |
%1767 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1421 : tensor<4x20x576x64xf16>) outs(%1687 : tensor<4x576x20x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x20x64xf16> | |
%collapsed_1422 = tensor.collapse_shape %1767 [[0], [1], [2, 3]] : tensor<4x576x20x64xf16> into tensor<4x576x1280xf16> | |
%expanded_1423 = tensor.expand_shape %collapsed_1422 [[0], [1], [2, 3]] : tensor<4x576x1280xf16> into tensor<4x576x80x16xf16> | |
%1768 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1423 : tensor<4x576x80x16xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x80x16xf16> | |
%1769:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1768 : tensor<4x576x80x16xf16>) outs(%1602, %1600 : tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) | |
%1770 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1769#0 : tensor<4x576x80x1xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x80x16xf16> | |
%collapsed_1424 = tensor.collapse_shape %1770 [[0], [1], [2, 3]] : tensor<4x576x80x16xf16> into tensor<4x576x1280xf16> | |
%1771 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1424 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1772 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1422, %1771 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1773 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1772, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1774 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1773 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1775 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1774 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1776 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1775, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1777 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1776, %1771 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1778 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_686 : tensor<1280x80x1xf16>) outs(%1613 : tensor<1280x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x80x16xf16> | |
%collapsed_1425 = tensor.collapse_shape %1778 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
%1779 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_685, %collapsed_1425 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1280xf16> | |
%1780 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1779 : tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x1280xf16> | |
%collapsed_1426 = tensor.collapse_shape %1777 [[0, 1], [2]] : tensor<4x576x1280xf16> into tensor<2304x1280xf16> | |
%1781 = linalg.matmul ins(%collapsed_1426, %1780 : tensor<2304x1280xf16>, tensor<1280x1280xf16>) outs(%1618 : tensor<2304x1280xf16>) -> tensor<2304x1280xf16> | |
%1782 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_684, %1781 : tensor<1280xf16>, tensor<2304x1280xf16>) outs(%1617 : tensor<2304x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<2304x1280xf16> | |
%expanded_1427 = tensor.expand_shape %1782 [[0, 1], [2]] : tensor<2304x1280xf16> into tensor<4x576x1280xf16> | |
%1783 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1427, %1704 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1784 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1783 : tensor<4x576x1280xf16>) outs(%1622 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%1785 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1784 : tensor<4x576x1xf16>) outs(%1621 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_970 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%1786 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1785 : tensor<4x576x1xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x1280xf16> | |
%1787 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1783, %1786 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1788 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1787, %1787 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1789 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1788 : tensor<4x576x1280xf16>) outs(%1622 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%1790 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1789 : tensor<4x576x1xf16>) outs(%1621 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_970 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%1791 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1790 : tensor<4x576x1xf16>) outs(%1621 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.truncf %cst_953 : f64 to f16 | |
%6093 = arith.addf %in, %6092 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<4x576x1xf16> | |
%1792 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1791 : tensor<4x576x1xf16>) outs(%1621 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.rsqrt %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%1793 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1792 : tensor<4x576x1xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x1280xf16> | |
%1794 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1787, %1793 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1795 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1794, %cst_683 : tensor<4x576x1280xf16>, tensor<1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1796 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1795, %cst_682 : tensor<4x576x1280xf16>, tensor<1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%expanded_1428 = tensor.expand_shape %1796 [[0], [1], [2, 3]] : tensor<4x576x1280xf16> into tensor<4x576x80x16xf16> | |
%1797 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1428 : tensor<4x576x80x16xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x80x16xf16> | |
%1798:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1797 : tensor<4x576x80x16xf16>) outs(%1602, %1600 : tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) | |
%1799 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1798#0 : tensor<4x576x80x1xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x80x16xf16> | |
%collapsed_1429 = tensor.collapse_shape %1799 [[0], [1], [2, 3]] : tensor<4x576x80x16xf16> into tensor<4x576x1280xf16> | |
%1800 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1429 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1801 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1796, %1800 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1802 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1801, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1803 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1802 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1804 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1803 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1805 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1804, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1806 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1805, %1800 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1807 = tensor.empty() : tensor<10240x80x16xf16> | |
%1808 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_681 : tensor<10240x80x1xf16>) outs(%1807 : tensor<10240x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<10240x80x16xf16> | |
%collapsed_1430 = tensor.collapse_shape %1808 [[0], [1, 2]] : tensor<10240x80x16xf16> into tensor<10240x1280xf16> | |
%1809 = tensor.empty() : tensor<10240x1280xf16> | |
%1810 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_680, %collapsed_1430 : tensor<10240x1280xi8>, tensor<10240x1280xf16>) outs(%1809 : tensor<10240x1280xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<10240x1280xf16> | |
%1811 = tensor.empty() : tensor<1280x10240xf16> | |
%1812 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1810 : tensor<10240x1280xf16>) outs(%1811 : tensor<1280x10240xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x10240xf16> | |
%collapsed_1431 = tensor.collapse_shape %1806 [[0, 1], [2]] : tensor<4x576x1280xf16> into tensor<2304x1280xf16> | |
%1813 = tensor.empty() : tensor<2304x10240xf16> | |
%1814 = linalg.fill ins(%cst_946 : f16) outs(%1813 : tensor<2304x10240xf16>) -> tensor<2304x10240xf16> | |
%1815 = linalg.matmul ins(%collapsed_1431, %1812 : tensor<2304x1280xf16>, tensor<1280x10240xf16>) outs(%1814 : tensor<2304x10240xf16>) -> tensor<2304x10240xf16> | |
%1816 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_679, %1815 : tensor<10240xf16>, tensor<2304x10240xf16>) outs(%1813 : tensor<2304x10240xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<2304x10240xf16> | |
%expanded_1432 = tensor.expand_shape %1816 [[0, 1], [2]] : tensor<2304x10240xf16> into tensor<4x576x10240xf16> | |
%extracted_slice_1433 = tensor.extract_slice %expanded_1432[0, 0, 0] [4, 576, 5120] [1, 1, 1] : tensor<4x576x10240xf16> to tensor<4x576x5120xf16> | |
%extracted_slice_1434 = tensor.extract_slice %expanded_1432[0, 0, 5120] [4, 576, 5120] [1, 1, 1] : tensor<4x576x10240xf16> to tensor<4x576x5120xf16> | |
%1817 = tensor.empty() : tensor<4x576x5120xf16> | |
%1818 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%extracted_slice_1434 : tensor<4x576x5120xf16>) outs(%1817 : tensor<4x576x5120xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.sqrt %cst_950 : f16 | |
%6093 = arith.divf %in, %6092 : f16 | |
%6094 = math.erf %6093 : f16 | |
%6095 = arith.addf %6094, %cst_947 : f16 | |
%6096 = arith.mulf %6095, %cst_951 : f16 | |
%6097 = arith.mulf %in, %6096 : f16 | |
linalg.yield %6097 : f16 | |
} -> tensor<4x576x5120xf16> | |
%1819 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%extracted_slice_1433, %1818 : tensor<4x576x5120xf16>, tensor<4x576x5120xf16>) outs(%1817 : tensor<4x576x5120xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x5120xf16> | |
%expanded_1435 = tensor.expand_shape %1819 [[0], [1], [2, 3]] : tensor<4x576x5120xf16> into tensor<4x576x320x16xf16> | |
%1820 = tensor.empty() : tensor<4x576x320x16xf16> | |
%1821 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1435 : tensor<4x576x320x16xf16>) outs(%1820 : tensor<4x576x320x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x320x16xf16> | |
%1822 = tensor.empty() : tensor<4x576x320x1xi64> | |
%1823 = linalg.fill ins(%c0_i64 : i64) outs(%1822 : tensor<4x576x320x1xi64>) -> tensor<4x576x320x1xi64> | |
%1824 = tensor.empty() : tensor<4x576x320x1xf16> | |
%1825 = linalg.fill ins(%cst_948 : f16) outs(%1824 : tensor<4x576x320x1xf16>) -> tensor<4x576x320x1xf16> | |
%1826:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1821 : tensor<4x576x320x16xf16>) outs(%1825, %1823 : tensor<4x576x320x1xf16>, tensor<4x576x320x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x576x320x1xf16>, tensor<4x576x320x1xi64>) | |
%1827 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1826#0 : tensor<4x576x320x1xf16>) outs(%1820 : tensor<4x576x320x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x320x16xf16> | |
%collapsed_1436 = tensor.collapse_shape %1827 [[0], [1], [2, 3]] : tensor<4x576x320x16xf16> into tensor<4x576x5120xf16> | |
%1828 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1436 : tensor<4x576x5120xf16>) outs(%1817 : tensor<4x576x5120xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x5120xf16> | |
%1829 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1819, %1828 : tensor<4x576x5120xf16>, tensor<4x576x5120xf16>) outs(%1817 : tensor<4x576x5120xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x5120xf16> | |
%1830 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1829, %cst_935 : tensor<4x576x5120xf16>, tensor<f16>) outs(%1817 : tensor<4x576x5120xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x5120xf16> | |
%1831 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1830 : tensor<4x576x5120xf16>) outs(%1817 : tensor<4x576x5120xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x5120xf16> | |
%1832 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1831 : tensor<4x576x5120xf16>) outs(%1817 : tensor<4x576x5120xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x576x5120xf16> | |
%1833 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1832, %cst_935 : tensor<4x576x5120xf16>, tensor<f16>) outs(%1817 : tensor<4x576x5120xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x5120xf16> | |
%1834 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1833, %1828 : tensor<4x576x5120xf16>, tensor<4x576x5120xf16>) outs(%1817 : tensor<4x576x5120xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x5120xf16> | |
%1835 = tensor.empty() : tensor<1280x320x16xf16> | |
%1836 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_678 : tensor<1280x320x1xf16>) outs(%1835 : tensor<1280x320x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x320x16xf16> | |
%collapsed_1437 = tensor.collapse_shape %1836 [[0], [1, 2]] : tensor<1280x320x16xf16> into tensor<1280x5120xf16> | |
%1837 = tensor.empty() : tensor<1280x5120xf16> | |
%1838 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_677, %collapsed_1437 : tensor<1280x5120xi8>, tensor<1280x5120xf16>) outs(%1837 : tensor<1280x5120xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x5120xf16> | |
%1839 = tensor.empty() : tensor<5120x1280xf16> | |
%1840 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1838 : tensor<1280x5120xf16>) outs(%1839 : tensor<5120x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<5120x1280xf16> | |
%collapsed_1438 = tensor.collapse_shape %1834 [[0, 1], [2]] : tensor<4x576x5120xf16> into tensor<2304x5120xf16> | |
%1841 = linalg.matmul ins(%collapsed_1438, %1840 : tensor<2304x5120xf16>, tensor<5120x1280xf16>) outs(%1618 : tensor<2304x1280xf16>) -> tensor<2304x1280xf16> | |
%1842 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_676, %1841 : tensor<1280xf16>, tensor<2304x1280xf16>) outs(%1617 : tensor<2304x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<2304x1280xf16> | |
%expanded_1439 = tensor.expand_shape %1842 [[0, 1], [2]] : tensor<2304x1280xf16> into tensor<4x576x1280xf16> | |
%1843 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1439, %1783 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%expanded_1440 = tensor.expand_shape %1843 [[0], [1], [2, 3]] : tensor<4x576x1280xf16> into tensor<4x576x80x16xf16> | |
%1844 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1440 : tensor<4x576x80x16xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x80x16xf16> | |
%1845:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1844 : tensor<4x576x80x16xf16>) outs(%1602, %1600 : tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) | |
%1846 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1845#0 : tensor<4x576x80x1xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x80x16xf16> | |
%collapsed_1441 = tensor.collapse_shape %1846 [[0], [1], [2, 3]] : tensor<4x576x80x16xf16> into tensor<4x576x1280xf16> | |
%1847 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1441 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1848 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1843, %1847 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1849 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1848, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1850 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1849 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1851 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1850 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1852 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1851, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1853 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1852, %1847 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1854 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_675 : tensor<1280x80x1xf16>) outs(%1613 : tensor<1280x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x80x16xf16> | |
%collapsed_1442 = tensor.collapse_shape %1854 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
%1855 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_674, %collapsed_1442 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1280xf16> | |
%1856 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1855 : tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x1280xf16> | |
%collapsed_1443 = tensor.collapse_shape %1853 [[0, 1], [2]] : tensor<4x576x1280xf16> into tensor<2304x1280xf16> | |
%1857 = linalg.matmul ins(%collapsed_1443, %1856 : tensor<2304x1280xf16>, tensor<1280x1280xf16>) outs(%1618 : tensor<2304x1280xf16>) -> tensor<2304x1280xf16> | |
%1858 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_673, %1857 : tensor<1280xf16>, tensor<2304x1280xf16>) outs(%1617 : tensor<2304x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<2304x1280xf16> | |
%expanded_1444 = tensor.expand_shape %1858 [[0, 1, 2], [3]] : tensor<2304x1280xf16> into tensor<4x24x24x1280xf16> | |
%1859 = linalg.generic {indexing_maps = [#map9, #map23], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1444 : tensor<4x24x24x1280xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1860 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1859, %1576 : tensor<4x1280x24x24xf16>, tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%collapsed_1445 = tensor.collapse_shape %1860 [[0], [1], [2, 3]] : tensor<4x1280x24x24xf16> into tensor<4x1280x576xf16> | |
%expanded_1446 = tensor.expand_shape %collapsed_1445 [[0], [1, 2], [3]] : tensor<4x1280x576xf16> into tensor<4x32x40x576xf16> | |
%1861 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1446 : tensor<4x32x40x576xf16>) outs(%1514 : tensor<4x32x40x576xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x40x576xf32> | |
%1862 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1861 : tensor<4x32x40x576xf32>) outs(%1516 : tensor<4x32x40x576xf64>) { | |
^bb0(%in: f32, %out: f64): | |
%6092 = arith.extf %in : f32 to f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x576xf64> | |
%1863 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1862 : tensor<4x32x40x576xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1864 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1863 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_963 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1865 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1862, %1864 : tensor<4x32x40x576xf64>, tensor<4x32x1x1xf64>) outs(%1516 : tensor<4x32x40x576xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.subf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x576xf64> | |
%1866 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1865, %1865 : tensor<4x32x40x576xf64>, tensor<4x32x40x576xf64>) outs(%1516 : tensor<4x32x40x576xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.mulf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x576xf64> | |
%1867 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1866 : tensor<4x32x40x576xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1868 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1867 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_963 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1869 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1868 : tensor<4x32x1x1xf64>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f64, %out: f32): | |
%6092 = arith.truncf %in : f64 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1870 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1861 : tensor<4x32x40x576xf32>) outs(%44 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1871 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1870 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.divf %in, %cst_964 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1872 = linalg.generic {indexing_maps = [#map10, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1869, %cst_938 : tensor<4x32x1x1xf32>, tensor<f16>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1873 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1872 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.rsqrt %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1874 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1446, %1871 : tensor<4x32x40x576xf16>, tensor<4x32x1x1xf32>) outs(%1514 : tensor<4x32x40x576xf32>) { | |
^bb0(%in: f16, %in_2626: f32, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
%6093 = arith.subf %6092, %in_2626 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x40x576xf32> | |
%1875 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1874, %1873 : tensor<4x32x40x576xf32>, tensor<4x32x1x1xf32>) outs(%1514 : tensor<4x32x40x576xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x40x576xf32> | |
%collapsed_1447 = tensor.collapse_shape %1875 [[0], [1, 2], [3]] : tensor<4x32x40x576xf32> into tensor<4x1280x576xf32> | |
%expanded_1448 = tensor.expand_shape %collapsed_1447 [[0], [1], [2, 3]] : tensor<4x1280x576xf32> into tensor<4x1280x24x24xf32> | |
%expanded_1449 = tensor.expand_shape %cst_672 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
%expanded_1450 = tensor.expand_shape %cst_671 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
%1876 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1448, %expanded_1450 : tensor<4x1280x24x24xf32>, tensor<1x1280x1x1xf16>) outs(%1531 : tensor<4x1280x24x24xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.mulf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x1280x24x24xf32> | |
%1877 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1876, %expanded_1449 : tensor<4x1280x24x24xf32>, tensor<1x1280x1x1xf16>) outs(%1531 : tensor<4x1280x24x24xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x1280x24x24xf32> | |
%1878 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1877 : tensor<4x1280x24x24xf32>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1879 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1878 : tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.negf %in : f16 | |
%6093 = math.exp %6092 : f16 | |
%6094 = arith.addf %6093, %cst_947 : f16 | |
%6095 = arith.divf %cst_947, %6094 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1880 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1879, %1878 : tensor<4x1280x24x24xf16>, tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%expanded_1451 = tensor.expand_shape %1880 [[0], [1, 2], [3], [4]] : tensor<4x1280x24x24xf16> into tensor<4x80x16x24x24xf16> | |
%1881 = linalg.generic {indexing_maps = [#map13, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1451 : tensor<4x80x16x24x24xf16>) outs(%1537 : tensor<4x80x16x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x80x16x24x24xf16> | |
%1882:2 = linalg.generic {indexing_maps = [#map13, #map14, #map14], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%1881 : tensor<4x80x16x24x24xf16>) outs(%1542, %1540 : tensor<4x80x1x24x24xf16>, tensor<4x80x1x24x24xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x80x1x24x24xf16>, tensor<4x80x1x24x24xi64>) | |
%1883 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1882#0 : tensor<4x80x1x24x24xf16>) outs(%1537 : tensor<4x80x16x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x80x16x24x24xf16> | |
%collapsed_1452 = tensor.collapse_shape %1883 [[0], [1, 2], [3], [4]] : tensor<4x80x16x24x24xf16> into tensor<4x1280x24x24xf16> | |
%1884 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1452 : tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1885 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1880, %1884 : tensor<4x1280x24x24xf16>, tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1886 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1885, %cst_935 : tensor<4x1280x24x24xf16>, tensor<f16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1887 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1886 : tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1888 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1887 : tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1889 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1888, %cst_935 : tensor<4x1280x24x24xf16>, tensor<f16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1890 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1889, %1884 : tensor<4x1280x24x24xf16>, tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1891 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_670 : tensor<1280x80x1x3x3xf16>) outs(%1552 : tensor<1280x80x16x3x3xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x80x16x3x3xf16> | |
%collapsed_1453 = tensor.collapse_shape %1891 [[0], [1, 2], [3], [4]] : tensor<1280x80x16x3x3xf16> into tensor<1280x1280x3x3xf16> | |
%1892 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_669, %collapsed_1453 : tensor<1280x1280x3x3xi8>, tensor<1280x1280x3x3xf16>) outs(%1554 : tensor<1280x1280x3x3xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1280x3x3xf16> | |
%padded_1454 = tensor.pad %1890 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<4x1280x24x24xf16> to tensor<4x1280x26x26xf16> | |
%1893 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_668 : tensor<1280xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1894 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1454, %1892 : tensor<4x1280x26x26xf16>, tensor<1280x1280x3x3xf16>) outs(%1893 : tensor<4x1280x24x24xf16>) -> tensor<4x1280x24x24xf16> | |
%1895 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_667 : tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x1280xf16> | |
%1896 = linalg.matmul ins(%79, %1895 : tensor<4x1280xf16>, tensor<1280x1280xf16>) outs(%18 : tensor<4x1280xf16>) -> tensor<4x1280xf16> | |
%1897 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_666, %1896 : tensor<1280xf16>, tensor<4x1280xf16>) outs(%17 : tensor<4x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280xf16> | |
%expanded_1455 = tensor.expand_shape %1897 [[0], [1, 2, 3]] : tensor<4x1280xf16> into tensor<4x1280x1x1xf16> | |
%1898 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1894, %expanded_1455 : tensor<4x1280x24x24xf16>, tensor<4x1280x1x1xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%collapsed_1456 = tensor.collapse_shape %1898 [[0], [1], [2, 3]] : tensor<4x1280x24x24xf16> into tensor<4x1280x576xf16> | |
%expanded_1457 = tensor.expand_shape %collapsed_1456 [[0], [1, 2], [3]] : tensor<4x1280x576xf16> into tensor<4x32x40x576xf16> | |
%1899 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1457 : tensor<4x32x40x576xf16>) outs(%1514 : tensor<4x32x40x576xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x40x576xf32> | |
%1900 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1899 : tensor<4x32x40x576xf32>) outs(%1516 : tensor<4x32x40x576xf64>) { | |
^bb0(%in: f32, %out: f64): | |
%6092 = arith.extf %in : f32 to f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x576xf64> | |
%1901 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1900 : tensor<4x32x40x576xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1902 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1901 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_963 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1903 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1900, %1902 : tensor<4x32x40x576xf64>, tensor<4x32x1x1xf64>) outs(%1516 : tensor<4x32x40x576xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.subf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x576xf64> | |
%1904 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1903, %1903 : tensor<4x32x40x576xf64>, tensor<4x32x40x576xf64>) outs(%1516 : tensor<4x32x40x576xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.mulf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x576xf64> | |
%1905 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1904 : tensor<4x32x40x576xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1906 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1905 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_963 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1907 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1906 : tensor<4x32x1x1xf64>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f64, %out: f32): | |
%6092 = arith.truncf %in : f64 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1908 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1899 : tensor<4x32x40x576xf32>) outs(%44 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1909 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1908 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.divf %in, %cst_964 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1910 = linalg.generic {indexing_maps = [#map10, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1907, %cst_938 : tensor<4x32x1x1xf32>, tensor<f16>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1911 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1910 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.rsqrt %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1912 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1457, %1909 : tensor<4x32x40x576xf16>, tensor<4x32x1x1xf32>) outs(%1514 : tensor<4x32x40x576xf32>) { | |
^bb0(%in: f16, %in_2626: f32, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
%6093 = arith.subf %6092, %in_2626 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x40x576xf32> | |
%1913 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1912, %1911 : tensor<4x32x40x576xf32>, tensor<4x32x1x1xf32>) outs(%1514 : tensor<4x32x40x576xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x40x576xf32> | |
%collapsed_1458 = tensor.collapse_shape %1913 [[0], [1, 2], [3]] : tensor<4x32x40x576xf32> into tensor<4x1280x576xf32> | |
%expanded_1459 = tensor.expand_shape %collapsed_1458 [[0], [1], [2, 3]] : tensor<4x1280x576xf32> into tensor<4x1280x24x24xf32> | |
%expanded_1460 = tensor.expand_shape %cst_665 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
%expanded_1461 = tensor.expand_shape %cst_664 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
%1914 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1459, %expanded_1461 : tensor<4x1280x24x24xf32>, tensor<1x1280x1x1xf16>) outs(%1531 : tensor<4x1280x24x24xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.mulf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x1280x24x24xf32> | |
%1915 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1914, %expanded_1460 : tensor<4x1280x24x24xf32>, tensor<1x1280x1x1xf16>) outs(%1531 : tensor<4x1280x24x24xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x1280x24x24xf32> | |
%1916 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1915 : tensor<4x1280x24x24xf32>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1917 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1916 : tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.negf %in : f16 | |
%6093 = math.exp %6092 : f16 | |
%6094 = arith.addf %6093, %cst_947 : f16 | |
%6095 = arith.divf %cst_947, %6094 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1918 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1917, %1916 : tensor<4x1280x24x24xf16>, tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%expanded_1462 = tensor.expand_shape %1918 [[0], [1, 2], [3], [4]] : tensor<4x1280x24x24xf16> into tensor<4x80x16x24x24xf16> | |
%1919 = linalg.generic {indexing_maps = [#map13, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1462 : tensor<4x80x16x24x24xf16>) outs(%1537 : tensor<4x80x16x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x80x16x24x24xf16> | |
%1920:2 = linalg.generic {indexing_maps = [#map13, #map14, #map14], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%1919 : tensor<4x80x16x24x24xf16>) outs(%1542, %1540 : tensor<4x80x1x24x24xf16>, tensor<4x80x1x24x24xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x80x1x24x24xf16>, tensor<4x80x1x24x24xi64>) | |
%1921 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%1920#0 : tensor<4x80x1x24x24xf16>) outs(%1537 : tensor<4x80x16x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x80x16x24x24xf16> | |
%collapsed_1463 = tensor.collapse_shape %1921 [[0], [1, 2], [3], [4]] : tensor<4x80x16x24x24xf16> into tensor<4x1280x24x24xf16> | |
%1922 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1463 : tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1923 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1918, %1922 : tensor<4x1280x24x24xf16>, tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1924 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1923, %cst_935 : tensor<4x1280x24x24xf16>, tensor<f16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1925 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1924 : tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1926 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1925 : tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1927 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1926, %cst_935 : tensor<4x1280x24x24xf16>, tensor<f16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1928 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1927, %1922 : tensor<4x1280x24x24xf16>, tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1929 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_663 : tensor<1280x80x1x3x3xf16>) outs(%1552 : tensor<1280x80x16x3x3xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x80x16x3x3xf16> | |
%collapsed_1464 = tensor.collapse_shape %1929 [[0], [1, 2], [3], [4]] : tensor<1280x80x16x3x3xf16> into tensor<1280x1280x3x3xf16> | |
%1930 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_662, %collapsed_1464 : tensor<1280x1280x3x3xi8>, tensor<1280x1280x3x3xf16>) outs(%1554 : tensor<1280x1280x3x3xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1280x3x3xf16> | |
%padded_1465 = tensor.pad %1928 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<4x1280x24x24xf16> to tensor<4x1280x26x26xf16> | |
%1931 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_661 : tensor<1280xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1932 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1465, %1930 : tensor<4x1280x26x26xf16>, tensor<1280x1280x3x3xf16>) outs(%1931 : tensor<4x1280x24x24xf16>) -> tensor<4x1280x24x24xf16> | |
%1933 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1860, %1932 : tensor<4x1280x24x24xf16>, tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1934 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1933, %cst_924 : tensor<4x1280x24x24xf16>, tensor<f16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%collapsed_1466 = tensor.collapse_shape %1934 [[0], [1], [2, 3]] : tensor<4x1280x24x24xf16> into tensor<4x1280x576xf16> | |
%expanded_1467 = tensor.expand_shape %collapsed_1466 [[0], [1, 2], [3]] : tensor<4x1280x576xf16> into tensor<4x32x40x576xf16> | |
%1935 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1467 : tensor<4x32x40x576xf16>) outs(%1514 : tensor<4x32x40x576xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x40x576xf32> | |
%1936 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1935 : tensor<4x32x40x576xf32>) outs(%1516 : tensor<4x32x40x576xf64>) { | |
^bb0(%in: f32, %out: f64): | |
%6092 = arith.extf %in : f32 to f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x576xf64> | |
%1937 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1936 : tensor<4x32x40x576xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1938 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1937 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_963 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1939 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1936, %1938 : tensor<4x32x40x576xf64>, tensor<4x32x1x1xf64>) outs(%1516 : tensor<4x32x40x576xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.subf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x576xf64> | |
%1940 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1939, %1939 : tensor<4x32x40x576xf64>, tensor<4x32x40x576xf64>) outs(%1516 : tensor<4x32x40x576xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.mulf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x576xf64> | |
%1941 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1940 : tensor<4x32x40x576xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1942 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1941 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_963 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%1943 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1942 : tensor<4x32x1x1xf64>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f64, %out: f32): | |
%6092 = arith.truncf %in : f64 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1944 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%1935 : tensor<4x32x40x576xf32>) outs(%44 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1945 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1944 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.divf %in, %cst_964 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1946 = linalg.generic {indexing_maps = [#map10, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1943, %cst_923 : tensor<4x32x1x1xf32>, tensor<f16>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1947 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1946 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.rsqrt %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%1948 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1467, %1945 : tensor<4x32x40x576xf16>, tensor<4x32x1x1xf32>) outs(%1514 : tensor<4x32x40x576xf32>) { | |
^bb0(%in: f16, %in_2626: f32, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
%6093 = arith.subf %6092, %in_2626 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x40x576xf32> | |
%1949 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1948, %1947 : tensor<4x32x40x576xf32>, tensor<4x32x1x1xf32>) outs(%1514 : tensor<4x32x40x576xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x40x576xf32> | |
%collapsed_1468 = tensor.collapse_shape %1949 [[0], [1, 2], [3]] : tensor<4x32x40x576xf32> into tensor<4x1280x576xf32> | |
%expanded_1469 = tensor.expand_shape %collapsed_1468 [[0], [1], [2, 3]] : tensor<4x1280x576xf32> into tensor<4x1280x24x24xf32> | |
%expanded_1470 = tensor.expand_shape %cst_660 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
%expanded_1471 = tensor.expand_shape %cst_659 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
%1950 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1469, %expanded_1471 : tensor<4x1280x24x24xf32>, tensor<1x1280x1x1xf16>) outs(%1531 : tensor<4x1280x24x24xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.mulf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x1280x24x24xf32> | |
%1951 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1950, %expanded_1470 : tensor<4x1280x24x24xf32>, tensor<1x1280x1x1xf16>) outs(%1531 : tensor<4x1280x24x24xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x1280x24x24xf32> | |
%1952 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1951 : tensor<4x1280x24x24xf32>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%1953 = linalg.generic {indexing_maps = [#map9, #map15], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1952 : tensor<4x1280x24x24xf16>) outs(%1595 : tensor<4x24x24x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x24x24x1280xf16> | |
%collapsed_1472 = tensor.collapse_shape %1953 [[0], [1, 2], [3]] : tensor<4x24x24x1280xf16> into tensor<4x576x1280xf16> | |
%expanded_1473 = tensor.expand_shape %collapsed_1472 [[0], [1], [2, 3]] : tensor<4x576x1280xf16> into tensor<4x576x80x16xf16> | |
%1954 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1473 : tensor<4x576x80x16xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x80x16xf16> | |
%1955:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1954 : tensor<4x576x80x16xf16>) outs(%1602, %1600 : tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) | |
%1956 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1955#0 : tensor<4x576x80x1xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x80x16xf16> | |
%collapsed_1474 = tensor.collapse_shape %1956 [[0], [1], [2, 3]] : tensor<4x576x80x16xf16> into tensor<4x576x1280xf16> | |
%1957 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1474 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1958 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1472, %1957 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1959 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1958, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1960 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1959 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1961 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1960 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1962 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1961, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1963 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1962, %1957 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1964 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_658 : tensor<1280x80x1xf16>) outs(%1613 : tensor<1280x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x80x16xf16> | |
%collapsed_1475 = tensor.collapse_shape %1964 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
%1965 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_657, %collapsed_1475 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1280xf16> | |
%1966 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1965 : tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x1280xf16> | |
%collapsed_1476 = tensor.collapse_shape %1963 [[0, 1], [2]] : tensor<4x576x1280xf16> into tensor<2304x1280xf16> | |
%1967 = linalg.matmul ins(%collapsed_1476, %1966 : tensor<2304x1280xf16>, tensor<1280x1280xf16>) outs(%1618 : tensor<2304x1280xf16>) -> tensor<2304x1280xf16> | |
%1968 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_656, %1967 : tensor<1280xf16>, tensor<2304x1280xf16>) outs(%1617 : tensor<2304x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<2304x1280xf16> | |
%expanded_1477 = tensor.expand_shape %1968 [[0, 1], [2]] : tensor<2304x1280xf16> into tensor<4x576x1280xf16> | |
%1969 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%expanded_1477 : tensor<4x576x1280xf16>) outs(%1622 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%1970 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1969 : tensor<4x576x1xf16>) outs(%1621 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_970 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%1971 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1970 : tensor<4x576x1xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x1280xf16> | |
%1972 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1477, %1971 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1973 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1972, %1972 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1974 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1973 : tensor<4x576x1280xf16>) outs(%1622 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%1975 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1974 : tensor<4x576x1xf16>) outs(%1621 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_970 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%1976 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1975 : tensor<4x576x1xf16>) outs(%1621 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.truncf %cst_953 : f64 to f16 | |
%6093 = arith.addf %in, %6092 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<4x576x1xf16> | |
%1977 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1976 : tensor<4x576x1xf16>) outs(%1621 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.rsqrt %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%1978 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1977 : tensor<4x576x1xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x1280xf16> | |
%1979 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1972, %1978 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1980 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1979, %cst_655 : tensor<4x576x1280xf16>, tensor<1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1981 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1980, %cst_654 : tensor<4x576x1280xf16>, tensor<1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%expanded_1478 = tensor.expand_shape %1981 [[0], [1], [2, 3]] : tensor<4x576x1280xf16> into tensor<4x576x80x16xf16> | |
%1982 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1478 : tensor<4x576x80x16xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x80x16xf16> | |
%1983:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1982 : tensor<4x576x80x16xf16>) outs(%1602, %1600 : tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) | |
%1984 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1983#0 : tensor<4x576x80x1xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x80x16xf16> | |
%collapsed_1479 = tensor.collapse_shape %1984 [[0], [1], [2, 3]] : tensor<4x576x80x16xf16> into tensor<4x576x1280xf16> | |
%1985 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1479 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1986 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1981, %1985 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1987 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1986, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1988 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1987 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1989 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1988 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1990 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1989, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1991 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1990, %1985 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%1992 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_653 : tensor<1280x80x1xf16>) outs(%1613 : tensor<1280x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x80x16xf16> | |
%collapsed_1480 = tensor.collapse_shape %1992 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
%1993 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_652, %collapsed_1480 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1280xf16> | |
%1994 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1993 : tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x1280xf16> | |
%collapsed_1481 = tensor.collapse_shape %1991 [[0, 1], [2]] : tensor<4x576x1280xf16> into tensor<2304x1280xf16> | |
%1995 = linalg.matmul ins(%collapsed_1481, %1994 : tensor<2304x1280xf16>, tensor<1280x1280xf16>) outs(%1618 : tensor<2304x1280xf16>) -> tensor<2304x1280xf16> | |
%expanded_1482 = tensor.expand_shape %1995 [[0, 1], [2, 3]] : tensor<2304x1280xf16> into tensor<4x576x20x64xf16> | |
%1996 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1482 : tensor<4x576x20x64xf16>) outs(%1650 : tensor<4x20x576x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x20x576x64xf16> | |
%collapsed_1483 = tensor.collapse_shape %1996 [[0, 1], [2], [3]] : tensor<4x20x576x64xf16> into tensor<80x576x64xf16> | |
%1997 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_651 : tensor<1280x80x1xf16>) outs(%1613 : tensor<1280x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x80x16xf16> | |
%collapsed_1484 = tensor.collapse_shape %1997 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
%1998 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_650, %collapsed_1484 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1280xf16> | |
%1999 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%1998 : tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x1280xf16> | |
%2000 = linalg.matmul ins(%collapsed_1481, %1999 : tensor<2304x1280xf16>, tensor<1280x1280xf16>) outs(%1618 : tensor<2304x1280xf16>) -> tensor<2304x1280xf16> | |
%2001 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_649 : tensor<1280x80x1xf16>) outs(%1613 : tensor<1280x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x80x16xf16> | |
%collapsed_1485 = tensor.collapse_shape %2001 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
%2002 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_648, %collapsed_1485 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1280xf16> | |
%2003 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%2002 : tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x1280xf16> | |
%2004 = linalg.matmul ins(%collapsed_1481, %2003 : tensor<2304x1280xf16>, tensor<1280x1280xf16>) outs(%1618 : tensor<2304x1280xf16>) -> tensor<2304x1280xf16> | |
%expanded_1486 = tensor.expand_shape %2000 [[0, 1], [2, 3]] : tensor<2304x1280xf16> into tensor<4x576x20x64xf16> | |
%2005 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1486 : tensor<4x576x20x64xf16>) outs(%1650 : tensor<4x20x576x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x20x576x64xf16> | |
%collapsed_1487 = tensor.collapse_shape %2005 [[0, 1], [2], [3]] : tensor<4x20x576x64xf16> into tensor<80x576x64xf16> | |
%expanded_1488 = tensor.expand_shape %2004 [[0, 1], [2, 3]] : tensor<2304x1280xf16> into tensor<4x576x20x64xf16> | |
%2006 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1488 : tensor<4x576x20x64xf16>) outs(%1650 : tensor<4x20x576x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x20x576x64xf16> | |
%collapsed_1489 = tensor.collapse_shape %2006 [[0, 1], [2], [3]] : tensor<4x20x576x64xf16> into tensor<80x576x64xf16> | |
%2007 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1483 : tensor<80x576x64xf16>) outs(%1662 : tensor<80x576x64xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x576x64xf32> | |
%2008 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1487 : tensor<80x576x64xf16>) outs(%1662 : tensor<80x576x64xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x576x64xf32> | |
%2009 = linalg.generic {indexing_maps = [#map17, #map22], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2008 : tensor<80x576x64xf32>) outs(%1667 : tensor<80x64x576xf32>) { | |
^bb0(%in: f32, %out: f32): | |
linalg.yield %in : f32 | |
} -> tensor<80x64x576xf32> | |
%2010 = linalg.batch_matmul ins(%2007, %2009 : tensor<80x576x64xf32>, tensor<80x64x576xf32>) outs(%1666 : tensor<80x576x576xf32>) -> tensor<80x576x576xf32> | |
%2011 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2010 : tensor<80x576x576xf32>) outs(%1665 : tensor<80x576x576xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.mulf %in, %cst_962 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x576x576xf32> | |
%2012 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2011, %1666 : tensor<80x576x576xf32>, tensor<80x576x576xf32>) outs(%1665 : tensor<80x576x576xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in_2626, %cst_954 : f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<80x576x576xf32> | |
%2013:2 = linalg.generic {indexing_maps = [#map17, #map19, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2012 : tensor<80x576x576xf32>) outs(%1675, %1673 : tensor<80x576x1xf32>, tensor<80x576x1xi64>) { | |
^bb0(%in: f32, %out: f32, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f32 | |
%6095 = arith.cmpf ogt, %in, %out : f32 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f32, i64 | |
} -> (tensor<80x576x1xf32>, tensor<80x576x1xi64>) | |
%2014 = linalg.generic {indexing_maps = [#map17, #map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2012, %2013#0 : tensor<80x576x576xf32>, tensor<80x576x1xf32>) outs(%1665 : tensor<80x576x576xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.subf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x576x576xf32> | |
%2015 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2014 : tensor<80x576x576xf32>) outs(%1665 : tensor<80x576x576xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.exp %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x576x576xf32> | |
%2016 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2015 : tensor<80x576x576xf32>) outs(%1679 : tensor<80x576x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x576x1xf32> | |
%2017 = linalg.generic {indexing_maps = [#map17, #map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2015, %2016 : tensor<80x576x576xf32>, tensor<80x576x1xf32>) outs(%1665 : tensor<80x576x576xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.divf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x576x576xf32> | |
%2018 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2017 : tensor<80x576x576xf32>) outs(%1682 : tensor<80x576x576xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<80x576x576xf16> | |
%2019 = linalg.batch_matmul ins(%2018, %collapsed_1489 : tensor<80x576x576xf16>, tensor<80x576x64xf16>) outs(%1685 : tensor<80x576x64xf16>) -> tensor<80x576x64xf16> | |
%expanded_1490 = tensor.expand_shape %2019 [[0, 1], [2], [3]] : tensor<80x576x64xf16> into tensor<4x20x576x64xf16> | |
%2020 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1490 : tensor<4x20x576x64xf16>) outs(%1687 : tensor<4x576x20x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x20x64xf16> | |
%collapsed_1491 = tensor.collapse_shape %2020 [[0], [1], [2, 3]] : tensor<4x576x20x64xf16> into tensor<4x576x1280xf16> | |
%expanded_1492 = tensor.expand_shape %collapsed_1491 [[0], [1], [2, 3]] : tensor<4x576x1280xf16> into tensor<4x576x80x16xf16> | |
%2021 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1492 : tensor<4x576x80x16xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x80x16xf16> | |
%2022:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2021 : tensor<4x576x80x16xf16>) outs(%1602, %1600 : tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) | |
%2023 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2022#0 : tensor<4x576x80x1xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x80x16xf16> | |
%collapsed_1493 = tensor.collapse_shape %2023 [[0], [1], [2, 3]] : tensor<4x576x80x16xf16> into tensor<4x576x1280xf16> | |
%2024 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1493 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2025 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1491, %2024 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2026 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2025, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2027 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2026 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2028 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2027 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2029 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2028, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2030 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2029, %2024 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2031 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_647 : tensor<1280x80x1xf16>) outs(%1613 : tensor<1280x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x80x16xf16> | |
%collapsed_1494 = tensor.collapse_shape %2031 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
%2032 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_646, %collapsed_1494 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1280xf16> | |
%2033 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%2032 : tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x1280xf16> | |
%collapsed_1495 = tensor.collapse_shape %2030 [[0, 1], [2]] : tensor<4x576x1280xf16> into tensor<2304x1280xf16> | |
%2034 = linalg.matmul ins(%collapsed_1495, %2033 : tensor<2304x1280xf16>, tensor<1280x1280xf16>) outs(%1618 : tensor<2304x1280xf16>) -> tensor<2304x1280xf16> | |
%2035 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_645, %2034 : tensor<1280xf16>, tensor<2304x1280xf16>) outs(%1617 : tensor<2304x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<2304x1280xf16> | |
%expanded_1496 = tensor.expand_shape %2035 [[0, 1], [2]] : tensor<2304x1280xf16> into tensor<4x576x1280xf16> | |
%2036 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1496, %expanded_1477 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2037 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2036 : tensor<4x576x1280xf16>) outs(%1622 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%2038 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2037 : tensor<4x576x1xf16>) outs(%1621 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_970 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%2039 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2038 : tensor<4x576x1xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x1280xf16> | |
%2040 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2036, %2039 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2041 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2040, %2040 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2042 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2041 : tensor<4x576x1280xf16>) outs(%1622 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%2043 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2042 : tensor<4x576x1xf16>) outs(%1621 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_970 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%2044 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2043 : tensor<4x576x1xf16>) outs(%1621 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.truncf %cst_953 : f64 to f16 | |
%6093 = arith.addf %in, %6092 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<4x576x1xf16> | |
%2045 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2044 : tensor<4x576x1xf16>) outs(%1621 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.rsqrt %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%2046 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2045 : tensor<4x576x1xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x1280xf16> | |
%2047 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2040, %2046 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2048 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2047, %cst_644 : tensor<4x576x1280xf16>, tensor<1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2049 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2048, %cst_643 : tensor<4x576x1280xf16>, tensor<1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%expanded_1497 = tensor.expand_shape %2049 [[0], [1], [2, 3]] : tensor<4x576x1280xf16> into tensor<4x576x80x16xf16> | |
%2050 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1497 : tensor<4x576x80x16xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x80x16xf16> | |
%2051:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2050 : tensor<4x576x80x16xf16>) outs(%1602, %1600 : tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) | |
%2052 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2051#0 : tensor<4x576x80x1xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x80x16xf16> | |
%collapsed_1498 = tensor.collapse_shape %2052 [[0], [1], [2, 3]] : tensor<4x576x80x16xf16> into tensor<4x576x1280xf16> | |
%2053 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1498 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2054 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2049, %2053 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2055 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2054, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2056 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2055 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2057 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2056 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2058 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2057, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2059 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2058, %2053 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2060 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_642 : tensor<1280x80x1xf16>) outs(%1613 : tensor<1280x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x80x16xf16> | |
%collapsed_1499 = tensor.collapse_shape %2060 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
%2061 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_641, %collapsed_1499 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1280xf16> | |
%2062 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%2061 : tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x1280xf16> | |
%collapsed_1500 = tensor.collapse_shape %2059 [[0, 1], [2]] : tensor<4x576x1280xf16> into tensor<2304x1280xf16> | |
%2063 = linalg.matmul ins(%collapsed_1500, %2062 : tensor<2304x1280xf16>, tensor<1280x1280xf16>) outs(%1618 : tensor<2304x1280xf16>) -> tensor<2304x1280xf16> | |
%expanded_1501 = tensor.expand_shape %2063 [[0, 1], [2, 3]] : tensor<2304x1280xf16> into tensor<4x576x20x64xf16> | |
%2064 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1501 : tensor<4x576x20x64xf16>) outs(%1650 : tensor<4x20x576x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x20x576x64xf16> | |
%collapsed_1502 = tensor.collapse_shape %2064 [[0, 1], [2], [3]] : tensor<4x20x576x64xf16> into tensor<80x576x64xf16> | |
%2065 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_640 : tensor<1280x64x1xf16>) outs(%1733 : tensor<1280x64x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x64x16xf16> | |
%collapsed_1503 = tensor.collapse_shape %2065 [[0], [1, 2]] : tensor<1280x64x16xf16> into tensor<1280x1024xf16> | |
%2066 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_639, %collapsed_1503 : tensor<1280x1024xi8>, tensor<1280x1024xf16>) outs(%1735 : tensor<1280x1024xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1024xf16> | |
%2067 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%2066 : tensor<1280x1024xf16>) outs(%1737 : tensor<1024x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1024x1280xf16> | |
%2068 = linalg.matmul ins(%collapsed_1049, %2067 : tensor<308x1024xf16>, tensor<1024x1280xf16>) outs(%1740 : tensor<308x1280xf16>) -> tensor<308x1280xf16> | |
%2069 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_638 : tensor<1280x64x1xf16>) outs(%1733 : tensor<1280x64x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x64x16xf16> | |
%collapsed_1504 = tensor.collapse_shape %2069 [[0], [1, 2]] : tensor<1280x64x16xf16> into tensor<1280x1024xf16> | |
%2070 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_637, %collapsed_1504 : tensor<1280x1024xi8>, tensor<1280x1024xf16>) outs(%1735 : tensor<1280x1024xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1024xf16> | |
%2071 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%2070 : tensor<1280x1024xf16>) outs(%1737 : tensor<1024x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1024x1280xf16> | |
%2072 = linalg.matmul ins(%collapsed_1049, %2071 : tensor<308x1024xf16>, tensor<1024x1280xf16>) outs(%1740 : tensor<308x1280xf16>) -> tensor<308x1280xf16> | |
%expanded_1505 = tensor.expand_shape %2068 [[0, 1], [2, 3]] : tensor<308x1280xf16> into tensor<4x77x20x64xf16> | |
%2073 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1505 : tensor<4x77x20x64xf16>) outs(%1746 : tensor<4x20x77x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x20x77x64xf16> | |
%collapsed_1506 = tensor.collapse_shape %2073 [[0, 1], [2], [3]] : tensor<4x20x77x64xf16> into tensor<80x77x64xf16> | |
%expanded_1507 = tensor.expand_shape %2072 [[0, 1], [2, 3]] : tensor<308x1280xf16> into tensor<4x77x20x64xf16> | |
%2074 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1507 : tensor<4x77x20x64xf16>) outs(%1746 : tensor<4x20x77x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x20x77x64xf16> | |
%collapsed_1508 = tensor.collapse_shape %2074 [[0, 1], [2], [3]] : tensor<4x20x77x64xf16> into tensor<80x77x64xf16> | |
%2075 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1502 : tensor<80x576x64xf16>) outs(%1662 : tensor<80x576x64xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x576x64xf32> | |
%2076 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1506 : tensor<80x77x64xf16>) outs(%1750 : tensor<80x77x64xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x77x64xf32> | |
%2077 = linalg.generic {indexing_maps = [#map17, #map22], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2076 : tensor<80x77x64xf32>) outs(%1754 : tensor<80x64x77xf32>) { | |
^bb0(%in: f32, %out: f32): | |
linalg.yield %in : f32 | |
} -> tensor<80x64x77xf32> | |
%2078 = linalg.batch_matmul ins(%2075, %2077 : tensor<80x576x64xf32>, tensor<80x64x77xf32>) outs(%1753 : tensor<80x576x77xf32>) -> tensor<80x576x77xf32> | |
%2079 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2078 : tensor<80x576x77xf32>) outs(%1752 : tensor<80x576x77xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.mulf %in, %cst_962 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x576x77xf32> | |
%2080 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2079, %1753 : tensor<80x576x77xf32>, tensor<80x576x77xf32>) outs(%1752 : tensor<80x576x77xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in_2626, %cst_954 : f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<80x576x77xf32> | |
%2081:2 = linalg.generic {indexing_maps = [#map17, #map19, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2080 : tensor<80x576x77xf32>) outs(%1675, %1673 : tensor<80x576x1xf32>, tensor<80x576x1xi64>) { | |
^bb0(%in: f32, %out: f32, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f32 | |
%6095 = arith.cmpf ogt, %in, %out : f32 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f32, i64 | |
} -> (tensor<80x576x1xf32>, tensor<80x576x1xi64>) | |
%2082 = linalg.generic {indexing_maps = [#map17, #map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2080, %2081#0 : tensor<80x576x77xf32>, tensor<80x576x1xf32>) outs(%1752 : tensor<80x576x77xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.subf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x576x77xf32> | |
%2083 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2082 : tensor<80x576x77xf32>) outs(%1752 : tensor<80x576x77xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.exp %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x576x77xf32> | |
%2084 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2083 : tensor<80x576x77xf32>) outs(%1679 : tensor<80x576x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x576x1xf32> | |
%2085 = linalg.generic {indexing_maps = [#map17, #map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2083, %2084 : tensor<80x576x77xf32>, tensor<80x576x1xf32>) outs(%1752 : tensor<80x576x77xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.divf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<80x576x77xf32> | |
%2086 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2085 : tensor<80x576x77xf32>) outs(%1764 : tensor<80x576x77xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<80x576x77xf16> | |
%2087 = linalg.batch_matmul ins(%2086, %collapsed_1508 : tensor<80x576x77xf16>, tensor<80x77x64xf16>) outs(%1685 : tensor<80x576x64xf16>) -> tensor<80x576x64xf16> | |
%expanded_1509 = tensor.expand_shape %2087 [[0, 1], [2], [3]] : tensor<80x576x64xf16> into tensor<4x20x576x64xf16> | |
%2088 = linalg.generic {indexing_maps = [#map9, #map21], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1509 : tensor<4x20x576x64xf16>) outs(%1687 : tensor<4x576x20x64xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x20x64xf16> | |
%collapsed_1510 = tensor.collapse_shape %2088 [[0], [1], [2, 3]] : tensor<4x576x20x64xf16> into tensor<4x576x1280xf16> | |
%expanded_1511 = tensor.expand_shape %collapsed_1510 [[0], [1], [2, 3]] : tensor<4x576x1280xf16> into tensor<4x576x80x16xf16> | |
%2089 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1511 : tensor<4x576x80x16xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x80x16xf16> | |
%2090:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2089 : tensor<4x576x80x16xf16>) outs(%1602, %1600 : tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) | |
%2091 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2090#0 : tensor<4x576x80x1xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x80x16xf16> | |
%collapsed_1512 = tensor.collapse_shape %2091 [[0], [1], [2, 3]] : tensor<4x576x80x16xf16> into tensor<4x576x1280xf16> | |
%2092 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1512 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2093 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1510, %2092 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2094 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2093, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2095 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2094 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2096 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2095 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2097 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2096, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2098 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2097, %2092 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2099 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_636 : tensor<1280x80x1xf16>) outs(%1613 : tensor<1280x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x80x16xf16> | |
%collapsed_1513 = tensor.collapse_shape %2099 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
%2100 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_635, %collapsed_1513 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1280xf16> | |
%2101 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%2100 : tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x1280xf16> | |
%collapsed_1514 = tensor.collapse_shape %2098 [[0, 1], [2]] : tensor<4x576x1280xf16> into tensor<2304x1280xf16> | |
%2102 = linalg.matmul ins(%collapsed_1514, %2101 : tensor<2304x1280xf16>, tensor<1280x1280xf16>) outs(%1618 : tensor<2304x1280xf16>) -> tensor<2304x1280xf16> | |
%2103 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_634, %2102 : tensor<1280xf16>, tensor<2304x1280xf16>) outs(%1617 : tensor<2304x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<2304x1280xf16> | |
%expanded_1515 = tensor.expand_shape %2103 [[0, 1], [2]] : tensor<2304x1280xf16> into tensor<4x576x1280xf16> | |
%2104 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1515, %2036 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2105 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2104 : tensor<4x576x1280xf16>) outs(%1622 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%2106 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2105 : tensor<4x576x1xf16>) outs(%1621 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_970 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%2107 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2106 : tensor<4x576x1xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x1280xf16> | |
%2108 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2104, %2107 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2109 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2108, %2108 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2110 = linalg.generic {indexing_maps = [#map17, #map19], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2109 : tensor<4x576x1280xf16>) outs(%1622 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.addf %in, %out : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%2111 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2110 : tensor<4x576x1xf16>) outs(%1621 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_970 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%2112 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2111 : tensor<4x576x1xf16>) outs(%1621 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.truncf %cst_953 : f64 to f16 | |
%6093 = arith.addf %in, %6092 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<4x576x1xf16> | |
%2113 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2112 : tensor<4x576x1xf16>) outs(%1621 : tensor<4x576x1xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.rsqrt %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1xf16> | |
%2114 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2113 : tensor<4x576x1xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x1280xf16> | |
%2115 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2108, %2114 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2116 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2115, %cst_633 : tensor<4x576x1280xf16>, tensor<1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2117 = linalg.generic {indexing_maps = [#map17, #map20, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2116, %cst_632 : tensor<4x576x1280xf16>, tensor<1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%expanded_1516 = tensor.expand_shape %2117 [[0], [1], [2, 3]] : tensor<4x576x1280xf16> into tensor<4x576x80x16xf16> | |
%2118 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1516 : tensor<4x576x80x16xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x80x16xf16> | |
%2119:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2118 : tensor<4x576x80x16xf16>) outs(%1602, %1600 : tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) | |
%2120 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2119#0 : tensor<4x576x80x1xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x80x16xf16> | |
%collapsed_1517 = tensor.collapse_shape %2120 [[0], [1], [2, 3]] : tensor<4x576x80x16xf16> into tensor<4x576x1280xf16> | |
%2121 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1517 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2122 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2117, %2121 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2123 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2122, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2124 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2123 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2125 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2124 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2126 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2125, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2127 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2126, %2121 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2128 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_631 : tensor<10240x80x1xf16>) outs(%1807 : tensor<10240x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<10240x80x16xf16> | |
%collapsed_1518 = tensor.collapse_shape %2128 [[0], [1, 2]] : tensor<10240x80x16xf16> into tensor<10240x1280xf16> | |
%2129 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_630, %collapsed_1518 : tensor<10240x1280xi8>, tensor<10240x1280xf16>) outs(%1809 : tensor<10240x1280xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<10240x1280xf16> | |
%2130 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%2129 : tensor<10240x1280xf16>) outs(%1811 : tensor<1280x10240xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x10240xf16> | |
%collapsed_1519 = tensor.collapse_shape %2127 [[0, 1], [2]] : tensor<4x576x1280xf16> into tensor<2304x1280xf16> | |
%2131 = linalg.matmul ins(%collapsed_1519, %2130 : tensor<2304x1280xf16>, tensor<1280x10240xf16>) outs(%1814 : tensor<2304x10240xf16>) -> tensor<2304x10240xf16> | |
%2132 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_629, %2131 : tensor<10240xf16>, tensor<2304x10240xf16>) outs(%1813 : tensor<2304x10240xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<2304x10240xf16> | |
%expanded_1520 = tensor.expand_shape %2132 [[0, 1], [2]] : tensor<2304x10240xf16> into tensor<4x576x10240xf16> | |
%extracted_slice_1521 = tensor.extract_slice %expanded_1520[0, 0, 0] [4, 576, 5120] [1, 1, 1] : tensor<4x576x10240xf16> to tensor<4x576x5120xf16> | |
%extracted_slice_1522 = tensor.extract_slice %expanded_1520[0, 0, 5120] [4, 576, 5120] [1, 1, 1] : tensor<4x576x10240xf16> to tensor<4x576x5120xf16> | |
%2133 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%extracted_slice_1522 : tensor<4x576x5120xf16>) outs(%1817 : tensor<4x576x5120xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.sqrt %cst_950 : f16 | |
%6093 = arith.divf %in, %6092 : f16 | |
%6094 = math.erf %6093 : f16 | |
%6095 = arith.addf %6094, %cst_947 : f16 | |
%6096 = arith.mulf %6095, %cst_951 : f16 | |
%6097 = arith.mulf %in, %6096 : f16 | |
linalg.yield %6097 : f16 | |
} -> tensor<4x576x5120xf16> | |
%2134 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%extracted_slice_1521, %2133 : tensor<4x576x5120xf16>, tensor<4x576x5120xf16>) outs(%1817 : tensor<4x576x5120xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x5120xf16> | |
%expanded_1523 = tensor.expand_shape %2134 [[0], [1], [2, 3]] : tensor<4x576x5120xf16> into tensor<4x576x320x16xf16> | |
%2135 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1523 : tensor<4x576x320x16xf16>) outs(%1820 : tensor<4x576x320x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x320x16xf16> | |
%2136:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2135 : tensor<4x576x320x16xf16>) outs(%1825, %1823 : tensor<4x576x320x1xf16>, tensor<4x576x320x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x576x320x1xf16>, tensor<4x576x320x1xi64>) | |
%2137 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2136#0 : tensor<4x576x320x1xf16>) outs(%1820 : tensor<4x576x320x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x320x16xf16> | |
%collapsed_1524 = tensor.collapse_shape %2137 [[0], [1], [2, 3]] : tensor<4x576x320x16xf16> into tensor<4x576x5120xf16> | |
%2138 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1524 : tensor<4x576x5120xf16>) outs(%1817 : tensor<4x576x5120xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x5120xf16> | |
%2139 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2134, %2138 : tensor<4x576x5120xf16>, tensor<4x576x5120xf16>) outs(%1817 : tensor<4x576x5120xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x5120xf16> | |
%2140 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2139, %cst_935 : tensor<4x576x5120xf16>, tensor<f16>) outs(%1817 : tensor<4x576x5120xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x5120xf16> | |
%2141 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2140 : tensor<4x576x5120xf16>) outs(%1817 : tensor<4x576x5120xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x5120xf16> | |
%2142 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2141 : tensor<4x576x5120xf16>) outs(%1817 : tensor<4x576x5120xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x576x5120xf16> | |
%2143 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2142, %cst_935 : tensor<4x576x5120xf16>, tensor<f16>) outs(%1817 : tensor<4x576x5120xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x5120xf16> | |
%2144 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2143, %2138 : tensor<4x576x5120xf16>, tensor<4x576x5120xf16>) outs(%1817 : tensor<4x576x5120xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x5120xf16> | |
%2145 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_628 : tensor<1280x320x1xf16>) outs(%1835 : tensor<1280x320x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x320x16xf16> | |
%collapsed_1525 = tensor.collapse_shape %2145 [[0], [1, 2]] : tensor<1280x320x16xf16> into tensor<1280x5120xf16> | |
%2146 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_627, %collapsed_1525 : tensor<1280x5120xi8>, tensor<1280x5120xf16>) outs(%1837 : tensor<1280x5120xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x5120xf16> | |
%2147 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%2146 : tensor<1280x5120xf16>) outs(%1839 : tensor<5120x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<5120x1280xf16> | |
%collapsed_1526 = tensor.collapse_shape %2144 [[0, 1], [2]] : tensor<4x576x5120xf16> into tensor<2304x5120xf16> | |
%2148 = linalg.matmul ins(%collapsed_1526, %2147 : tensor<2304x5120xf16>, tensor<5120x1280xf16>) outs(%1618 : tensor<2304x1280xf16>) -> tensor<2304x1280xf16> | |
%2149 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_626, %2148 : tensor<1280xf16>, tensor<2304x1280xf16>) outs(%1617 : tensor<2304x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<2304x1280xf16> | |
%expanded_1527 = tensor.expand_shape %2149 [[0, 1], [2]] : tensor<2304x1280xf16> into tensor<4x576x1280xf16> | |
%2150 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1527, %2104 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%expanded_1528 = tensor.expand_shape %2150 [[0], [1], [2, 3]] : tensor<4x576x1280xf16> into tensor<4x576x80x16xf16> | |
%2151 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1528 : tensor<4x576x80x16xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x80x16xf16> | |
%2152:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2151 : tensor<4x576x80x16xf16>) outs(%1602, %1600 : tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 3 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x576x80x1xf16>, tensor<4x576x80x1xi64>) | |
%2153 = linalg.generic {indexing_maps = [#map16, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2152#0 : tensor<4x576x80x1xf16>) outs(%1597 : tensor<4x576x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x576x80x16xf16> | |
%collapsed_1529 = tensor.collapse_shape %2153 [[0], [1], [2, 3]] : tensor<4x576x80x16xf16> into tensor<4x576x1280xf16> | |
%2154 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%collapsed_1529 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2155 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2150, %2154 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2156 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2155, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2157 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2156 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2158 = linalg.generic {indexing_maps = [#map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2157 : tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2159 = linalg.generic {indexing_maps = [#map17, #map18, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2158, %cst_935 : tensor<4x576x1280xf16>, tensor<f16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2160 = linalg.generic {indexing_maps = [#map17, #map17, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2159, %2154 : tensor<4x576x1280xf16>, tensor<4x576x1280xf16>) outs(%1605 : tensor<4x576x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x576x1280xf16> | |
%2161 = linalg.generic {indexing_maps = [#map19, #map17], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_625 : tensor<1280x80x1xf16>) outs(%1613 : tensor<1280x80x16xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x80x16xf16> | |
%collapsed_1530 = tensor.collapse_shape %2161 [[0], [1, 2]] : tensor<1280x80x16xf16> into tensor<1280x1280xf16> | |
%2162 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_624, %collapsed_1530 : tensor<1280x1280xi8>, tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1280xf16> | |
%2163 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%2162 : tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x1280xf16> | |
%collapsed_1531 = tensor.collapse_shape %2160 [[0, 1], [2]] : tensor<4x576x1280xf16> into tensor<2304x1280xf16> | |
%2164 = linalg.matmul ins(%collapsed_1531, %2163 : tensor<2304x1280xf16>, tensor<1280x1280xf16>) outs(%1618 : tensor<2304x1280xf16>) -> tensor<2304x1280xf16> | |
%2165 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_623, %2164 : tensor<1280xf16>, tensor<2304x1280xf16>) outs(%1617 : tensor<2304x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<2304x1280xf16> | |
%expanded_1532 = tensor.expand_shape %2165 [[0, 1, 2], [3]] : tensor<2304x1280xf16> into tensor<4x24x24x1280xf16> | |
%2166 = linalg.generic {indexing_maps = [#map9, #map23], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1532 : tensor<4x24x24x1280xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%2167 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2166, %1934 : tensor<4x1280x24x24xf16>, tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%expanded_1533 = tensor.expand_shape %2167 [[0], [1, 2], [3], [4]] : tensor<4x1280x24x24xf16> into tensor<4x80x16x24x24xf16> | |
%2168 = linalg.generic {indexing_maps = [#map13, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1533 : tensor<4x80x16x24x24xf16>) outs(%1537 : tensor<4x80x16x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x80x16x24x24xf16> | |
%2169:2 = linalg.generic {indexing_maps = [#map13, #map14, #map14], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%2168 : tensor<4x80x16x24x24xf16>) outs(%1542, %1540 : tensor<4x80x1x24x24xf16>, tensor<4x80x1x24x24xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x80x1x24x24xf16>, tensor<4x80x1x24x24xi64>) | |
%2170 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%2169#0 : tensor<4x80x1x24x24xf16>) outs(%1537 : tensor<4x80x16x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x80x16x24x24xf16> | |
%collapsed_1534 = tensor.collapse_shape %2170 [[0], [1, 2], [3], [4]] : tensor<4x80x16x24x24xf16> into tensor<4x1280x24x24xf16> | |
%2171 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1534 : tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%2172 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2167, %2171 : tensor<4x1280x24x24xf16>, tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%2173 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2172, %cst_935 : tensor<4x1280x24x24xf16>, tensor<f16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%2174 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2173 : tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%2175 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2174 : tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%2176 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2175, %cst_935 : tensor<4x1280x24x24xf16>, tensor<f16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%2177 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2176, %2171 : tensor<4x1280x24x24xf16>, tensor<4x1280x24x24xf16>) outs(%1507 : tensor<4x1280x24x24xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x24x24xf16> | |
%2178 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_622 : tensor<1280x80x1x3x3xf16>) outs(%1552 : tensor<1280x80x16x3x3xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x80x16x3x3xf16> | |
%collapsed_1535 = tensor.collapse_shape %2178 [[0], [1, 2], [3], [4]] : tensor<1280x80x16x3x3xf16> into tensor<1280x1280x3x3xf16> | |
%2179 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_621, %collapsed_1535 : tensor<1280x1280x3x3xi8>, tensor<1280x1280x3x3xf16>) outs(%1554 : tensor<1280x1280x3x3xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1280x3x3xf16> | |
%padded_1536 = tensor.pad %2177 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<4x1280x24x24xf16> to tensor<4x1280x26x26xf16> | |
%2180 = tensor.empty() : tensor<4x1280x12x12xf16> | |
%2181 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_620 : tensor<1280xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2182 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<2> : vector<2xi64>} ins(%padded_1536, %2179 : tensor<4x1280x26x26xf16>, tensor<1280x1280x3x3xf16>) outs(%2181 : tensor<4x1280x12x12xf16>) -> tensor<4x1280x12x12xf16> | |
%collapsed_1537 = tensor.collapse_shape %2182 [[0], [1], [2, 3]] : tensor<4x1280x12x12xf16> into tensor<4x1280x144xf16> | |
%expanded_1538 = tensor.expand_shape %collapsed_1537 [[0], [1, 2], [3]] : tensor<4x1280x144xf16> into tensor<4x32x40x144xf16> | |
%2183 = tensor.empty() : tensor<4x32x40x144xf32> | |
%2184 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1538 : tensor<4x32x40x144xf16>) outs(%2183 : tensor<4x32x40x144xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x40x144xf32> | |
%2185 = tensor.empty() : tensor<4x32x40x144xf64> | |
%2186 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2184 : tensor<4x32x40x144xf32>) outs(%2185 : tensor<4x32x40x144xf64>) { | |
^bb0(%in: f32, %out: f64): | |
%6092 = arith.extf %in : f32 to f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x144xf64> | |
%2187 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2186 : tensor<4x32x40x144xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%2188 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2187 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_971 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%2189 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2186, %2188 : tensor<4x32x40x144xf64>, tensor<4x32x1x1xf64>) outs(%2185 : tensor<4x32x40x144xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.subf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x144xf64> | |
%2190 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2189, %2189 : tensor<4x32x40x144xf64>, tensor<4x32x40x144xf64>) outs(%2185 : tensor<4x32x40x144xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.mulf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x144xf64> | |
%2191 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2190 : tensor<4x32x40x144xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%2192 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2191 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_971 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%2193 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2192 : tensor<4x32x1x1xf64>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f64, %out: f32): | |
%6092 = arith.truncf %in : f64 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%2194 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2184 : tensor<4x32x40x144xf32>) outs(%44 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%2195 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2194 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.divf %in, %cst_972 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%2196 = linalg.generic {indexing_maps = [#map10, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2193, %cst_938 : tensor<4x32x1x1xf32>, tensor<f16>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%2197 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2196 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.rsqrt %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%2198 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1538, %2195 : tensor<4x32x40x144xf16>, tensor<4x32x1x1xf32>) outs(%2183 : tensor<4x32x40x144xf32>) { | |
^bb0(%in: f16, %in_2626: f32, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
%6093 = arith.subf %6092, %in_2626 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x40x144xf32> | |
%2199 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2198, %2197 : tensor<4x32x40x144xf32>, tensor<4x32x1x1xf32>) outs(%2183 : tensor<4x32x40x144xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x40x144xf32> | |
%collapsed_1539 = tensor.collapse_shape %2199 [[0], [1, 2], [3]] : tensor<4x32x40x144xf32> into tensor<4x1280x144xf32> | |
%expanded_1540 = tensor.expand_shape %collapsed_1539 [[0], [1], [2, 3]] : tensor<4x1280x144xf32> into tensor<4x1280x12x12xf32> | |
%expanded_1541 = tensor.expand_shape %cst_619 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
%expanded_1542 = tensor.expand_shape %cst_618 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
%2200 = tensor.empty() : tensor<4x1280x12x12xf32> | |
%2201 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1540, %expanded_1542 : tensor<4x1280x12x12xf32>, tensor<1x1280x1x1xf16>) outs(%2200 : tensor<4x1280x12x12xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.mulf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x1280x12x12xf32> | |
%2202 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2201, %expanded_1541 : tensor<4x1280x12x12xf32>, tensor<1x1280x1x1xf16>) outs(%2200 : tensor<4x1280x12x12xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x1280x12x12xf32> | |
%2203 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2202 : tensor<4x1280x12x12xf32>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2204 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2203 : tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.negf %in : f16 | |
%6093 = math.exp %6092 : f16 | |
%6094 = arith.addf %6093, %cst_947 : f16 | |
%6095 = arith.divf %cst_947, %6094 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2205 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2204, %2203 : tensor<4x1280x12x12xf16>, tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%expanded_1543 = tensor.expand_shape %2205 [[0], [1, 2], [3], [4]] : tensor<4x1280x12x12xf16> into tensor<4x80x16x12x12xf16> | |
%2206 = tensor.empty() : tensor<4x80x16x12x12xf16> | |
%2207 = linalg.generic {indexing_maps = [#map13, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1543 : tensor<4x80x16x12x12xf16>) outs(%2206 : tensor<4x80x16x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x80x16x12x12xf16> | |
%2208 = tensor.empty() : tensor<4x80x1x12x12xi64> | |
%2209 = linalg.fill ins(%c0_i64 : i64) outs(%2208 : tensor<4x80x1x12x12xi64>) -> tensor<4x80x1x12x12xi64> | |
%2210 = tensor.empty() : tensor<4x80x1x12x12xf16> | |
%2211 = linalg.fill ins(%cst_948 : f16) outs(%2210 : tensor<4x80x1x12x12xf16>) -> tensor<4x80x1x12x12xf16> | |
%2212:2 = linalg.generic {indexing_maps = [#map13, #map14, #map14], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%2207 : tensor<4x80x16x12x12xf16>) outs(%2211, %2209 : tensor<4x80x1x12x12xf16>, tensor<4x80x1x12x12xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x80x1x12x12xf16>, tensor<4x80x1x12x12xi64>) | |
%2213 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%2212#0 : tensor<4x80x1x12x12xf16>) outs(%2206 : tensor<4x80x16x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x80x16x12x12xf16> | |
%collapsed_1544 = tensor.collapse_shape %2213 [[0], [1, 2], [3], [4]] : tensor<4x80x16x12x12xf16> into tensor<4x1280x12x12xf16> | |
%2214 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1544 : tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2215 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2205, %2214 : tensor<4x1280x12x12xf16>, tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2216 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2215, %cst_935 : tensor<4x1280x12x12xf16>, tensor<f16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2217 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2216 : tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2218 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2217 : tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2219 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2218, %cst_935 : tensor<4x1280x12x12xf16>, tensor<f16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2220 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2219, %2214 : tensor<4x1280x12x12xf16>, tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2221 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_617 : tensor<1280x80x1x3x3xf16>) outs(%1552 : tensor<1280x80x16x3x3xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x80x16x3x3xf16> | |
%collapsed_1545 = tensor.collapse_shape %2221 [[0], [1, 2], [3], [4]] : tensor<1280x80x16x3x3xf16> into tensor<1280x1280x3x3xf16> | |
%2222 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_616, %collapsed_1545 : tensor<1280x1280x3x3xi8>, tensor<1280x1280x3x3xf16>) outs(%1554 : tensor<1280x1280x3x3xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1280x3x3xf16> | |
%padded_1546 = tensor.pad %2220 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<4x1280x12x12xf16> to tensor<4x1280x14x14xf16> | |
%2223 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_615 : tensor<1280xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2224 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1546, %2222 : tensor<4x1280x14x14xf16>, tensor<1280x1280x3x3xf16>) outs(%2223 : tensor<4x1280x12x12xf16>) -> tensor<4x1280x12x12xf16> | |
%2225 = linalg.generic {indexing_maps = [#map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%26 : tensor<4x1280xf16>) outs(%17 : tensor<4x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.negf %in : f16 | |
%6093 = math.exp %6092 : f16 | |
%6094 = arith.addf %6093, %cst_947 : f16 | |
%6095 = arith.divf %cst_947, %6094 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x1280xf16> | |
%2226 = linalg.generic {indexing_maps = [#map5, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%2225, %26 : tensor<4x1280xf16>, tensor<4x1280xf16>) outs(%17 : tensor<4x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280xf16> | |
%2227 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_614 : tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x1280xf16> | |
%2228 = linalg.matmul ins(%2226, %2227 : tensor<4x1280xf16>, tensor<1280x1280xf16>) outs(%18 : tensor<4x1280xf16>) -> tensor<4x1280xf16> | |
%2229 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_613, %2228 : tensor<1280xf16>, tensor<4x1280xf16>) outs(%17 : tensor<4x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280xf16> | |
%expanded_1547 = tensor.expand_shape %2229 [[0], [1, 2, 3]] : tensor<4x1280xf16> into tensor<4x1280x1x1xf16> | |
%2230 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2224, %expanded_1547 : tensor<4x1280x12x12xf16>, tensor<4x1280x1x1xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%collapsed_1548 = tensor.collapse_shape %2230 [[0], [1], [2, 3]] : tensor<4x1280x12x12xf16> into tensor<4x1280x144xf16> | |
%expanded_1549 = tensor.expand_shape %collapsed_1548 [[0], [1, 2], [3]] : tensor<4x1280x144xf16> into tensor<4x32x40x144xf16> | |
%2231 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1549 : tensor<4x32x40x144xf16>) outs(%2183 : tensor<4x32x40x144xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x40x144xf32> | |
%2232 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2231 : tensor<4x32x40x144xf32>) outs(%2185 : tensor<4x32x40x144xf64>) { | |
^bb0(%in: f32, %out: f64): | |
%6092 = arith.extf %in : f32 to f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x144xf64> | |
%2233 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2232 : tensor<4x32x40x144xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%2234 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2233 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_971 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%2235 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2232, %2234 : tensor<4x32x40x144xf64>, tensor<4x32x1x1xf64>) outs(%2185 : tensor<4x32x40x144xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.subf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x144xf64> | |
%2236 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2235, %2235 : tensor<4x32x40x144xf64>, tensor<4x32x40x144xf64>) outs(%2185 : tensor<4x32x40x144xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.mulf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x144xf64> | |
%2237 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2236 : tensor<4x32x40x144xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%2238 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2237 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_971 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%2239 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2238 : tensor<4x32x1x1xf64>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f64, %out: f32): | |
%6092 = arith.truncf %in : f64 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%2240 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2231 : tensor<4x32x40x144xf32>) outs(%44 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%2241 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2240 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.divf %in, %cst_972 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%2242 = linalg.generic {indexing_maps = [#map10, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2239, %cst_938 : tensor<4x32x1x1xf32>, tensor<f16>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%2243 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2242 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.rsqrt %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%2244 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1549, %2241 : tensor<4x32x40x144xf16>, tensor<4x32x1x1xf32>) outs(%2183 : tensor<4x32x40x144xf32>) { | |
^bb0(%in: f16, %in_2626: f32, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
%6093 = arith.subf %6092, %in_2626 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x40x144xf32> | |
%2245 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2244, %2243 : tensor<4x32x40x144xf32>, tensor<4x32x1x1xf32>) outs(%2183 : tensor<4x32x40x144xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x40x144xf32> | |
%collapsed_1550 = tensor.collapse_shape %2245 [[0], [1, 2], [3]] : tensor<4x32x40x144xf32> into tensor<4x1280x144xf32> | |
%expanded_1551 = tensor.expand_shape %collapsed_1550 [[0], [1], [2, 3]] : tensor<4x1280x144xf32> into tensor<4x1280x12x12xf32> | |
%expanded_1552 = tensor.expand_shape %cst_612 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
%expanded_1553 = tensor.expand_shape %cst_611 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
%2246 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1551, %expanded_1553 : tensor<4x1280x12x12xf32>, tensor<1x1280x1x1xf16>) outs(%2200 : tensor<4x1280x12x12xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.mulf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x1280x12x12xf32> | |
%2247 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2246, %expanded_1552 : tensor<4x1280x12x12xf32>, tensor<1x1280x1x1xf16>) outs(%2200 : tensor<4x1280x12x12xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x1280x12x12xf32> | |
%2248 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2247 : tensor<4x1280x12x12xf32>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2249 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2248 : tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.negf %in : f16 | |
%6093 = math.exp %6092 : f16 | |
%6094 = arith.addf %6093, %cst_947 : f16 | |
%6095 = arith.divf %cst_947, %6094 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2250 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2249, %2248 : tensor<4x1280x12x12xf16>, tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%expanded_1554 = tensor.expand_shape %2250 [[0], [1, 2], [3], [4]] : tensor<4x1280x12x12xf16> into tensor<4x80x16x12x12xf16> | |
%2251 = linalg.generic {indexing_maps = [#map13, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1554 : tensor<4x80x16x12x12xf16>) outs(%2206 : tensor<4x80x16x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x80x16x12x12xf16> | |
%2252:2 = linalg.generic {indexing_maps = [#map13, #map14, #map14], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%2251 : tensor<4x80x16x12x12xf16>) outs(%2211, %2209 : tensor<4x80x1x12x12xf16>, tensor<4x80x1x12x12xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x80x1x12x12xf16>, tensor<4x80x1x12x12xi64>) | |
%2253 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%2252#0 : tensor<4x80x1x12x12xf16>) outs(%2206 : tensor<4x80x16x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x80x16x12x12xf16> | |
%collapsed_1555 = tensor.collapse_shape %2253 [[0], [1, 2], [3], [4]] : tensor<4x80x16x12x12xf16> into tensor<4x1280x12x12xf16> | |
%2254 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1555 : tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2255 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2250, %2254 : tensor<4x1280x12x12xf16>, tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2256 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2255, %cst_935 : tensor<4x1280x12x12xf16>, tensor<f16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2257 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2256 : tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2258 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2257 : tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2259 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2258, %cst_935 : tensor<4x1280x12x12xf16>, tensor<f16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2260 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2259, %2254 : tensor<4x1280x12x12xf16>, tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2261 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_610 : tensor<1280x80x1x3x3xf16>) outs(%1552 : tensor<1280x80x16x3x3xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x80x16x3x3xf16> | |
%collapsed_1556 = tensor.collapse_shape %2261 [[0], [1, 2], [3], [4]] : tensor<1280x80x16x3x3xf16> into tensor<1280x1280x3x3xf16> | |
%2262 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_609, %collapsed_1556 : tensor<1280x1280x3x3xi8>, tensor<1280x1280x3x3xf16>) outs(%1554 : tensor<1280x1280x3x3xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1280x3x3xf16> | |
%padded_1557 = tensor.pad %2260 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<4x1280x12x12xf16> to tensor<4x1280x14x14xf16> | |
%2263 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_608 : tensor<1280xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2264 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1557, %2262 : tensor<4x1280x14x14xf16>, tensor<1280x1280x3x3xf16>) outs(%2263 : tensor<4x1280x12x12xf16>) -> tensor<4x1280x12x12xf16> | |
%2265 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2182, %2264 : tensor<4x1280x12x12xf16>, tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2266 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2265, %cst_924 : tensor<4x1280x12x12xf16>, tensor<f16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%collapsed_1558 = tensor.collapse_shape %2266 [[0], [1], [2, 3]] : tensor<4x1280x12x12xf16> into tensor<4x1280x144xf16> | |
%expanded_1559 = tensor.expand_shape %collapsed_1558 [[0], [1, 2], [3]] : tensor<4x1280x144xf16> into tensor<4x32x40x144xf16> | |
%2267 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1559 : tensor<4x32x40x144xf16>) outs(%2183 : tensor<4x32x40x144xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x40x144xf32> | |
%2268 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2267 : tensor<4x32x40x144xf32>) outs(%2185 : tensor<4x32x40x144xf64>) { | |
^bb0(%in: f32, %out: f64): | |
%6092 = arith.extf %in : f32 to f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x144xf64> | |
%2269 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2268 : tensor<4x32x40x144xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%2270 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2269 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_971 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%2271 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2268, %2270 : tensor<4x32x40x144xf64>, tensor<4x32x1x1xf64>) outs(%2185 : tensor<4x32x40x144xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.subf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x144xf64> | |
%2272 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2271, %2271 : tensor<4x32x40x144xf64>, tensor<4x32x40x144xf64>) outs(%2185 : tensor<4x32x40x144xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.mulf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x144xf64> | |
%2273 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2272 : tensor<4x32x40x144xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%2274 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2273 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_971 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%2275 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2274 : tensor<4x32x1x1xf64>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f64, %out: f32): | |
%6092 = arith.truncf %in : f64 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%2276 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2267 : tensor<4x32x40x144xf32>) outs(%44 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%2277 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2276 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.divf %in, %cst_972 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%2278 = linalg.generic {indexing_maps = [#map10, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2275, %cst_938 : tensor<4x32x1x1xf32>, tensor<f16>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%2279 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2278 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.rsqrt %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%2280 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1559, %2277 : tensor<4x32x40x144xf16>, tensor<4x32x1x1xf32>) outs(%2183 : tensor<4x32x40x144xf32>) { | |
^bb0(%in: f16, %in_2626: f32, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
%6093 = arith.subf %6092, %in_2626 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x40x144xf32> | |
%2281 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2280, %2279 : tensor<4x32x40x144xf32>, tensor<4x32x1x1xf32>) outs(%2183 : tensor<4x32x40x144xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x40x144xf32> | |
%collapsed_1560 = tensor.collapse_shape %2281 [[0], [1, 2], [3]] : tensor<4x32x40x144xf32> into tensor<4x1280x144xf32> | |
%expanded_1561 = tensor.expand_shape %collapsed_1560 [[0], [1], [2, 3]] : tensor<4x1280x144xf32> into tensor<4x1280x12x12xf32> | |
%expanded_1562 = tensor.expand_shape %cst_607 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
%expanded_1563 = tensor.expand_shape %cst_606 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
%2282 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1561, %expanded_1563 : tensor<4x1280x12x12xf32>, tensor<1x1280x1x1xf16>) outs(%2200 : tensor<4x1280x12x12xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.mulf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x1280x12x12xf32> | |
%2283 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2282, %expanded_1562 : tensor<4x1280x12x12xf32>, tensor<1x1280x1x1xf16>) outs(%2200 : tensor<4x1280x12x12xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x1280x12x12xf32> | |
%2284 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2283 : tensor<4x1280x12x12xf32>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2285 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2284 : tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.negf %in : f16 | |
%6093 = math.exp %6092 : f16 | |
%6094 = arith.addf %6093, %cst_947 : f16 | |
%6095 = arith.divf %cst_947, %6094 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2286 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2285, %2284 : tensor<4x1280x12x12xf16>, tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%expanded_1564 = tensor.expand_shape %2286 [[0], [1, 2], [3], [4]] : tensor<4x1280x12x12xf16> into tensor<4x80x16x12x12xf16> | |
%2287 = linalg.generic {indexing_maps = [#map13, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1564 : tensor<4x80x16x12x12xf16>) outs(%2206 : tensor<4x80x16x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x80x16x12x12xf16> | |
%2288:2 = linalg.generic {indexing_maps = [#map13, #map14, #map14], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%2287 : tensor<4x80x16x12x12xf16>) outs(%2211, %2209 : tensor<4x80x1x12x12xf16>, tensor<4x80x1x12x12xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x80x1x12x12xf16>, tensor<4x80x1x12x12xi64>) | |
%2289 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%2288#0 : tensor<4x80x1x12x12xf16>) outs(%2206 : tensor<4x80x16x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x80x16x12x12xf16> | |
%collapsed_1565 = tensor.collapse_shape %2289 [[0], [1, 2], [3], [4]] : tensor<4x80x16x12x12xf16> into tensor<4x1280x12x12xf16> | |
%2290 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1565 : tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2291 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2286, %2290 : tensor<4x1280x12x12xf16>, tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2292 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2291, %cst_935 : tensor<4x1280x12x12xf16>, tensor<f16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2293 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2292 : tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2294 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2293 : tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2295 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2294, %cst_935 : tensor<4x1280x12x12xf16>, tensor<f16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2296 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2295, %2290 : tensor<4x1280x12x12xf16>, tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2297 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_605 : tensor<1280x80x1x3x3xf16>) outs(%1552 : tensor<1280x80x16x3x3xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x80x16x3x3xf16> | |
%collapsed_1566 = tensor.collapse_shape %2297 [[0], [1, 2], [3], [4]] : tensor<1280x80x16x3x3xf16> into tensor<1280x1280x3x3xf16> | |
%2298 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_604, %collapsed_1566 : tensor<1280x1280x3x3xi8>, tensor<1280x1280x3x3xf16>) outs(%1554 : tensor<1280x1280x3x3xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1280x3x3xf16> | |
%padded_1567 = tensor.pad %2296 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<4x1280x12x12xf16> to tensor<4x1280x14x14xf16> | |
%2299 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_603 : tensor<1280xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2300 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1567, %2298 : tensor<4x1280x14x14xf16>, tensor<1280x1280x3x3xf16>) outs(%2299 : tensor<4x1280x12x12xf16>) -> tensor<4x1280x12x12xf16> | |
%2301 = linalg.generic {indexing_maps = [#map5, #map6], iterator_types = ["parallel", "parallel"]} ins(%cst_602 : tensor<1280x1280xf16>) outs(%23 : tensor<1280x1280xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x1280xf16> | |
%2302 = linalg.matmul ins(%2226, %2301 : tensor<4x1280xf16>, tensor<1280x1280xf16>) outs(%18 : tensor<4x1280xf16>) -> tensor<4x1280xf16> | |
%2303 = linalg.generic {indexing_maps = [#map7, #map5, #map5], iterator_types = ["parallel", "parallel"]} ins(%cst_601, %2302 : tensor<1280xf16>, tensor<4x1280xf16>) outs(%17 : tensor<4x1280xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280xf16> | |
%expanded_1568 = tensor.expand_shape %2303 [[0], [1, 2, 3]] : tensor<4x1280xf16> into tensor<4x1280x1x1xf16> | |
%2304 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2300, %expanded_1568 : tensor<4x1280x12x12xf16>, tensor<4x1280x1x1xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%collapsed_1569 = tensor.collapse_shape %2304 [[0], [1], [2, 3]] : tensor<4x1280x12x12xf16> into tensor<4x1280x144xf16> | |
%expanded_1570 = tensor.expand_shape %collapsed_1569 [[0], [1, 2], [3]] : tensor<4x1280x144xf16> into tensor<4x32x40x144xf16> | |
%2305 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1570 : tensor<4x32x40x144xf16>) outs(%2183 : tensor<4x32x40x144xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x40x144xf32> | |
%2306 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2305 : tensor<4x32x40x144xf32>) outs(%2185 : tensor<4x32x40x144xf64>) { | |
^bb0(%in: f32, %out: f64): | |
%6092 = arith.extf %in : f32 to f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x144xf64> | |
%2307 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2306 : tensor<4x32x40x144xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%2308 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2307 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_971 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%2309 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2306, %2308 : tensor<4x32x40x144xf64>, tensor<4x32x1x1xf64>) outs(%2185 : tensor<4x32x40x144xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.subf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x144xf64> | |
%2310 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2309, %2309 : tensor<4x32x40x144xf64>, tensor<4x32x40x144xf64>) outs(%2185 : tensor<4x32x40x144xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.mulf %in, %in_2626 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x144xf64> | |
%2311 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2310 : tensor<4x32x40x144xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%2312 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2311 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_971 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%2313 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2312 : tensor<4x32x1x1xf64>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f64, %out: f32): | |
%6092 = arith.truncf %in : f64 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%2314 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2305 : tensor<4x32x40x144xf32>) outs(%44 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.addf %in, %out : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%2315 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2314 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = arith.divf %in, %cst_972 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%2316 = linalg.generic {indexing_maps = [#map10, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2313, %cst_938 : tensor<4x32x1x1xf32>, tensor<f16>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%2317 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2316 : tensor<4x32x1x1xf32>) outs(%42 : tensor<4x32x1x1xf32>) { | |
^bb0(%in: f32, %out: f32): | |
%6092 = math.rsqrt %in : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x1x1xf32> | |
%2318 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1570, %2315 : tensor<4x32x40x144xf16>, tensor<4x32x1x1xf32>) outs(%2183 : tensor<4x32x40x144xf32>) { | |
^bb0(%in: f16, %in_2626: f32, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
%6093 = arith.subf %6092, %in_2626 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x32x40x144xf32> | |
%2319 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2318, %2317 : tensor<4x32x40x144xf32>, tensor<4x32x1x1xf32>) outs(%2183 : tensor<4x32x40x144xf32>) { | |
^bb0(%in: f32, %in_2626: f32, %out: f32): | |
%6092 = arith.mulf %in, %in_2626 : f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x40x144xf32> | |
%collapsed_1571 = tensor.collapse_shape %2319 [[0], [1, 2], [3]] : tensor<4x32x40x144xf32> into tensor<4x1280x144xf32> | |
%expanded_1572 = tensor.expand_shape %collapsed_1571 [[0], [1], [2, 3]] : tensor<4x1280x144xf32> into tensor<4x1280x12x12xf32> | |
%expanded_1573 = tensor.expand_shape %cst_600 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
%expanded_1574 = tensor.expand_shape %cst_599 [[0, 1, 2, 3]] : tensor<1280xf16> into tensor<1x1280x1x1xf16> | |
%2320 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1572, %expanded_1574 : tensor<4x1280x12x12xf32>, tensor<1x1280x1x1xf16>) outs(%2200 : tensor<4x1280x12x12xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.mulf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x1280x12x12xf32> | |
%2321 = linalg.generic {indexing_maps = [#map9, #map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2320, %expanded_1573 : tensor<4x1280x12x12xf32>, tensor<1x1280x1x1xf16>) outs(%2200 : tensor<4x1280x12x12xf32>) { | |
^bb0(%in: f32, %in_2626: f16, %out: f32): | |
%6092 = arith.extf %in_2626 : f16 to f32 | |
%6093 = arith.addf %in, %6092 : f32 | |
linalg.yield %6093 : f32 | |
} -> tensor<4x1280x12x12xf32> | |
%2322 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2321 : tensor<4x1280x12x12xf32>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f32, %out: f16): | |
%6092 = arith.truncf %in : f32 to f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2323 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2322 : tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.negf %in : f16 | |
%6093 = math.exp %6092 : f16 | |
%6094 = arith.addf %6093, %cst_947 : f16 | |
%6095 = arith.divf %cst_947, %6094 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2324 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2323, %2322 : tensor<4x1280x12x12xf16>, tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%expanded_1575 = tensor.expand_shape %2324 [[0], [1, 2], [3], [4]] : tensor<4x1280x12x12xf16> into tensor<4x80x16x12x12xf16> | |
%2325 = linalg.generic {indexing_maps = [#map13, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1575 : tensor<4x80x16x12x12xf16>) outs(%2206 : tensor<4x80x16x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.absf %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x80x16x12x12xf16> | |
%2326:2 = linalg.generic {indexing_maps = [#map13, #map14, #map14], iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel"]} ins(%2325 : tensor<4x80x16x12x12xf16>) outs(%2211, %2209 : tensor<4x80x1x12x12xf16>, tensor<4x80x1x12x12xi64>) { | |
^bb0(%in: f16, %out: f16, %out_2626: i64): | |
%6092 = linalg.index 2 : index | |
%6093 = arith.index_cast %6092 : index to i64 | |
%6094 = arith.maxf %in, %out : f16 | |
%6095 = arith.cmpf ogt, %in, %out : f16 | |
%6096 = arith.select %6095, %6093, %out_2626 : i64 | |
linalg.yield %6094, %6096 : f16, i64 | |
} -> (tensor<4x80x1x12x12xf16>, tensor<4x80x1x12x12xi64>) | |
%2327 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%2326#0 : tensor<4x80x1x12x12xf16>) outs(%2206 : tensor<4x80x16x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x80x16x12x12xf16> | |
%collapsed_1576 = tensor.collapse_shape %2327 [[0], [1, 2], [3], [4]] : tensor<4x80x16x12x12xf16> into tensor<4x1280x12x12xf16> | |
%2328 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%collapsed_1576 : tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.divf %in, %cst_958 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2329 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2324, %2328 : tensor<4x1280x12x12xf16>, tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2330 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2329, %cst_935 : tensor<4x1280x12x12xf16>, tensor<f16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2331 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2330 : tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = math.roundeven %in : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2332 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2331 : tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
%6092 = arith.cmpf ult, %in, %cst_959 : f16 | |
%6093 = arith.select %6092, %cst_959, %in : f16 | |
%6094 = arith.cmpf ugt, %6093, %cst_960 : f16 | |
%6095 = arith.select %6094, %cst_960, %6093 : f16 | |
linalg.yield %6095 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2333 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2332, %cst_935 : tensor<4x1280x12x12xf16>, tensor<f16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.subf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2334 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2333, %2328 : tensor<4x1280x12x12xf16>, tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.mulf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2335 = linalg.generic {indexing_maps = [#map14, #map13], iterator_types = ["parallel", "parallel", "parallel", "parallel", "parallel"]} ins(%cst_598 : tensor<1280x80x1x3x3xf16>) outs(%1552 : tensor<1280x80x16x3x3xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<1280x80x16x3x3xf16> | |
%collapsed_1577 = tensor.collapse_shape %2335 [[0], [1, 2], [3], [4]] : tensor<1280x80x16x3x3xf16> into tensor<1280x1280x3x3xf16> | |
%2336 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_597, %collapsed_1577 : tensor<1280x1280x3x3xi8>, tensor<1280x1280x3x3xf16>) outs(%1554 : tensor<1280x1280x3x3xf16>) { | |
^bb0(%in: i8, %in_2626: f16, %out: f16): | |
%6092 = arith.sitofp %in : i8 to f16 | |
%6093 = arith.mulf %6092, %in_2626 : f16 | |
linalg.yield %6093 : f16 | |
} -> tensor<1280x1280x3x3xf16> | |
%padded_1578 = tensor.pad %2334 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<4x1280x12x12xf16> to tensor<4x1280x14x14xf16> | |
%2337 = linalg.generic {indexing_maps = [#map8, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_596 : tensor<1280xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %out: f16): | |
linalg.yield %in : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2338 = linalg.conv_2d_nchw_fchw {dilations = dense<1> : vector<2xi64>, strides = dense<1> : vector<2xi64>} ins(%padded_1578, %2336 : tensor<4x1280x14x14xf16>, tensor<1280x1280x3x3xf16>) outs(%2337 : tensor<4x1280x12x12xf16>) -> tensor<4x1280x12x12xf16> | |
%2339 = linalg.generic {indexing_maps = [#map9, #map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2266, %2338 : tensor<4x1280x12x12xf16>, tensor<4x1280x12x12xf16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.addf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%2340 = linalg.generic {indexing_maps = [#map9, #map11, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2339, %cst_924 : tensor<4x1280x12x12xf16>, tensor<f16>) outs(%2180 : tensor<4x1280x12x12xf16>) { | |
^bb0(%in: f16, %in_2626: f16, %out: f16): | |
%6092 = arith.divf %in, %in_2626 : f16 | |
linalg.yield %6092 : f16 | |
} -> tensor<4x1280x12x12xf16> | |
%collapsed_1579 = tensor.collapse_shape %2340 [[0], [1], [2, 3]] : tensor<4x1280x12x12xf16> into tensor<4x1280x144xf16> | |
%expanded_1580 = tensor.expand_shape %collapsed_1579 [[0], [1, 2], [3]] : tensor<4x1280x144xf16> into tensor<4x32x40x144xf16> | |
%2341 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1580 : tensor<4x32x40x144xf16>) outs(%2183 : tensor<4x32x40x144xf32>) { | |
^bb0(%in: f16, %out: f32): | |
%6092 = arith.extf %in : f16 to f32 | |
linalg.yield %6092 : f32 | |
} -> tensor<4x32x40x144xf32> | |
%2342 = linalg.generic {indexing_maps = [#map9, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2341 : tensor<4x32x40x144xf32>) outs(%2185 : tensor<4x32x40x144xf64>) { | |
^bb0(%in: f32, %out: f64): | |
%6092 = arith.extf %in : f32 to f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x40x144xf64> | |
%2343 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "reduction", "reduction"]} ins(%2342 : tensor<4x32x40x144xf64>) outs(%35 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.addf %in, %out : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%2344 = linalg.generic {indexing_maps = [#map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2343 : tensor<4x32x1x1xf64>) outs(%34 : tensor<4x32x1x1xf64>) { | |
^bb0(%in: f64, %out: f64): | |
%6092 = arith.divf %in, %cst_971 : f64 | |
linalg.yield %6092 : f64 | |
} -> tensor<4x32x1x1xf64> | |
%2345 = linalg.generic {indexing_maps = [#map9, #map10, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2342, %2344 : tensor<4x32x40x144xf64>, tensor<4x32x1x1xf64>) outs(%2185 : tensor<4x32x40x144xf64>) { | |
^bb0(%in: f64, %in_2626: f64, %out: f64): | |
%6092 = arith.subf %in, |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment