Created
May 1, 2024 16:25
-
-
Save AmosLewis/c2cee171b2626e0b3592da9af08a876a to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #map = affine_map<(d0, d1) -> (0, d1)> | |
| #map1 = affine_map<(d0, d1) -> (d0, d1)> | |
| #map2 = affine_map<(d0, d1) -> (d0)> | |
| #map3 = affine_map<(d0, d1, d2) -> (0, d1, d2)> | |
| #map4 = affine_map<(d0, d1, d2) -> (d0, d1, d2)> | |
| #map5 = affine_map<(d0, d1, d2) -> (d0, d1, 0)> | |
| #map6 = affine_map<(d0, d1, d2) -> (0, d1, 0)> | |
| #map7 = affine_map<(d0, d1, d2) -> (d2)> | |
| #map8 = affine_map<(d0, d1) -> (d1)> | |
| #map9 = affine_map<(d0, d1, d2, d3) -> (d0, d1, d2, d3)> | |
| #map10 = affine_map<(d0, d1, d2, d3) -> (d0, d2, d1, d3)> | |
| #map11 = affine_map<(d0, d1, d2, d3) -> (d0, d1, d3, d2)> | |
| #map12 = affine_map<(d0, d1, d2, d3) -> (0, d1, d2, d3)> | |
| #map13 = affine_map<() -> ()> | |
| #map14 = affine_map<(d0, d1, d2, d3) -> ()> | |
| #map15 = affine_map<(d0, d1, d2, d3) -> (0, 0, d2, d3)> | |
| #map16 = affine_map<(d0, d1, d2, d3) -> (d0, d1, d2)> | |
| #map17 = affine_map<(d0, d1, d2, d3) -> (0, d1, d2, 0)> | |
| #map18 = affine_map<(d0, d1, d2, d3) -> (d0, d1, d2, 0)> | |
| #map19 = affine_map<(d0, d1, d2) -> ()> | |
| #map20 = affine_map<(d0, d1, d2) -> (d1, d2)> | |
| module { | |
| ml_program.global private mutable @global_seed(dense<0> : tensor<i64>) : tensor<i64> | |
| func.func @main_graph(%arg0: tensor<1x7xi64>) -> (tensor<1x7x50257xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>, tensor<1x25x7x64xf32>) { | |
| %cst = arith.constant dense_resource<__elided__> : tensor<1600x50257xf32> | |
| %cst_0 = arith.constant 0.000000e+00 : f32 | |
| %c0_i64 = arith.constant 0 : i64 | |
| %cst_1 = arith.constant 0xFF800000 : f32 | |
| %c50257_i64 = arith.constant 50257 : i64 | |
| %cst_2 = arith.constant 1.600000e+03 : f32 | |
| %cst_3 = arith.constant 9.99999974E-6 : f32 | |
| %cst_4 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_5 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_6 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_7 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_8 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_9 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_10 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_11 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_12 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_13 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_14 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_15 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_16 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_17 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_18 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_19 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_20 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_21 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_22 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_23 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_24 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_25 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_26 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_27 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_28 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_29 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_30 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_31 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_32 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_33 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_34 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_35 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_36 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_37 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_38 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_39 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_40 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_41 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_42 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_43 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_44 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_45 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_46 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_47 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_48 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_49 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_50 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_51 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_52 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_53 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_54 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_55 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_56 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_57 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_58 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_59 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_60 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_61 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_62 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_63 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_64 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_65 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_66 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_67 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_68 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_69 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_70 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_71 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_72 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_73 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_74 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_75 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_76 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_77 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_78 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_79 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_80 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_81 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_82 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_83 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_84 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_85 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_86 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_87 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_88 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_89 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_90 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_91 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_92 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_93 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_94 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_95 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_96 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_97 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_98 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_99 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_100 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_101 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_102 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_103 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_104 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_105 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_106 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_107 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_108 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_109 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_110 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_111 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_112 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_113 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_114 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_115 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_116 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_117 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_118 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_119 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_120 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_121 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_122 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_123 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_124 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_125 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_126 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_127 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_128 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_129 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_130 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_131 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_132 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_133 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_134 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_135 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_136 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_137 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_138 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_139 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_140 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_141 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_142 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_143 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_144 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_145 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_146 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_147 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_148 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_149 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_150 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_151 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_152 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_153 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_154 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_155 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_156 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_157 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_158 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_159 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_160 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_161 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_162 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_163 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_164 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_165 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_166 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_167 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_168 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_169 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_170 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_171 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_172 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_173 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_174 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_175 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_176 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_177 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_178 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_179 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_180 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_181 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_182 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_183 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_184 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_185 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_186 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_187 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_188 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_189 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_190 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_191 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_192 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_193 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_194 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_195 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_196 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_197 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_198 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_199 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_200 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_201 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_202 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_203 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_204 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_205 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_206 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_207 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_208 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_209 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_210 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_211 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_212 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_213 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_214 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_215 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_216 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_217 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_218 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_219 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_220 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_221 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_222 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_223 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_224 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_225 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_226 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_227 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_228 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_229 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_230 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_231 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_232 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_233 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_234 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_235 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_236 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_237 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_238 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_239 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_240 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_241 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_242 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_243 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_244 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_245 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_246 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_247 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_248 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_249 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_250 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_251 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_252 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_253 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_254 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_255 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_256 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_257 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_258 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_259 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_260 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_261 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_262 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_263 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_264 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_265 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_266 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_267 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_268 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_269 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_270 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_271 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_272 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_273 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_274 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_275 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_276 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_277 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_278 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_279 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_280 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_281 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_282 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_283 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_284 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_285 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_286 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_287 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_288 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_289 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_290 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_291 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_292 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_293 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_294 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_295 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_296 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_297 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_298 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_299 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_300 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_301 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_302 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_303 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_304 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_305 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_306 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_307 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_308 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_309 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_310 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_311 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_312 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_313 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_314 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_315 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_316 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_317 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_318 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_319 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_320 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_321 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_322 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_323 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_324 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_325 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_326 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_327 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_328 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_329 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_330 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_331 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_332 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_333 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_334 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_335 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_336 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_337 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_338 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_339 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_340 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_341 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_342 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_343 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_344 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_345 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_346 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_347 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_348 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_349 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_350 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_351 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_352 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_353 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_354 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_355 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_356 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_357 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_358 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_359 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_360 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_361 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_362 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_363 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_364 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_365 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_366 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_367 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_368 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_369 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_370 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_371 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_372 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_373 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_374 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_375 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_376 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_377 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_378 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_379 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_380 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_381 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_382 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_383 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_384 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_385 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_386 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_387 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_388 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_389 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_390 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_391 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_392 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_393 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_394 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_395 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_396 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_397 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_398 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_399 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_400 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_401 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_402 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_403 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_404 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_405 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_406 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_407 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_408 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_409 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_410 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_411 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_412 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_413 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_414 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_415 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_416 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_417 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_418 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_419 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_420 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_421 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_422 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_423 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_424 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_425 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_426 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_427 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_428 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_429 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_430 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_431 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_432 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_433 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_434 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_435 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_436 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_437 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_438 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_439 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_440 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_441 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_442 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_443 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_444 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_445 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_446 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_447 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_448 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_449 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_450 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_451 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_452 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_453 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_454 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_455 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_456 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_457 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_458 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_459 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_460 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_461 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_462 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_463 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_464 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_465 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_466 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_467 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_468 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_469 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_470 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_471 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_472 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_473 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_474 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_475 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_476 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_477 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_478 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_479 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_480 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_481 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_482 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_483 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_484 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_485 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_486 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_487 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_488 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_489 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_490 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_491 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_492 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_493 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_494 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_495 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_496 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_497 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_498 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_499 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_500 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_501 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_502 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_503 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_504 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_505 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_506 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_507 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_508 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_509 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_510 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_511 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_512 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_513 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_514 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_515 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_516 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_517 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_518 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_519 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_520 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_521 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_522 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_523 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_524 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_525 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_526 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_527 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_528 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_529 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_530 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_531 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_532 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_533 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_534 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_535 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_536 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_537 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_538 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_539 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_540 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_541 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_542 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_543 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_544 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_545 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_546 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_547 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_548 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_549 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_550 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_551 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_552 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_553 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_554 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_555 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_556 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_557 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_558 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_559 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_560 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_561 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_562 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_563 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_564 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_565 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_566 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_567 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_568 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_569 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_570 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_571 = arith.constant dense_resource<__elided__> : tensor<6400x1600xf32> | |
| %cst_572 = arith.constant dense_resource<__elided__> : tensor<6400xf32> | |
| %cst_573 = arith.constant dense_resource<__elided__> : tensor<1600x6400xf32> | |
| %cst_574 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_575 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_576 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_577 = arith.constant dense_resource<__elided__> : tensor<1600x1600xf32> | |
| %cst_578 = arith.constant dense_resource<__elided__> : tensor<4800xf32> | |
| %cst_579 = arith.constant dense_resource<__elided__> : tensor<1600x4800xf32> | |
| %cst_580 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_581 = arith.constant dense_resource<__elided__> : tensor<1600xf32> | |
| %cst_582 = arith.constant dense_resource<__elided__> : tensor<1024x1600xf32> | |
| %cst_583 = arith.constant dense_resource<__elided__> : tensor<50257x1600xf32> | |
| %cst_584 = arith.constant dense_resource<__elided__> : tensor<1x7xi64> | |
| %cst_585 = arith.constant dense<6.400000e+01> : tensor<f32> | |
| %cst_586 = arith.constant dense<5.000000e-01> : tensor<f32> | |
| %cst_587 = arith.constant dense_resource<__elided__> : tensor<1x1x7x7xi1> | |
| %cst_588 = arith.constant dense<-3.40282347E+38> : tensor<f32> | |
| %cst_589 = arith.constant dense<3.000000e+00> : tensor<f32> | |
| %cst_590 = arith.constant dense<4.471500e-02> : tensor<f32> | |
| %cst_591 = arith.constant dense<0.797884583> : tensor<f32> | |
| %cst_592 = arith.constant dense<1.000000e+00> : tensor<f32> | |
| %cst_593 = arith.constant dense<0.000000e+00> : tensor<f64> | |
| %0 = tensor.empty() : tensor<1x7xi1> | |
| %1 = linalg.generic {indexing_maps = [#map, #map1], iterator_types = ["parallel", "parallel"]} ins(%arg0 : tensor<1x7xi64>) outs(%0 : tensor<1x7xi1>) { | |
| ^bb0(%in: i64, %out: i1): | |
| %3031 = arith.cmpi slt, %in, %c0_i64 : i64 | |
| linalg.yield %3031 : i1 | |
| } -> tensor<1x7xi1> | |
| %2 = tensor.empty() : tensor<1x7xi64> | |
| %3 = linalg.generic {indexing_maps = [#map, #map1], iterator_types = ["parallel", "parallel"]} ins(%arg0 : tensor<1x7xi64>) outs(%2 : tensor<1x7xi64>) { | |
| ^bb0(%in: i64, %out: i64): | |
| %3031 = arith.addi %in, %c50257_i64 : i64 | |
| linalg.yield %3031 : i64 | |
| } -> tensor<1x7xi64> | |
| %4 = linalg.generic {indexing_maps = [#map, #map, #map, #map1], iterator_types = ["parallel", "parallel"]} ins(%1, %3, %arg0 : tensor<1x7xi1>, tensor<1x7xi64>, tensor<1x7xi64>) outs(%2 : tensor<1x7xi64>) { | |
| ^bb0(%in: i1, %in_1603: i64, %in_1604: i64, %out: i64): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : i64 | |
| linalg.yield %3031 : i64 | |
| } -> tensor<1x7xi64> | |
| %collapsed = tensor.collapse_shape %4 [[0, 1]] : tensor<1x7xi64> into tensor<7xi64> | |
| %5 = tensor.empty() : tensor<7x1600xf32> | |
| %6 = linalg.generic {indexing_maps = [#map2, #map1], iterator_types = ["parallel", "parallel"]} ins(%collapsed : tensor<7xi64>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: i64, %out: f32): | |
| %3031 = arith.index_cast %in : i64 to index | |
| %3032 = linalg.index 1 : index | |
| %extracted = tensor.extract %cst_583[%3031, %3032] : tensor<50257x1600xf32> | |
| linalg.yield %extracted : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded = tensor.expand_shape %6 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %collapsed_594 = tensor.collapse_shape %cst_584 [[0, 1]] : tensor<1x7xi64> into tensor<7xi64> | |
| %7 = linalg.generic {indexing_maps = [#map2, #map1], iterator_types = ["parallel", "parallel"]} ins(%collapsed_594 : tensor<7xi64>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: i64, %out: f32): | |
| %3031 = arith.index_cast %in : i64 to index | |
| %3032 = linalg.index 1 : index | |
| %extracted = tensor.extract %cst_582[%3031, %3032] : tensor<1024x1600xf32> | |
| linalg.yield %extracted : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_595 = tensor.expand_shape %7 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %8 = tensor.empty() : tensor<1x7x1600xf32> | |
| %9 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded, %expanded_595 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %10 = tensor.empty() : tensor<1x7x1xf32> | |
| %11 = linalg.fill ins(%cst_0 : f32) outs(%10 : tensor<1x7x1xf32>) -> tensor<1x7x1xf32> | |
| %12 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%9 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %13 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%12 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %14 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%13 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %15 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%9, %14 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %16 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%15, %15 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %17 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%16 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %18 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%17 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %19 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%18 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %20 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%19 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %21 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%20 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %22 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%15, %21 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %23 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%22, %cst_581 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %24 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%23, %cst_580 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_596 = tensor.collapse_shape %24 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %25 = tensor.empty() : tensor<7x4800xf32> | |
| %26 = linalg.fill ins(%cst_0 : f32) outs(%25 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %27 = linalg.matmul ins(%collapsed_596, %cst_579 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %28 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%27, %cst_578 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_597 = tensor.expand_shape %28 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice = tensor.extract_slice %expanded_597[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_598 = tensor.extract_slice %expanded_597[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_599 = tensor.extract_slice %expanded_597[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_600 = tensor.expand_shape %extracted_slice [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %29 = tensor.empty() : tensor<1x25x7x64xf32> | |
| %30 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_600 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_601 = tensor.expand_shape %extracted_slice_598 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %31 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_601 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_602 = tensor.expand_shape %extracted_slice_599 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %32 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_602 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %33 = tensor.empty() : tensor<1x25x64x7xf32> | |
| %34 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%31 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %35 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%30 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %36 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%34 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_603 = tensor.collapse_shape %35 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_604 = tensor.collapse_shape %36 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %37 = tensor.empty() : tensor<25x7x7xf32> | |
| %38 = linalg.fill ins(%cst_0 : f32) outs(%37 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %39 = linalg.batch_matmul ins(%collapsed_603, %collapsed_604 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_605 = tensor.expand_shape %39 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %40 = tensor.empty() : tensor<f32> | |
| %41 = linalg.generic {indexing_maps = [#map13, #map13, #map13], iterator_types = []} ins(%cst_585, %cst_586 : tensor<f32>, tensor<f32>) outs(%40 : tensor<f32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<f32> | |
| %42 = linalg.generic {indexing_maps = [#map13, #map13], iterator_types = []} ins(%cst_593 : tensor<f64>) outs(%40 : tensor<f32>) { | |
| ^bb0(%in: f64, %out: f32): | |
| %3031 = arith.truncf %in : f64 to f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<f32> | |
| %43 = linalg.generic {indexing_maps = [#map13, #map13, #map13], iterator_types = []} ins(%42, %41 : tensor<f32>, tensor<f32>) outs(%40 : tensor<f32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<f32> | |
| %44 = tensor.empty() : tensor<1x25x7x7xf32> | |
| %45 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_605, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %46 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %45, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %47 = tensor.empty() : tensor<1x25x7xi64> | |
| %48 = linalg.fill ins(%c0_i64 : i64) outs(%47 : tensor<1x25x7xi64>) -> tensor<1x25x7xi64> | |
| %49 = tensor.empty() : tensor<1x25x7xf32> | |
| %50 = linalg.fill ins(%cst_1 : f32) outs(%49 : tensor<1x25x7xf32>) -> tensor<1x25x7xf32> | |
| %51:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%46 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_606 = tensor.expand_shape %51#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %52 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%46, %expanded_606 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %53 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%52 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %54 = tensor.empty() : tensor<1x25x7x1xf32> | |
| %55 = linalg.fill ins(%cst_0 : f32) outs(%54 : tensor<1x25x7x1xf32>) -> tensor<1x25x7x1xf32> | |
| %56 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%53 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %57 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%53, %56 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %58 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%57 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %59 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%32 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_607 = tensor.collapse_shape %58 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_608 = tensor.collapse_shape %59 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %60 = tensor.empty() : tensor<25x7x64xf32> | |
| %61 = linalg.fill ins(%cst_0 : f32) outs(%60 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %62 = linalg.batch_matmul ins(%collapsed_607, %collapsed_608 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_609 = tensor.expand_shape %62 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %63 = tensor.empty() : tensor<1x7x25x64xf32> | |
| %64 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_609 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_610 = tensor.collapse_shape %64 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %65 = linalg.fill ins(%cst_0 : f32) outs(%5 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %66 = linalg.matmul ins(%collapsed_610, %cst_577 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %67 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%66, %cst_576 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_611 = tensor.expand_shape %67 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %68 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_611, %9 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %69 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%68 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %70 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%69 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %71 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%70 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %72 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%68, %71 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %73 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%72, %72 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %74 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%73 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %75 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%74 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %76 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%75 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %77 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%76 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %78 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%77 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %79 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%72, %78 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %80 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%79, %cst_575 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %81 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%80, %cst_574 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_612 = tensor.collapse_shape %81 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %82 = tensor.empty() : tensor<7x6400xf32> | |
| %83 = linalg.fill ins(%cst_0 : f32) outs(%82 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %84 = linalg.matmul ins(%collapsed_612, %cst_573 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %85 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%84, %cst_572 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_613 = tensor.expand_shape %85 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %86 = tensor.empty() : tensor<1x7x6400xf32> | |
| %87 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_613, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %88 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_613, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %89 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%88, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %90 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_613, %89 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %91 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%90, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %92 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%91 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %93 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%92, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %94 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%87, %93 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_614 = tensor.collapse_shape %94 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %95 = linalg.matmul ins(%collapsed_614, %cst_571 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %96 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%95, %cst_570 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_615 = tensor.expand_shape %96 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %97 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%68, %expanded_615 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %98 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%97 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %99 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%98 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %100 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%99 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %101 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%97, %100 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %102 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%101, %101 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %103 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%102 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %104 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%103 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %105 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%104 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %106 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%105 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %107 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%106 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %108 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%101, %107 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %109 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%108, %cst_569 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %110 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%109, %cst_568 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_616 = tensor.collapse_shape %110 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %111 = linalg.matmul ins(%collapsed_616, %cst_567 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %112 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%111, %cst_566 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_617 = tensor.expand_shape %112 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_618 = tensor.extract_slice %expanded_617[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_619 = tensor.extract_slice %expanded_617[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_620 = tensor.extract_slice %expanded_617[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_621 = tensor.expand_shape %extracted_slice_618 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %113 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_621 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_622 = tensor.expand_shape %extracted_slice_619 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %114 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_622 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_623 = tensor.expand_shape %extracted_slice_620 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %115 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_623 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %116 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%114 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %117 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%113 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %118 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%116 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_624 = tensor.collapse_shape %117 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_625 = tensor.collapse_shape %118 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %119 = linalg.batch_matmul ins(%collapsed_624, %collapsed_625 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_626 = tensor.expand_shape %119 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %120 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_626, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %121 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %120, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %122:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%121 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_627 = tensor.expand_shape %122#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %123 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%121, %expanded_627 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %124 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%123 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %125 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%124 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %126 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%124, %125 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %127 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%126 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %128 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%115 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_628 = tensor.collapse_shape %127 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_629 = tensor.collapse_shape %128 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %129 = linalg.batch_matmul ins(%collapsed_628, %collapsed_629 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_630 = tensor.expand_shape %129 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %130 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_630 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_631 = tensor.collapse_shape %130 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %131 = linalg.matmul ins(%collapsed_631, %cst_565 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %132 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%131, %cst_564 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_632 = tensor.expand_shape %132 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %133 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_632, %97 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %134 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%133 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %135 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%134 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %136 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%135 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %137 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%133, %136 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %138 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%137, %137 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %139 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%138 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %140 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%139 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %141 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%140 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %142 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%141 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %143 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%142 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %144 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%137, %143 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %145 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%144, %cst_563 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %146 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%145, %cst_562 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_633 = tensor.collapse_shape %146 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %147 = linalg.matmul ins(%collapsed_633, %cst_561 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %148 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%147, %cst_560 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_634 = tensor.expand_shape %148 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %149 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_634, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %150 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_634, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %151 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%150, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %152 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_634, %151 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %153 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%152, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %154 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%153 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %155 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%154, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %156 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%149, %155 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_635 = tensor.collapse_shape %156 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %157 = linalg.matmul ins(%collapsed_635, %cst_559 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %158 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%157, %cst_558 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_636 = tensor.expand_shape %158 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %159 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%133, %expanded_636 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %160 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%159 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %161 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%160 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %162 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%161 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %163 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%159, %162 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %164 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%163, %163 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %165 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%164 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %166 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%165 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %167 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%166 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %168 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%167 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %169 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%168 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %170 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%163, %169 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %171 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%170, %cst_557 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %172 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%171, %cst_556 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_637 = tensor.collapse_shape %172 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %173 = linalg.matmul ins(%collapsed_637, %cst_555 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %174 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%173, %cst_554 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_638 = tensor.expand_shape %174 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_639 = tensor.extract_slice %expanded_638[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_640 = tensor.extract_slice %expanded_638[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_641 = tensor.extract_slice %expanded_638[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_642 = tensor.expand_shape %extracted_slice_639 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %175 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_642 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_643 = tensor.expand_shape %extracted_slice_640 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %176 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_643 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_644 = tensor.expand_shape %extracted_slice_641 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %177 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_644 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %178 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%176 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %179 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%175 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %180 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%178 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_645 = tensor.collapse_shape %179 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_646 = tensor.collapse_shape %180 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %181 = linalg.batch_matmul ins(%collapsed_645, %collapsed_646 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_647 = tensor.expand_shape %181 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %182 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_647, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %183 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %182, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %184:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%183 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_648 = tensor.expand_shape %184#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %185 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%183, %expanded_648 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %186 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%185 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %187 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%186 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %188 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%186, %187 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %189 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%188 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %190 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%177 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_649 = tensor.collapse_shape %189 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_650 = tensor.collapse_shape %190 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %191 = linalg.batch_matmul ins(%collapsed_649, %collapsed_650 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_651 = tensor.expand_shape %191 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %192 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_651 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_652 = tensor.collapse_shape %192 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %193 = linalg.matmul ins(%collapsed_652, %cst_553 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %194 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%193, %cst_552 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_653 = tensor.expand_shape %194 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %195 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_653, %159 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %196 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%195 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %197 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%196 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %198 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%197 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %199 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%195, %198 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %200 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%199, %199 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %201 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%200 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %202 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%201 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %203 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%202 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %204 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%203 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %205 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%204 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %206 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%199, %205 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %207 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%206, %cst_551 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %208 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%207, %cst_550 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_654 = tensor.collapse_shape %208 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %209 = linalg.matmul ins(%collapsed_654, %cst_549 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %210 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%209, %cst_548 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_655 = tensor.expand_shape %210 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %211 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_655, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %212 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_655, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %213 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%212, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %214 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_655, %213 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %215 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%214, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %216 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%215 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %217 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%216, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %218 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%211, %217 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_656 = tensor.collapse_shape %218 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %219 = linalg.matmul ins(%collapsed_656, %cst_547 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %220 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%219, %cst_546 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_657 = tensor.expand_shape %220 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %221 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%195, %expanded_657 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %222 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%221 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %223 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%222 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %224 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%223 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %225 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%221, %224 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %226 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%225, %225 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %227 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%226 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %228 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%227 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %229 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%228 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %230 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%229 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %231 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%230 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %232 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%225, %231 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %233 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%232, %cst_545 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %234 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%233, %cst_544 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_658 = tensor.collapse_shape %234 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %235 = linalg.matmul ins(%collapsed_658, %cst_543 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %236 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%235, %cst_542 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_659 = tensor.expand_shape %236 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_660 = tensor.extract_slice %expanded_659[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_661 = tensor.extract_slice %expanded_659[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_662 = tensor.extract_slice %expanded_659[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_663 = tensor.expand_shape %extracted_slice_660 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %237 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_663 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_664 = tensor.expand_shape %extracted_slice_661 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %238 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_664 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_665 = tensor.expand_shape %extracted_slice_662 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %239 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_665 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %240 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%238 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %241 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%237 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %242 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%240 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_666 = tensor.collapse_shape %241 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_667 = tensor.collapse_shape %242 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %243 = linalg.batch_matmul ins(%collapsed_666, %collapsed_667 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_668 = tensor.expand_shape %243 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %244 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_668, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %245 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %244, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %246:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%245 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_669 = tensor.expand_shape %246#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %247 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%245, %expanded_669 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %248 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%247 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %249 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%248 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %250 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%248, %249 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %251 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%250 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %252 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%239 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_670 = tensor.collapse_shape %251 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_671 = tensor.collapse_shape %252 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %253 = linalg.batch_matmul ins(%collapsed_670, %collapsed_671 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_672 = tensor.expand_shape %253 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %254 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_672 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_673 = tensor.collapse_shape %254 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %255 = linalg.matmul ins(%collapsed_673, %cst_541 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %256 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%255, %cst_540 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_674 = tensor.expand_shape %256 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %257 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_674, %221 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %258 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%257 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %259 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%258 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %260 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%259 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %261 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%257, %260 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %262 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%261, %261 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %263 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%262 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %264 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%263 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %265 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%264 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %266 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%265 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %267 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%266 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %268 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%261, %267 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %269 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%268, %cst_539 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %270 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%269, %cst_538 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_675 = tensor.collapse_shape %270 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %271 = linalg.matmul ins(%collapsed_675, %cst_537 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %272 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%271, %cst_536 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_676 = tensor.expand_shape %272 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %273 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_676, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %274 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_676, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %275 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%274, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %276 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_676, %275 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %277 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%276, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %278 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%277 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %279 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%278, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %280 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%273, %279 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_677 = tensor.collapse_shape %280 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %281 = linalg.matmul ins(%collapsed_677, %cst_535 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %282 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%281, %cst_534 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_678 = tensor.expand_shape %282 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %283 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%257, %expanded_678 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %284 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%283 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %285 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%284 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %286 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%285 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %287 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%283, %286 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %288 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%287, %287 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %289 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%288 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %290 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%289 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %291 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%290 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %292 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%291 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %293 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%292 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %294 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%287, %293 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %295 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%294, %cst_533 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %296 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%295, %cst_532 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_679 = tensor.collapse_shape %296 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %297 = linalg.matmul ins(%collapsed_679, %cst_531 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %298 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%297, %cst_530 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_680 = tensor.expand_shape %298 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_681 = tensor.extract_slice %expanded_680[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_682 = tensor.extract_slice %expanded_680[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_683 = tensor.extract_slice %expanded_680[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_684 = tensor.expand_shape %extracted_slice_681 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %299 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_684 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_685 = tensor.expand_shape %extracted_slice_682 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %300 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_685 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_686 = tensor.expand_shape %extracted_slice_683 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %301 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_686 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %302 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%300 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %303 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%299 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %304 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%302 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_687 = tensor.collapse_shape %303 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_688 = tensor.collapse_shape %304 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %305 = linalg.batch_matmul ins(%collapsed_687, %collapsed_688 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_689 = tensor.expand_shape %305 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %306 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_689, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %307 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %306, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %308:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%307 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_690 = tensor.expand_shape %308#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %309 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%307, %expanded_690 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %310 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%309 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %311 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%310 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %312 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%310, %311 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %313 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%312 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %314 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%301 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_691 = tensor.collapse_shape %313 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_692 = tensor.collapse_shape %314 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %315 = linalg.batch_matmul ins(%collapsed_691, %collapsed_692 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_693 = tensor.expand_shape %315 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %316 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_693 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_694 = tensor.collapse_shape %316 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %317 = linalg.matmul ins(%collapsed_694, %cst_529 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %318 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%317, %cst_528 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_695 = tensor.expand_shape %318 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %319 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_695, %283 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %320 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%319 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %321 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%320 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %322 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%321 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %323 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%319, %322 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %324 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%323, %323 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %325 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%324 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %326 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%325 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %327 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%326 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %328 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%327 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %329 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%328 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %330 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%323, %329 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %331 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%330, %cst_527 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %332 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%331, %cst_526 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_696 = tensor.collapse_shape %332 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %333 = linalg.matmul ins(%collapsed_696, %cst_525 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %334 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%333, %cst_524 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_697 = tensor.expand_shape %334 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %335 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_697, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %336 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_697, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %337 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%336, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %338 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_697, %337 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %339 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%338, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %340 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%339 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %341 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%340, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %342 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%335, %341 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_698 = tensor.collapse_shape %342 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %343 = linalg.matmul ins(%collapsed_698, %cst_523 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %344 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%343, %cst_522 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_699 = tensor.expand_shape %344 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %345 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%319, %expanded_699 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %346 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%345 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %347 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%346 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %348 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%347 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %349 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%345, %348 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %350 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%349, %349 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %351 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%350 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %352 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%351 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %353 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%352 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %354 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%353 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %355 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%354 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %356 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%349, %355 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %357 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%356, %cst_521 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %358 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%357, %cst_520 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_700 = tensor.collapse_shape %358 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %359 = linalg.matmul ins(%collapsed_700, %cst_519 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %360 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%359, %cst_518 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_701 = tensor.expand_shape %360 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_702 = tensor.extract_slice %expanded_701[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_703 = tensor.extract_slice %expanded_701[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_704 = tensor.extract_slice %expanded_701[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_705 = tensor.expand_shape %extracted_slice_702 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %361 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_705 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_706 = tensor.expand_shape %extracted_slice_703 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %362 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_706 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_707 = tensor.expand_shape %extracted_slice_704 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %363 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_707 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %364 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%362 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %365 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%361 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %366 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%364 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_708 = tensor.collapse_shape %365 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_709 = tensor.collapse_shape %366 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %367 = linalg.batch_matmul ins(%collapsed_708, %collapsed_709 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_710 = tensor.expand_shape %367 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %368 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_710, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %369 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %368, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %370:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%369 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_711 = tensor.expand_shape %370#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %371 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%369, %expanded_711 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %372 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%371 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %373 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%372 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %374 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%372, %373 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %375 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%374 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %376 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%363 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_712 = tensor.collapse_shape %375 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_713 = tensor.collapse_shape %376 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %377 = linalg.batch_matmul ins(%collapsed_712, %collapsed_713 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_714 = tensor.expand_shape %377 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %378 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_714 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_715 = tensor.collapse_shape %378 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %379 = linalg.matmul ins(%collapsed_715, %cst_517 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %380 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%379, %cst_516 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_716 = tensor.expand_shape %380 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %381 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_716, %345 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %382 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%381 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %383 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%382 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %384 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%383 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %385 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%381, %384 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %386 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%385, %385 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %387 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%386 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %388 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%387 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %389 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%388 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %390 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%389 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %391 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%390 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %392 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%385, %391 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %393 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%392, %cst_515 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %394 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%393, %cst_514 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_717 = tensor.collapse_shape %394 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %395 = linalg.matmul ins(%collapsed_717, %cst_513 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %396 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%395, %cst_512 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_718 = tensor.expand_shape %396 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %397 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_718, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %398 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_718, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %399 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%398, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %400 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_718, %399 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %401 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%400, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %402 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%401 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %403 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%402, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %404 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%397, %403 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_719 = tensor.collapse_shape %404 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %405 = linalg.matmul ins(%collapsed_719, %cst_511 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %406 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%405, %cst_510 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_720 = tensor.expand_shape %406 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %407 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%381, %expanded_720 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %408 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%407 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %409 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%408 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %410 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%409 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %411 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%407, %410 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %412 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%411, %411 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %413 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%412 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %414 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%413 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %415 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%414 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %416 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%415 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %417 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%416 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %418 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%411, %417 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %419 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%418, %cst_509 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %420 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%419, %cst_508 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_721 = tensor.collapse_shape %420 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %421 = linalg.matmul ins(%collapsed_721, %cst_507 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %422 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%421, %cst_506 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_722 = tensor.expand_shape %422 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_723 = tensor.extract_slice %expanded_722[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_724 = tensor.extract_slice %expanded_722[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_725 = tensor.extract_slice %expanded_722[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_726 = tensor.expand_shape %extracted_slice_723 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %423 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_726 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_727 = tensor.expand_shape %extracted_slice_724 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %424 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_727 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_728 = tensor.expand_shape %extracted_slice_725 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %425 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_728 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %426 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%424 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %427 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%423 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %428 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%426 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_729 = tensor.collapse_shape %427 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_730 = tensor.collapse_shape %428 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %429 = linalg.batch_matmul ins(%collapsed_729, %collapsed_730 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_731 = tensor.expand_shape %429 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %430 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_731, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %431 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %430, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %432:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%431 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_732 = tensor.expand_shape %432#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %433 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%431, %expanded_732 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %434 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%433 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %435 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%434 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %436 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%434, %435 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %437 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%436 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %438 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%425 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_733 = tensor.collapse_shape %437 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_734 = tensor.collapse_shape %438 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %439 = linalg.batch_matmul ins(%collapsed_733, %collapsed_734 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_735 = tensor.expand_shape %439 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %440 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_735 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_736 = tensor.collapse_shape %440 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %441 = linalg.matmul ins(%collapsed_736, %cst_505 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %442 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%441, %cst_504 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_737 = tensor.expand_shape %442 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %443 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_737, %407 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %444 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%443 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %445 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%444 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %446 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%445 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %447 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%443, %446 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %448 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%447, %447 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %449 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%448 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %450 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%449 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %451 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%450 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %452 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%451 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %453 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%452 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %454 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%447, %453 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %455 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%454, %cst_503 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %456 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%455, %cst_502 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_738 = tensor.collapse_shape %456 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %457 = linalg.matmul ins(%collapsed_738, %cst_501 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %458 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%457, %cst_500 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_739 = tensor.expand_shape %458 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %459 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_739, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %460 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_739, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %461 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%460, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %462 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_739, %461 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %463 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%462, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %464 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%463 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %465 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%464, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %466 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%459, %465 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_740 = tensor.collapse_shape %466 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %467 = linalg.matmul ins(%collapsed_740, %cst_499 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %468 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%467, %cst_498 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_741 = tensor.expand_shape %468 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %469 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%443, %expanded_741 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %470 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%469 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %471 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%470 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %472 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%471 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %473 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%469, %472 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %474 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%473, %473 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %475 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%474 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %476 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%475 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %477 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%476 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %478 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%477 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %479 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%478 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %480 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%473, %479 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %481 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%480, %cst_497 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %482 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%481, %cst_496 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_742 = tensor.collapse_shape %482 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %483 = linalg.matmul ins(%collapsed_742, %cst_495 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %484 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%483, %cst_494 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_743 = tensor.expand_shape %484 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_744 = tensor.extract_slice %expanded_743[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_745 = tensor.extract_slice %expanded_743[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_746 = tensor.extract_slice %expanded_743[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_747 = tensor.expand_shape %extracted_slice_744 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %485 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_747 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_748 = tensor.expand_shape %extracted_slice_745 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %486 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_748 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_749 = tensor.expand_shape %extracted_slice_746 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %487 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_749 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %488 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%486 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %489 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%485 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %490 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%488 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_750 = tensor.collapse_shape %489 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_751 = tensor.collapse_shape %490 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %491 = linalg.batch_matmul ins(%collapsed_750, %collapsed_751 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_752 = tensor.expand_shape %491 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %492 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_752, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %493 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %492, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %494:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%493 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_753 = tensor.expand_shape %494#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %495 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%493, %expanded_753 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %496 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%495 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %497 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%496 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %498 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%496, %497 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %499 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%498 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %500 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%487 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_754 = tensor.collapse_shape %499 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_755 = tensor.collapse_shape %500 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %501 = linalg.batch_matmul ins(%collapsed_754, %collapsed_755 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_756 = tensor.expand_shape %501 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %502 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_756 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_757 = tensor.collapse_shape %502 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %503 = linalg.matmul ins(%collapsed_757, %cst_493 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %504 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%503, %cst_492 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_758 = tensor.expand_shape %504 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %505 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_758, %469 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %506 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%505 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %507 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%506 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %508 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%507 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %509 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%505, %508 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %510 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%509, %509 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %511 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%510 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %512 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%511 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %513 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%512 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %514 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%513 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %515 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%514 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %516 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%509, %515 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %517 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%516, %cst_491 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %518 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%517, %cst_490 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_759 = tensor.collapse_shape %518 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %519 = linalg.matmul ins(%collapsed_759, %cst_489 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %520 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%519, %cst_488 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_760 = tensor.expand_shape %520 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %521 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_760, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %522 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_760, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %523 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%522, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %524 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_760, %523 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %525 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%524, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %526 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%525 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %527 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%526, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %528 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%521, %527 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_761 = tensor.collapse_shape %528 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %529 = linalg.matmul ins(%collapsed_761, %cst_487 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %530 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%529, %cst_486 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_762 = tensor.expand_shape %530 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %531 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%505, %expanded_762 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %532 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%531 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %533 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%532 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %534 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%533 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %535 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%531, %534 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %536 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%535, %535 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %537 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%536 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %538 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%537 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %539 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%538 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %540 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%539 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %541 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%540 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %542 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%535, %541 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %543 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%542, %cst_485 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %544 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%543, %cst_484 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_763 = tensor.collapse_shape %544 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %545 = linalg.matmul ins(%collapsed_763, %cst_483 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %546 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%545, %cst_482 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_764 = tensor.expand_shape %546 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_765 = tensor.extract_slice %expanded_764[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_766 = tensor.extract_slice %expanded_764[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_767 = tensor.extract_slice %expanded_764[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_768 = tensor.expand_shape %extracted_slice_765 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %547 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_768 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_769 = tensor.expand_shape %extracted_slice_766 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %548 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_769 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_770 = tensor.expand_shape %extracted_slice_767 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %549 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_770 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %550 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%548 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %551 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%547 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %552 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%550 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_771 = tensor.collapse_shape %551 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_772 = tensor.collapse_shape %552 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %553 = linalg.batch_matmul ins(%collapsed_771, %collapsed_772 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_773 = tensor.expand_shape %553 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %554 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_773, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %555 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %554, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %556:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%555 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_774 = tensor.expand_shape %556#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %557 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%555, %expanded_774 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %558 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%557 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %559 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%558 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %560 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%558, %559 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %561 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%560 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %562 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%549 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_775 = tensor.collapse_shape %561 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_776 = tensor.collapse_shape %562 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %563 = linalg.batch_matmul ins(%collapsed_775, %collapsed_776 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_777 = tensor.expand_shape %563 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %564 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_777 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_778 = tensor.collapse_shape %564 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %565 = linalg.matmul ins(%collapsed_778, %cst_481 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %566 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%565, %cst_480 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_779 = tensor.expand_shape %566 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %567 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_779, %531 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %568 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%567 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %569 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%568 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %570 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%569 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %571 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%567, %570 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %572 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%571, %571 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %573 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%572 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %574 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%573 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %575 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%574 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %576 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%575 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %577 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%576 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %578 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%571, %577 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %579 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%578, %cst_479 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %580 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%579, %cst_478 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_780 = tensor.collapse_shape %580 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %581 = linalg.matmul ins(%collapsed_780, %cst_477 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %582 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%581, %cst_476 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_781 = tensor.expand_shape %582 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %583 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_781, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %584 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_781, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %585 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%584, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %586 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_781, %585 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %587 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%586, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %588 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%587 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %589 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%588, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %590 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%583, %589 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_782 = tensor.collapse_shape %590 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %591 = linalg.matmul ins(%collapsed_782, %cst_475 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %592 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%591, %cst_474 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_783 = tensor.expand_shape %592 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %593 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%567, %expanded_783 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %594 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%593 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %595 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%594 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %596 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%595 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %597 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%593, %596 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %598 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%597, %597 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %599 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%598 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %600 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%599 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %601 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%600 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %602 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%601 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %603 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%602 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %604 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%597, %603 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %605 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%604, %cst_473 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %606 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%605, %cst_472 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_784 = tensor.collapse_shape %606 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %607 = linalg.matmul ins(%collapsed_784, %cst_471 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %608 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%607, %cst_470 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_785 = tensor.expand_shape %608 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_786 = tensor.extract_slice %expanded_785[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_787 = tensor.extract_slice %expanded_785[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_788 = tensor.extract_slice %expanded_785[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_789 = tensor.expand_shape %extracted_slice_786 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %609 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_789 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_790 = tensor.expand_shape %extracted_slice_787 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %610 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_790 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_791 = tensor.expand_shape %extracted_slice_788 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %611 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_791 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %612 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%610 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %613 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%609 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %614 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%612 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_792 = tensor.collapse_shape %613 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_793 = tensor.collapse_shape %614 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %615 = linalg.batch_matmul ins(%collapsed_792, %collapsed_793 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_794 = tensor.expand_shape %615 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %616 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_794, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %617 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %616, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %618:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%617 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_795 = tensor.expand_shape %618#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %619 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%617, %expanded_795 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %620 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%619 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %621 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%620 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %622 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%620, %621 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %623 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%622 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %624 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%611 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_796 = tensor.collapse_shape %623 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_797 = tensor.collapse_shape %624 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %625 = linalg.batch_matmul ins(%collapsed_796, %collapsed_797 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_798 = tensor.expand_shape %625 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %626 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_798 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_799 = tensor.collapse_shape %626 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %627 = linalg.matmul ins(%collapsed_799, %cst_469 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %628 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%627, %cst_468 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_800 = tensor.expand_shape %628 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %629 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_800, %593 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %630 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%629 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %631 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%630 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %632 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%631 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %633 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%629, %632 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %634 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%633, %633 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %635 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%634 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %636 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%635 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %637 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%636 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %638 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%637 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %639 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%638 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %640 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%633, %639 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %641 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%640, %cst_467 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %642 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%641, %cst_466 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_801 = tensor.collapse_shape %642 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %643 = linalg.matmul ins(%collapsed_801, %cst_465 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %644 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%643, %cst_464 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_802 = tensor.expand_shape %644 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %645 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_802, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %646 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_802, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %647 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%646, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %648 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_802, %647 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %649 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%648, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %650 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%649 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %651 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%650, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %652 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%645, %651 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_803 = tensor.collapse_shape %652 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %653 = linalg.matmul ins(%collapsed_803, %cst_463 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %654 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%653, %cst_462 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_804 = tensor.expand_shape %654 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %655 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%629, %expanded_804 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %656 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%655 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %657 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%656 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %658 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%657 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %659 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%655, %658 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %660 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%659, %659 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %661 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%660 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %662 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%661 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %663 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%662 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %664 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%663 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %665 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%664 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %666 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%659, %665 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %667 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%666, %cst_461 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %668 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%667, %cst_460 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_805 = tensor.collapse_shape %668 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %669 = linalg.matmul ins(%collapsed_805, %cst_459 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %670 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%669, %cst_458 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_806 = tensor.expand_shape %670 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_807 = tensor.extract_slice %expanded_806[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_808 = tensor.extract_slice %expanded_806[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_809 = tensor.extract_slice %expanded_806[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_810 = tensor.expand_shape %extracted_slice_807 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %671 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_810 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_811 = tensor.expand_shape %extracted_slice_808 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %672 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_811 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_812 = tensor.expand_shape %extracted_slice_809 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %673 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_812 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %674 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%672 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %675 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%671 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %676 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%674 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_813 = tensor.collapse_shape %675 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_814 = tensor.collapse_shape %676 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %677 = linalg.batch_matmul ins(%collapsed_813, %collapsed_814 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_815 = tensor.expand_shape %677 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %678 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_815, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %679 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %678, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %680:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%679 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_816 = tensor.expand_shape %680#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %681 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%679, %expanded_816 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %682 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%681 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %683 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%682 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %684 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%682, %683 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %685 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%684 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %686 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%673 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_817 = tensor.collapse_shape %685 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_818 = tensor.collapse_shape %686 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %687 = linalg.batch_matmul ins(%collapsed_817, %collapsed_818 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_819 = tensor.expand_shape %687 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %688 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_819 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_820 = tensor.collapse_shape %688 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %689 = linalg.matmul ins(%collapsed_820, %cst_457 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %690 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%689, %cst_456 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_821 = tensor.expand_shape %690 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %691 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_821, %655 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %692 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%691 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %693 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%692 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %694 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%693 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %695 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%691, %694 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %696 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%695, %695 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %697 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%696 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %698 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%697 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %699 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%698 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %700 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%699 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %701 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%700 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %702 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%695, %701 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %703 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%702, %cst_455 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %704 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%703, %cst_454 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_822 = tensor.collapse_shape %704 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %705 = linalg.matmul ins(%collapsed_822, %cst_453 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %706 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%705, %cst_452 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_823 = tensor.expand_shape %706 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %707 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_823, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %708 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_823, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %709 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%708, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %710 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_823, %709 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %711 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%710, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %712 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%711 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %713 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%712, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %714 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%707, %713 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_824 = tensor.collapse_shape %714 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %715 = linalg.matmul ins(%collapsed_824, %cst_451 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %716 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%715, %cst_450 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_825 = tensor.expand_shape %716 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %717 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%691, %expanded_825 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %718 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%717 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %719 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%718 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %720 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%719 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %721 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%717, %720 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %722 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%721, %721 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %723 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%722 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %724 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%723 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %725 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%724 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %726 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%725 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %727 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%726 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %728 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%721, %727 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %729 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%728, %cst_449 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %730 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%729, %cst_448 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_826 = tensor.collapse_shape %730 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %731 = linalg.matmul ins(%collapsed_826, %cst_447 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %732 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%731, %cst_446 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_827 = tensor.expand_shape %732 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_828 = tensor.extract_slice %expanded_827[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_829 = tensor.extract_slice %expanded_827[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_830 = tensor.extract_slice %expanded_827[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_831 = tensor.expand_shape %extracted_slice_828 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %733 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_831 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_832 = tensor.expand_shape %extracted_slice_829 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %734 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_832 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_833 = tensor.expand_shape %extracted_slice_830 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %735 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_833 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %736 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%734 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %737 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%733 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %738 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%736 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_834 = tensor.collapse_shape %737 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_835 = tensor.collapse_shape %738 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %739 = linalg.batch_matmul ins(%collapsed_834, %collapsed_835 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_836 = tensor.expand_shape %739 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %740 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_836, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %741 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %740, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %742:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%741 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_837 = tensor.expand_shape %742#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %743 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%741, %expanded_837 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %744 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%743 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %745 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%744 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %746 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%744, %745 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %747 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%746 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %748 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%735 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_838 = tensor.collapse_shape %747 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_839 = tensor.collapse_shape %748 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %749 = linalg.batch_matmul ins(%collapsed_838, %collapsed_839 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_840 = tensor.expand_shape %749 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %750 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_840 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_841 = tensor.collapse_shape %750 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %751 = linalg.matmul ins(%collapsed_841, %cst_445 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %752 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%751, %cst_444 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_842 = tensor.expand_shape %752 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %753 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_842, %717 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %754 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%753 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %755 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%754 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %756 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%755 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %757 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%753, %756 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %758 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%757, %757 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %759 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%758 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %760 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%759 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %761 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%760 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %762 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%761 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %763 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%762 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %764 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%757, %763 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %765 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%764, %cst_443 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %766 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%765, %cst_442 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_843 = tensor.collapse_shape %766 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %767 = linalg.matmul ins(%collapsed_843, %cst_441 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %768 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%767, %cst_440 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_844 = tensor.expand_shape %768 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %769 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_844, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %770 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_844, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %771 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%770, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %772 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_844, %771 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %773 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%772, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %774 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%773 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %775 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%774, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %776 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%769, %775 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_845 = tensor.collapse_shape %776 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %777 = linalg.matmul ins(%collapsed_845, %cst_439 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %778 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%777, %cst_438 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_846 = tensor.expand_shape %778 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %779 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%753, %expanded_846 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %780 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%779 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %781 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%780 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %782 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%781 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %783 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%779, %782 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %784 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%783, %783 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %785 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%784 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %786 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%785 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %787 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%786 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %788 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%787 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %789 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%788 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %790 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%783, %789 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %791 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%790, %cst_437 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %792 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%791, %cst_436 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_847 = tensor.collapse_shape %792 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %793 = linalg.matmul ins(%collapsed_847, %cst_435 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %794 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%793, %cst_434 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_848 = tensor.expand_shape %794 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_849 = tensor.extract_slice %expanded_848[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_850 = tensor.extract_slice %expanded_848[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_851 = tensor.extract_slice %expanded_848[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_852 = tensor.expand_shape %extracted_slice_849 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %795 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_852 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_853 = tensor.expand_shape %extracted_slice_850 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %796 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_853 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_854 = tensor.expand_shape %extracted_slice_851 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %797 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_854 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %798 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%796 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %799 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%795 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %800 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%798 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_855 = tensor.collapse_shape %799 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_856 = tensor.collapse_shape %800 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %801 = linalg.batch_matmul ins(%collapsed_855, %collapsed_856 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_857 = tensor.expand_shape %801 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %802 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_857, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %803 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %802, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %804:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%803 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_858 = tensor.expand_shape %804#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %805 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%803, %expanded_858 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %806 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%805 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %807 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%806 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %808 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%806, %807 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %809 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%808 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %810 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%797 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_859 = tensor.collapse_shape %809 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_860 = tensor.collapse_shape %810 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %811 = linalg.batch_matmul ins(%collapsed_859, %collapsed_860 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_861 = tensor.expand_shape %811 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %812 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_861 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_862 = tensor.collapse_shape %812 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %813 = linalg.matmul ins(%collapsed_862, %cst_433 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %814 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%813, %cst_432 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_863 = tensor.expand_shape %814 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %815 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_863, %779 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %816 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%815 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %817 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%816 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %818 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%817 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %819 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%815, %818 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %820 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%819, %819 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %821 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%820 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %822 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%821 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %823 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%822 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %824 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%823 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %825 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%824 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %826 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%819, %825 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %827 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%826, %cst_431 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %828 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%827, %cst_430 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_864 = tensor.collapse_shape %828 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %829 = linalg.matmul ins(%collapsed_864, %cst_429 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %830 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%829, %cst_428 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_865 = tensor.expand_shape %830 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %831 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_865, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %832 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_865, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %833 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%832, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %834 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_865, %833 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %835 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%834, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %836 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%835 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %837 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%836, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %838 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%831, %837 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_866 = tensor.collapse_shape %838 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %839 = linalg.matmul ins(%collapsed_866, %cst_427 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %840 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%839, %cst_426 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_867 = tensor.expand_shape %840 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %841 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%815, %expanded_867 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %842 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%841 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %843 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%842 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %844 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%843 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %845 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%841, %844 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %846 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%845, %845 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %847 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%846 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %848 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%847 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %849 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%848 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %850 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%849 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %851 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%850 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %852 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%845, %851 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %853 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%852, %cst_425 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %854 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%853, %cst_424 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_868 = tensor.collapse_shape %854 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %855 = linalg.matmul ins(%collapsed_868, %cst_423 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %856 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%855, %cst_422 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_869 = tensor.expand_shape %856 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_870 = tensor.extract_slice %expanded_869[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_871 = tensor.extract_slice %expanded_869[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_872 = tensor.extract_slice %expanded_869[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_873 = tensor.expand_shape %extracted_slice_870 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %857 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_873 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_874 = tensor.expand_shape %extracted_slice_871 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %858 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_874 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_875 = tensor.expand_shape %extracted_slice_872 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %859 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_875 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %860 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%858 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %861 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%857 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %862 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%860 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_876 = tensor.collapse_shape %861 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_877 = tensor.collapse_shape %862 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %863 = linalg.batch_matmul ins(%collapsed_876, %collapsed_877 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_878 = tensor.expand_shape %863 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %864 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_878, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %865 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %864, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %866:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%865 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_879 = tensor.expand_shape %866#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %867 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%865, %expanded_879 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %868 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%867 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %869 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%868 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %870 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%868, %869 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %871 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%870 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %872 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%859 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_880 = tensor.collapse_shape %871 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_881 = tensor.collapse_shape %872 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %873 = linalg.batch_matmul ins(%collapsed_880, %collapsed_881 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_882 = tensor.expand_shape %873 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %874 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_882 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_883 = tensor.collapse_shape %874 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %875 = linalg.matmul ins(%collapsed_883, %cst_421 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %876 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%875, %cst_420 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_884 = tensor.expand_shape %876 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %877 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_884, %841 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %878 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%877 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %879 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%878 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %880 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%879 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %881 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%877, %880 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %882 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%881, %881 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %883 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%882 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %884 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%883 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %885 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%884 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %886 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%885 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %887 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%886 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %888 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%881, %887 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %889 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%888, %cst_419 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %890 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%889, %cst_418 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_885 = tensor.collapse_shape %890 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %891 = linalg.matmul ins(%collapsed_885, %cst_417 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %892 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%891, %cst_416 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_886 = tensor.expand_shape %892 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %893 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_886, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %894 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_886, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %895 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%894, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %896 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_886, %895 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %897 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%896, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %898 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%897 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %899 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%898, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %900 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%893, %899 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_887 = tensor.collapse_shape %900 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %901 = linalg.matmul ins(%collapsed_887, %cst_415 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %902 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%901, %cst_414 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_888 = tensor.expand_shape %902 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %903 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%877, %expanded_888 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %904 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%903 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %905 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%904 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %906 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%905 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %907 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%903, %906 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %908 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%907, %907 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %909 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%908 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %910 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%909 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %911 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%910 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %912 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%911 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %913 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%912 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %914 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%907, %913 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %915 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%914, %cst_413 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %916 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%915, %cst_412 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_889 = tensor.collapse_shape %916 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %917 = linalg.matmul ins(%collapsed_889, %cst_411 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %918 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%917, %cst_410 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_890 = tensor.expand_shape %918 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_891 = tensor.extract_slice %expanded_890[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_892 = tensor.extract_slice %expanded_890[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_893 = tensor.extract_slice %expanded_890[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_894 = tensor.expand_shape %extracted_slice_891 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %919 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_894 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_895 = tensor.expand_shape %extracted_slice_892 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %920 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_895 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_896 = tensor.expand_shape %extracted_slice_893 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %921 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_896 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %922 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%920 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %923 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%919 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %924 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%922 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_897 = tensor.collapse_shape %923 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_898 = tensor.collapse_shape %924 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %925 = linalg.batch_matmul ins(%collapsed_897, %collapsed_898 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_899 = tensor.expand_shape %925 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %926 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_899, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %927 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %926, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %928:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%927 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_900 = tensor.expand_shape %928#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %929 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%927, %expanded_900 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %930 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%929 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %931 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%930 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %932 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%930, %931 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %933 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%932 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %934 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%921 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_901 = tensor.collapse_shape %933 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_902 = tensor.collapse_shape %934 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %935 = linalg.batch_matmul ins(%collapsed_901, %collapsed_902 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_903 = tensor.expand_shape %935 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %936 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_903 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_904 = tensor.collapse_shape %936 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %937 = linalg.matmul ins(%collapsed_904, %cst_409 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %938 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%937, %cst_408 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_905 = tensor.expand_shape %938 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %939 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_905, %903 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %940 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%939 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %941 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%940 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %942 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%941 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %943 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%939, %942 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %944 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%943, %943 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %945 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%944 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %946 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%945 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %947 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%946 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %948 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%947 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %949 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%948 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %950 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%943, %949 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %951 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%950, %cst_407 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %952 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%951, %cst_406 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_906 = tensor.collapse_shape %952 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %953 = linalg.matmul ins(%collapsed_906, %cst_405 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %954 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%953, %cst_404 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_907 = tensor.expand_shape %954 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %955 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_907, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %956 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_907, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %957 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%956, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %958 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_907, %957 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %959 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%958, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %960 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%959 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %961 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%960, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %962 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%955, %961 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_908 = tensor.collapse_shape %962 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %963 = linalg.matmul ins(%collapsed_908, %cst_403 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %964 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%963, %cst_402 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_909 = tensor.expand_shape %964 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %965 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%939, %expanded_909 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %966 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%965 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %967 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%966 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %968 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%967 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %969 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%965, %968 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %970 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%969, %969 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %971 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%970 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %972 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%971 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %973 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%972 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %974 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%973 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %975 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%974 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %976 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%969, %975 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %977 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%976, %cst_401 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %978 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%977, %cst_400 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_910 = tensor.collapse_shape %978 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %979 = linalg.matmul ins(%collapsed_910, %cst_399 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %980 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%979, %cst_398 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_911 = tensor.expand_shape %980 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_912 = tensor.extract_slice %expanded_911[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_913 = tensor.extract_slice %expanded_911[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_914 = tensor.extract_slice %expanded_911[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_915 = tensor.expand_shape %extracted_slice_912 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %981 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_915 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_916 = tensor.expand_shape %extracted_slice_913 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %982 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_916 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_917 = tensor.expand_shape %extracted_slice_914 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %983 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_917 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %984 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%982 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %985 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%981 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %986 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%984 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_918 = tensor.collapse_shape %985 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_919 = tensor.collapse_shape %986 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %987 = linalg.batch_matmul ins(%collapsed_918, %collapsed_919 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_920 = tensor.expand_shape %987 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %988 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_920, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %989 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %988, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %990:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%989 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_921 = tensor.expand_shape %990#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %991 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%989, %expanded_921 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %992 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%991 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %993 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%992 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %994 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%992, %993 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %995 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%994 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %996 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%983 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_922 = tensor.collapse_shape %995 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_923 = tensor.collapse_shape %996 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %997 = linalg.batch_matmul ins(%collapsed_922, %collapsed_923 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_924 = tensor.expand_shape %997 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %998 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_924 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_925 = tensor.collapse_shape %998 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %999 = linalg.matmul ins(%collapsed_925, %cst_397 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1000 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%999, %cst_396 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_926 = tensor.expand_shape %1000 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1001 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_926, %965 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1002 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1001 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1003 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1002 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1004 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1003 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1005 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1001, %1004 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1006 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1005, %1005 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1007 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1006 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1008 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1007 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1009 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1008 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1010 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1009 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1011 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1010 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1012 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1005, %1011 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1013 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1012, %cst_395 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1014 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1013, %cst_394 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_927 = tensor.collapse_shape %1014 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1015 = linalg.matmul ins(%collapsed_927, %cst_393 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %1016 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1015, %cst_392 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_928 = tensor.expand_shape %1016 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %1017 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_928, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1018 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_928, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1019 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1018, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1020 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_928, %1019 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1021 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1020, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1022 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1021 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1023 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1022, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1024 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1017, %1023 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_929 = tensor.collapse_shape %1024 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %1025 = linalg.matmul ins(%collapsed_929, %cst_391 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1026 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1025, %cst_390 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_930 = tensor.expand_shape %1026 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1027 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1001, %expanded_930 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1028 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1027 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1029 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1028 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1030 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1029 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1031 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1027, %1030 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1032 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1031, %1031 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1033 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1032 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1034 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1033 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1035 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1034 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1036 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1035 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1037 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1036 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1038 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1031, %1037 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1039 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1038, %cst_389 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1040 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1039, %cst_388 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_931 = tensor.collapse_shape %1040 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1041 = linalg.matmul ins(%collapsed_931, %cst_387 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %1042 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1041, %cst_386 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_932 = tensor.expand_shape %1042 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_933 = tensor.extract_slice %expanded_932[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_934 = tensor.extract_slice %expanded_932[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_935 = tensor.extract_slice %expanded_932[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_936 = tensor.expand_shape %extracted_slice_933 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1043 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_936 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_937 = tensor.expand_shape %extracted_slice_934 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1044 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_937 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_938 = tensor.expand_shape %extracted_slice_935 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1045 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_938 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1046 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1044 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %1047 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1043 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1048 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1046 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_939 = tensor.collapse_shape %1047 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_940 = tensor.collapse_shape %1048 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %1049 = linalg.batch_matmul ins(%collapsed_939, %collapsed_940 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_941 = tensor.expand_shape %1049 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %1050 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_941, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1051 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %1050, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1052:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1051 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_942 = tensor.expand_shape %1052#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %1053 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1051, %expanded_942 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1054 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1053 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1055 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1054 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %1056 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1054, %1055 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1057 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1056 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1058 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1045 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_943 = tensor.collapse_shape %1057 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_944 = tensor.collapse_shape %1058 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %1059 = linalg.batch_matmul ins(%collapsed_943, %collapsed_944 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_945 = tensor.expand_shape %1059 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %1060 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_945 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_946 = tensor.collapse_shape %1060 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %1061 = linalg.matmul ins(%collapsed_946, %cst_385 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1062 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1061, %cst_384 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_947 = tensor.expand_shape %1062 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1063 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_947, %1027 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1064 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1063 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1065 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1064 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1066 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1065 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1067 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1063, %1066 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1068 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1067, %1067 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1069 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1068 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1070 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1069 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1071 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1070 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1072 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1071 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1073 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1072 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1074 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1067, %1073 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1075 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1074, %cst_383 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1076 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1075, %cst_382 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_948 = tensor.collapse_shape %1076 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1077 = linalg.matmul ins(%collapsed_948, %cst_381 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %1078 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1077, %cst_380 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_949 = tensor.expand_shape %1078 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %1079 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_949, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1080 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_949, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1081 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1080, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1082 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_949, %1081 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1083 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1082, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1084 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1083 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1085 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1084, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1086 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1079, %1085 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_950 = tensor.collapse_shape %1086 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %1087 = linalg.matmul ins(%collapsed_950, %cst_379 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1088 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1087, %cst_378 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_951 = tensor.expand_shape %1088 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1089 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1063, %expanded_951 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1090 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1089 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1091 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1090 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1092 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1091 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1093 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1089, %1092 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1094 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1093, %1093 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1095 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1094 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1096 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1095 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1097 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1096 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1098 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1097 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1099 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1098 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1100 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1093, %1099 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1101 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1100, %cst_377 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1102 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1101, %cst_376 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_952 = tensor.collapse_shape %1102 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1103 = linalg.matmul ins(%collapsed_952, %cst_375 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %1104 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1103, %cst_374 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_953 = tensor.expand_shape %1104 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_954 = tensor.extract_slice %expanded_953[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_955 = tensor.extract_slice %expanded_953[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_956 = tensor.extract_slice %expanded_953[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_957 = tensor.expand_shape %extracted_slice_954 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1105 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_957 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_958 = tensor.expand_shape %extracted_slice_955 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1106 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_958 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_959 = tensor.expand_shape %extracted_slice_956 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1107 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_959 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1108 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1106 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %1109 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1105 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1110 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1108 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_960 = tensor.collapse_shape %1109 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_961 = tensor.collapse_shape %1110 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %1111 = linalg.batch_matmul ins(%collapsed_960, %collapsed_961 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_962 = tensor.expand_shape %1111 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %1112 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_962, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1113 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %1112, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1114:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1113 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_963 = tensor.expand_shape %1114#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %1115 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1113, %expanded_963 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1116 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1115 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1117 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1116 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %1118 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1116, %1117 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1119 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1118 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1120 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1107 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_964 = tensor.collapse_shape %1119 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_965 = tensor.collapse_shape %1120 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %1121 = linalg.batch_matmul ins(%collapsed_964, %collapsed_965 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_966 = tensor.expand_shape %1121 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %1122 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_966 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_967 = tensor.collapse_shape %1122 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %1123 = linalg.matmul ins(%collapsed_967, %cst_373 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1124 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1123, %cst_372 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_968 = tensor.expand_shape %1124 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1125 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_968, %1089 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1126 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1125 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1127 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1126 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1128 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1127 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1129 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1125, %1128 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1130 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1129, %1129 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1131 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1130 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1132 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1131 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1133 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1132 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1134 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1133 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1135 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1134 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1136 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1129, %1135 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1137 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1136, %cst_371 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1138 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1137, %cst_370 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_969 = tensor.collapse_shape %1138 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1139 = linalg.matmul ins(%collapsed_969, %cst_369 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %1140 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1139, %cst_368 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_970 = tensor.expand_shape %1140 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %1141 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_970, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1142 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_970, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1143 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1142, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1144 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_970, %1143 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1145 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1144, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1146 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1145 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1147 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1146, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1148 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1141, %1147 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_971 = tensor.collapse_shape %1148 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %1149 = linalg.matmul ins(%collapsed_971, %cst_367 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1150 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1149, %cst_366 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_972 = tensor.expand_shape %1150 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1151 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1125, %expanded_972 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1152 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1151 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1153 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1152 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1154 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1153 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1155 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1151, %1154 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1156 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1155, %1155 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1157 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1156 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1158 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1157 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1159 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1158 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1160 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1159 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1161 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1160 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1162 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1155, %1161 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1163 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1162, %cst_365 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1164 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1163, %cst_364 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_973 = tensor.collapse_shape %1164 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1165 = linalg.matmul ins(%collapsed_973, %cst_363 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %1166 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1165, %cst_362 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_974 = tensor.expand_shape %1166 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_975 = tensor.extract_slice %expanded_974[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_976 = tensor.extract_slice %expanded_974[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_977 = tensor.extract_slice %expanded_974[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_978 = tensor.expand_shape %extracted_slice_975 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1167 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_978 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_979 = tensor.expand_shape %extracted_slice_976 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1168 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_979 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_980 = tensor.expand_shape %extracted_slice_977 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1169 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_980 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1170 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1168 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %1171 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1167 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1172 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1170 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_981 = tensor.collapse_shape %1171 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_982 = tensor.collapse_shape %1172 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %1173 = linalg.batch_matmul ins(%collapsed_981, %collapsed_982 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_983 = tensor.expand_shape %1173 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %1174 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_983, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1175 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %1174, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1176:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1175 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_984 = tensor.expand_shape %1176#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %1177 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1175, %expanded_984 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1178 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1177 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1179 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1178 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %1180 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1178, %1179 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1181 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1180 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1182 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1169 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_985 = tensor.collapse_shape %1181 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_986 = tensor.collapse_shape %1182 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %1183 = linalg.batch_matmul ins(%collapsed_985, %collapsed_986 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_987 = tensor.expand_shape %1183 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %1184 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_987 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_988 = tensor.collapse_shape %1184 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %1185 = linalg.matmul ins(%collapsed_988, %cst_361 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1186 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1185, %cst_360 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_989 = tensor.expand_shape %1186 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1187 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_989, %1151 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1188 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1187 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1189 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1188 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1190 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1189 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1191 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1187, %1190 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1192 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1191, %1191 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1193 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1192 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1194 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1193 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1195 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1194 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1196 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1195 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1197 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1196 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1198 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1191, %1197 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1199 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1198, %cst_359 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1200 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1199, %cst_358 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_990 = tensor.collapse_shape %1200 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1201 = linalg.matmul ins(%collapsed_990, %cst_357 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %1202 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1201, %cst_356 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_991 = tensor.expand_shape %1202 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %1203 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_991, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1204 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_991, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1205 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1204, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1206 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_991, %1205 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1207 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1206, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1208 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1207 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1209 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1208, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1210 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1203, %1209 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_992 = tensor.collapse_shape %1210 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %1211 = linalg.matmul ins(%collapsed_992, %cst_355 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1212 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1211, %cst_354 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_993 = tensor.expand_shape %1212 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1213 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1187, %expanded_993 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1214 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1213 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1215 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1214 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1216 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1215 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1217 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1213, %1216 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1218 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1217, %1217 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1219 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1218 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1220 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1219 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1221 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1220 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1222 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1221 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1223 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1222 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1224 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1217, %1223 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1225 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1224, %cst_353 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1226 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1225, %cst_352 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_994 = tensor.collapse_shape %1226 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1227 = linalg.matmul ins(%collapsed_994, %cst_351 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %1228 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1227, %cst_350 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_995 = tensor.expand_shape %1228 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_996 = tensor.extract_slice %expanded_995[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_997 = tensor.extract_slice %expanded_995[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_998 = tensor.extract_slice %expanded_995[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_999 = tensor.expand_shape %extracted_slice_996 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1229 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_999 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1000 = tensor.expand_shape %extracted_slice_997 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1230 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1000 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1001 = tensor.expand_shape %extracted_slice_998 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1231 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1001 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1232 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1230 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %1233 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1229 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1234 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1232 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_1002 = tensor.collapse_shape %1233 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_1003 = tensor.collapse_shape %1234 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %1235 = linalg.batch_matmul ins(%collapsed_1002, %collapsed_1003 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_1004 = tensor.expand_shape %1235 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %1236 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1004, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1237 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %1236, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1238:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1237 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_1005 = tensor.expand_shape %1238#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %1239 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1237, %expanded_1005 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1240 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1239 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1241 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1240 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %1242 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1240, %1241 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1243 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1242 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1244 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1231 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_1006 = tensor.collapse_shape %1243 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_1007 = tensor.collapse_shape %1244 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %1245 = linalg.batch_matmul ins(%collapsed_1006, %collapsed_1007 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_1008 = tensor.expand_shape %1245 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %1246 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1008 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_1009 = tensor.collapse_shape %1246 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %1247 = linalg.matmul ins(%collapsed_1009, %cst_349 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1248 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1247, %cst_348 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1010 = tensor.expand_shape %1248 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1249 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1010, %1213 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1250 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1249 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1251 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1250 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1252 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1251 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1253 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1249, %1252 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1254 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1253, %1253 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1255 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1254 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1256 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1255 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1257 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1256 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1258 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1257 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1259 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1258 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1260 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1253, %1259 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1261 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1260, %cst_347 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1262 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1261, %cst_346 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1011 = tensor.collapse_shape %1262 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1263 = linalg.matmul ins(%collapsed_1011, %cst_345 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %1264 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1263, %cst_344 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_1012 = tensor.expand_shape %1264 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %1265 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1012, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1266 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1012, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1267 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1266, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1268 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1012, %1267 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1269 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1268, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1270 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1269 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1271 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1270, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1272 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1265, %1271 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_1013 = tensor.collapse_shape %1272 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %1273 = linalg.matmul ins(%collapsed_1013, %cst_343 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1274 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1273, %cst_342 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1014 = tensor.expand_shape %1274 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1275 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1249, %expanded_1014 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1276 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1275 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1277 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1276 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1278 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1277 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1279 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1275, %1278 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1280 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1279, %1279 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1281 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1280 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1282 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1281 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1283 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1282 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1284 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1283 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1285 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1284 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1286 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1279, %1285 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1287 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1286, %cst_341 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1288 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1287, %cst_340 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1015 = tensor.collapse_shape %1288 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1289 = linalg.matmul ins(%collapsed_1015, %cst_339 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %1290 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1289, %cst_338 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_1016 = tensor.expand_shape %1290 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_1017 = tensor.extract_slice %expanded_1016[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1018 = tensor.extract_slice %expanded_1016[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1019 = tensor.extract_slice %expanded_1016[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_1020 = tensor.expand_shape %extracted_slice_1017 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1291 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1020 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1021 = tensor.expand_shape %extracted_slice_1018 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1292 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1021 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1022 = tensor.expand_shape %extracted_slice_1019 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1293 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1022 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1294 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1292 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %1295 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1291 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1296 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1294 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_1023 = tensor.collapse_shape %1295 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_1024 = tensor.collapse_shape %1296 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %1297 = linalg.batch_matmul ins(%collapsed_1023, %collapsed_1024 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_1025 = tensor.expand_shape %1297 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %1298 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1025, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1299 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %1298, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1300:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1299 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_1026 = tensor.expand_shape %1300#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %1301 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1299, %expanded_1026 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1302 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1301 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1303 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1302 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %1304 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1302, %1303 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1305 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1304 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1306 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1293 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_1027 = tensor.collapse_shape %1305 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_1028 = tensor.collapse_shape %1306 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %1307 = linalg.batch_matmul ins(%collapsed_1027, %collapsed_1028 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_1029 = tensor.expand_shape %1307 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %1308 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1029 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_1030 = tensor.collapse_shape %1308 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %1309 = linalg.matmul ins(%collapsed_1030, %cst_337 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1310 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1309, %cst_336 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1031 = tensor.expand_shape %1310 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1311 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1031, %1275 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1312 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1311 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1313 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1312 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1314 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1313 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1315 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1311, %1314 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1316 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1315, %1315 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1317 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1316 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1318 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1317 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1319 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1318 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1320 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1319 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1321 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1320 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1322 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1315, %1321 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1323 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1322, %cst_335 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1324 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1323, %cst_334 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1032 = tensor.collapse_shape %1324 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1325 = linalg.matmul ins(%collapsed_1032, %cst_333 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %1326 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1325, %cst_332 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_1033 = tensor.expand_shape %1326 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %1327 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1033, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1328 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1033, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1329 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1328, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1330 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1033, %1329 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1331 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1330, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1332 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1331 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1333 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1332, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1334 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1327, %1333 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_1034 = tensor.collapse_shape %1334 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %1335 = linalg.matmul ins(%collapsed_1034, %cst_331 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1336 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1335, %cst_330 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1035 = tensor.expand_shape %1336 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1337 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1311, %expanded_1035 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1338 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1337 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1339 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1338 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1340 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1339 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1341 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1337, %1340 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1342 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1341, %1341 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1343 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1342 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1344 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1343 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1345 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1344 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1346 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1345 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1347 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1346 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1348 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1341, %1347 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1349 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1348, %cst_329 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1350 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1349, %cst_328 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1036 = tensor.collapse_shape %1350 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1351 = linalg.matmul ins(%collapsed_1036, %cst_327 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %1352 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1351, %cst_326 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_1037 = tensor.expand_shape %1352 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_1038 = tensor.extract_slice %expanded_1037[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1039 = tensor.extract_slice %expanded_1037[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1040 = tensor.extract_slice %expanded_1037[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_1041 = tensor.expand_shape %extracted_slice_1038 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1353 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1041 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1042 = tensor.expand_shape %extracted_slice_1039 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1354 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1042 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1043 = tensor.expand_shape %extracted_slice_1040 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1355 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1043 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1356 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1354 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %1357 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1353 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1358 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1356 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_1044 = tensor.collapse_shape %1357 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_1045 = tensor.collapse_shape %1358 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %1359 = linalg.batch_matmul ins(%collapsed_1044, %collapsed_1045 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_1046 = tensor.expand_shape %1359 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %1360 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1046, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1361 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %1360, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1362:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1361 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_1047 = tensor.expand_shape %1362#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %1363 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1361, %expanded_1047 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1364 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1363 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1365 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1364 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %1366 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1364, %1365 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1367 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1366 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1368 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1355 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_1048 = tensor.collapse_shape %1367 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_1049 = tensor.collapse_shape %1368 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %1369 = linalg.batch_matmul ins(%collapsed_1048, %collapsed_1049 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_1050 = tensor.expand_shape %1369 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %1370 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1050 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_1051 = tensor.collapse_shape %1370 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %1371 = linalg.matmul ins(%collapsed_1051, %cst_325 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1372 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1371, %cst_324 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1052 = tensor.expand_shape %1372 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1373 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1052, %1337 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1374 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1373 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1375 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1374 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1376 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1375 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1377 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1373, %1376 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1378 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1377, %1377 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1379 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1378 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1380 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1379 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1381 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1380 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1382 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1381 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1383 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1382 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1384 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1377, %1383 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1385 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1384, %cst_323 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1386 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1385, %cst_322 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1053 = tensor.collapse_shape %1386 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1387 = linalg.matmul ins(%collapsed_1053, %cst_321 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %1388 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1387, %cst_320 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_1054 = tensor.expand_shape %1388 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %1389 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1054, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1390 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1054, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1391 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1390, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1392 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1054, %1391 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1393 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1392, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1394 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1393 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1395 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1394, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1396 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1389, %1395 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_1055 = tensor.collapse_shape %1396 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %1397 = linalg.matmul ins(%collapsed_1055, %cst_319 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1398 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1397, %cst_318 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1056 = tensor.expand_shape %1398 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1399 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1373, %expanded_1056 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1400 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1399 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1401 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1400 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1402 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1401 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1403 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1399, %1402 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1404 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1403, %1403 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1405 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1404 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1406 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1405 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1407 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1406 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1408 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1407 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1409 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1408 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1410 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1403, %1409 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1411 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1410, %cst_317 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1412 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1411, %cst_316 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1057 = tensor.collapse_shape %1412 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1413 = linalg.matmul ins(%collapsed_1057, %cst_315 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %1414 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1413, %cst_314 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_1058 = tensor.expand_shape %1414 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_1059 = tensor.extract_slice %expanded_1058[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1060 = tensor.extract_slice %expanded_1058[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1061 = tensor.extract_slice %expanded_1058[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_1062 = tensor.expand_shape %extracted_slice_1059 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1415 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1062 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1063 = tensor.expand_shape %extracted_slice_1060 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1416 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1063 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1064 = tensor.expand_shape %extracted_slice_1061 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1417 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1064 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1418 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1416 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %1419 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1415 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1420 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1418 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_1065 = tensor.collapse_shape %1419 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_1066 = tensor.collapse_shape %1420 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %1421 = linalg.batch_matmul ins(%collapsed_1065, %collapsed_1066 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_1067 = tensor.expand_shape %1421 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %1422 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1067, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1423 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %1422, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1424:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1423 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_1068 = tensor.expand_shape %1424#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %1425 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1423, %expanded_1068 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1426 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1425 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1427 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1426 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %1428 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1426, %1427 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1429 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1428 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1430 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1417 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_1069 = tensor.collapse_shape %1429 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_1070 = tensor.collapse_shape %1430 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %1431 = linalg.batch_matmul ins(%collapsed_1069, %collapsed_1070 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_1071 = tensor.expand_shape %1431 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %1432 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1071 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_1072 = tensor.collapse_shape %1432 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %1433 = linalg.matmul ins(%collapsed_1072, %cst_313 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1434 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1433, %cst_312 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1073 = tensor.expand_shape %1434 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1435 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1073, %1399 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1436 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1435 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1437 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1436 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1438 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1437 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1439 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1435, %1438 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1440 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1439, %1439 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1441 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1440 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1442 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1441 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1443 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1442 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1444 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1443 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1445 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1444 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1446 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1439, %1445 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1447 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1446, %cst_311 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1448 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1447, %cst_310 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1074 = tensor.collapse_shape %1448 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1449 = linalg.matmul ins(%collapsed_1074, %cst_309 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %1450 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1449, %cst_308 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_1075 = tensor.expand_shape %1450 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %1451 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1075, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1452 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1075, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1453 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1452, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1454 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1075, %1453 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1455 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1454, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1456 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1455 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1457 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1456, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1458 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1451, %1457 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_1076 = tensor.collapse_shape %1458 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %1459 = linalg.matmul ins(%collapsed_1076, %cst_307 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1460 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1459, %cst_306 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1077 = tensor.expand_shape %1460 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1461 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1435, %expanded_1077 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1462 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1461 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1463 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1462 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1464 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1463 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1465 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1461, %1464 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1466 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1465, %1465 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1467 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1466 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1468 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1467 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1469 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1468 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1470 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1469 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1471 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1470 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1472 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1465, %1471 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1473 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1472, %cst_305 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1474 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1473, %cst_304 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1078 = tensor.collapse_shape %1474 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1475 = linalg.matmul ins(%collapsed_1078, %cst_303 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %1476 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1475, %cst_302 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_1079 = tensor.expand_shape %1476 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_1080 = tensor.extract_slice %expanded_1079[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1081 = tensor.extract_slice %expanded_1079[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1082 = tensor.extract_slice %expanded_1079[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_1083 = tensor.expand_shape %extracted_slice_1080 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1477 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1083 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1084 = tensor.expand_shape %extracted_slice_1081 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1478 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1084 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1085 = tensor.expand_shape %extracted_slice_1082 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1479 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1085 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1480 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1478 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %1481 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1477 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1482 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1480 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_1086 = tensor.collapse_shape %1481 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_1087 = tensor.collapse_shape %1482 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %1483 = linalg.batch_matmul ins(%collapsed_1086, %collapsed_1087 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_1088 = tensor.expand_shape %1483 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %1484 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1088, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1485 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %1484, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1486:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1485 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_1089 = tensor.expand_shape %1486#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %1487 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1485, %expanded_1089 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1488 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1487 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1489 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1488 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %1490 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1488, %1489 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1491 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1490 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1492 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1479 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_1090 = tensor.collapse_shape %1491 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_1091 = tensor.collapse_shape %1492 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %1493 = linalg.batch_matmul ins(%collapsed_1090, %collapsed_1091 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_1092 = tensor.expand_shape %1493 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %1494 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1092 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_1093 = tensor.collapse_shape %1494 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %1495 = linalg.matmul ins(%collapsed_1093, %cst_301 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1496 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1495, %cst_300 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1094 = tensor.expand_shape %1496 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1497 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1094, %1461 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1498 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1497 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1499 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1498 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1500 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1499 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1501 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1497, %1500 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1502 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1501, %1501 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1503 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1502 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1504 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1503 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1505 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1504 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1506 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1505 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1507 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1506 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1508 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1501, %1507 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1509 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1508, %cst_299 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1510 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1509, %cst_298 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1095 = tensor.collapse_shape %1510 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1511 = linalg.matmul ins(%collapsed_1095, %cst_297 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %1512 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1511, %cst_296 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_1096 = tensor.expand_shape %1512 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %1513 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1096, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1514 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1096, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1515 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1514, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1516 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1096, %1515 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1517 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1516, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1518 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1517 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1519 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1518, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1520 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1513, %1519 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_1097 = tensor.collapse_shape %1520 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %1521 = linalg.matmul ins(%collapsed_1097, %cst_295 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1522 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1521, %cst_294 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1098 = tensor.expand_shape %1522 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1523 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1497, %expanded_1098 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1524 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1523 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1525 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1524 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1526 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1525 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1527 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1523, %1526 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1528 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1527, %1527 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1529 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1528 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1530 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1529 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1531 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1530 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1532 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1531 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1533 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1532 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1534 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1527, %1533 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1535 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1534, %cst_293 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1536 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1535, %cst_292 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1099 = tensor.collapse_shape %1536 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1537 = linalg.matmul ins(%collapsed_1099, %cst_291 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %1538 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1537, %cst_290 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_1100 = tensor.expand_shape %1538 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_1101 = tensor.extract_slice %expanded_1100[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1102 = tensor.extract_slice %expanded_1100[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1103 = tensor.extract_slice %expanded_1100[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_1104 = tensor.expand_shape %extracted_slice_1101 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1539 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1104 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1105 = tensor.expand_shape %extracted_slice_1102 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1540 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1105 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1106 = tensor.expand_shape %extracted_slice_1103 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1541 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1106 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1542 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1540 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %1543 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1539 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1544 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1542 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_1107 = tensor.collapse_shape %1543 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_1108 = tensor.collapse_shape %1544 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %1545 = linalg.batch_matmul ins(%collapsed_1107, %collapsed_1108 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_1109 = tensor.expand_shape %1545 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %1546 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1109, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1547 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %1546, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1548:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1547 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_1110 = tensor.expand_shape %1548#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %1549 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1547, %expanded_1110 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1550 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1549 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1551 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1550 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %1552 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1550, %1551 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1553 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1552 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1554 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1541 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_1111 = tensor.collapse_shape %1553 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_1112 = tensor.collapse_shape %1554 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %1555 = linalg.batch_matmul ins(%collapsed_1111, %collapsed_1112 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_1113 = tensor.expand_shape %1555 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %1556 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1113 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_1114 = tensor.collapse_shape %1556 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %1557 = linalg.matmul ins(%collapsed_1114, %cst_289 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1558 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1557, %cst_288 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1115 = tensor.expand_shape %1558 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1559 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1115, %1523 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1560 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1559 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1561 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1560 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1562 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1561 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1563 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1559, %1562 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1564 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1563, %1563 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1565 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1564 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1566 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1565 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1567 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1566 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1568 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1567 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1569 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1568 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1570 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1563, %1569 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1571 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1570, %cst_287 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1572 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1571, %cst_286 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1116 = tensor.collapse_shape %1572 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1573 = linalg.matmul ins(%collapsed_1116, %cst_285 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %1574 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1573, %cst_284 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_1117 = tensor.expand_shape %1574 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %1575 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1117, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1576 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1117, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1577 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1576, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1578 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1117, %1577 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1579 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1578, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1580 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1579 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1581 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1580, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1582 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1575, %1581 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_1118 = tensor.collapse_shape %1582 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %1583 = linalg.matmul ins(%collapsed_1118, %cst_283 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1584 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1583, %cst_282 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1119 = tensor.expand_shape %1584 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1585 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1559, %expanded_1119 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1586 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1585 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1587 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1586 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1588 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1587 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1589 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1585, %1588 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1590 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1589, %1589 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1591 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1590 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1592 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1591 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1593 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1592 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1594 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1593 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1595 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1594 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1596 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1589, %1595 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1597 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1596, %cst_281 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1598 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1597, %cst_280 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1120 = tensor.collapse_shape %1598 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1599 = linalg.matmul ins(%collapsed_1120, %cst_279 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %1600 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1599, %cst_278 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_1121 = tensor.expand_shape %1600 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_1122 = tensor.extract_slice %expanded_1121[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1123 = tensor.extract_slice %expanded_1121[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1124 = tensor.extract_slice %expanded_1121[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_1125 = tensor.expand_shape %extracted_slice_1122 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1601 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1125 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1126 = tensor.expand_shape %extracted_slice_1123 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1602 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1126 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1127 = tensor.expand_shape %extracted_slice_1124 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1603 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1127 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1604 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1602 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %1605 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1601 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1606 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1604 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_1128 = tensor.collapse_shape %1605 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_1129 = tensor.collapse_shape %1606 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %1607 = linalg.batch_matmul ins(%collapsed_1128, %collapsed_1129 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_1130 = tensor.expand_shape %1607 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %1608 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1130, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1609 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %1608, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1610:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1609 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_1131 = tensor.expand_shape %1610#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %1611 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1609, %expanded_1131 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1612 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1611 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1613 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1612 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %1614 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1612, %1613 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1615 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1614 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1616 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1603 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_1132 = tensor.collapse_shape %1615 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_1133 = tensor.collapse_shape %1616 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %1617 = linalg.batch_matmul ins(%collapsed_1132, %collapsed_1133 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_1134 = tensor.expand_shape %1617 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %1618 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1134 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_1135 = tensor.collapse_shape %1618 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %1619 = linalg.matmul ins(%collapsed_1135, %cst_277 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1620 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1619, %cst_276 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1136 = tensor.expand_shape %1620 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1621 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1136, %1585 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1622 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1621 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1623 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1622 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1624 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1623 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1625 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1621, %1624 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1626 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1625, %1625 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1627 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1626 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1628 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1627 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1629 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1628 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1630 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1629 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1631 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1630 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1632 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1625, %1631 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1633 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1632, %cst_275 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1634 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1633, %cst_274 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1137 = tensor.collapse_shape %1634 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1635 = linalg.matmul ins(%collapsed_1137, %cst_273 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %1636 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1635, %cst_272 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_1138 = tensor.expand_shape %1636 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %1637 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1138, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1638 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1138, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1639 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1638, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1640 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1138, %1639 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1641 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1640, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1642 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1641 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1643 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1642, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1644 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1637, %1643 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_1139 = tensor.collapse_shape %1644 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %1645 = linalg.matmul ins(%collapsed_1139, %cst_271 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1646 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1645, %cst_270 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1140 = tensor.expand_shape %1646 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1647 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1621, %expanded_1140 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1648 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1647 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1649 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1648 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1650 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1649 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1651 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1647, %1650 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1652 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1651, %1651 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1653 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1652 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1654 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1653 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1655 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1654 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1656 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1655 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1657 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1656 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1658 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1651, %1657 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1659 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1658, %cst_269 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1660 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1659, %cst_268 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1141 = tensor.collapse_shape %1660 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1661 = linalg.matmul ins(%collapsed_1141, %cst_267 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %1662 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1661, %cst_266 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_1142 = tensor.expand_shape %1662 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_1143 = tensor.extract_slice %expanded_1142[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1144 = tensor.extract_slice %expanded_1142[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1145 = tensor.extract_slice %expanded_1142[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_1146 = tensor.expand_shape %extracted_slice_1143 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1663 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1146 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1147 = tensor.expand_shape %extracted_slice_1144 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1664 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1147 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1148 = tensor.expand_shape %extracted_slice_1145 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1665 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1148 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1666 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1664 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %1667 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1663 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1668 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1666 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_1149 = tensor.collapse_shape %1667 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_1150 = tensor.collapse_shape %1668 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %1669 = linalg.batch_matmul ins(%collapsed_1149, %collapsed_1150 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_1151 = tensor.expand_shape %1669 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %1670 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1151, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1671 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %1670, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1672:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1671 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_1152 = tensor.expand_shape %1672#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %1673 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1671, %expanded_1152 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1674 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1673 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1675 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1674 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %1676 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1674, %1675 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1677 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1676 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1678 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1665 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_1153 = tensor.collapse_shape %1677 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_1154 = tensor.collapse_shape %1678 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %1679 = linalg.batch_matmul ins(%collapsed_1153, %collapsed_1154 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_1155 = tensor.expand_shape %1679 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %1680 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1155 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_1156 = tensor.collapse_shape %1680 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %1681 = linalg.matmul ins(%collapsed_1156, %cst_265 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1682 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1681, %cst_264 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1157 = tensor.expand_shape %1682 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1683 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1157, %1647 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1684 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1683 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1685 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1684 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1686 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1685 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1687 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1683, %1686 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1688 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1687, %1687 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1689 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1688 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1690 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1689 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1691 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1690 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1692 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1691 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1693 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1692 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1694 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1687, %1693 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1695 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1694, %cst_263 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1696 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1695, %cst_262 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1158 = tensor.collapse_shape %1696 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1697 = linalg.matmul ins(%collapsed_1158, %cst_261 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %1698 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1697, %cst_260 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_1159 = tensor.expand_shape %1698 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %1699 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1159, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1700 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1159, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1701 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1700, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1702 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1159, %1701 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1703 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1702, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1704 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1703 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1705 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1704, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1706 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1699, %1705 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_1160 = tensor.collapse_shape %1706 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %1707 = linalg.matmul ins(%collapsed_1160, %cst_259 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1708 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1707, %cst_258 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1161 = tensor.expand_shape %1708 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1709 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1683, %expanded_1161 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1710 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1709 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1711 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1710 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1712 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1711 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1713 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1709, %1712 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1714 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1713, %1713 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1715 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1714 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1716 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1715 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1717 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1716 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1718 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1717 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1719 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1718 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1720 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1713, %1719 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1721 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1720, %cst_257 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1722 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1721, %cst_256 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1162 = tensor.collapse_shape %1722 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1723 = linalg.matmul ins(%collapsed_1162, %cst_255 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %1724 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1723, %cst_254 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_1163 = tensor.expand_shape %1724 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_1164 = tensor.extract_slice %expanded_1163[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1165 = tensor.extract_slice %expanded_1163[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1166 = tensor.extract_slice %expanded_1163[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_1167 = tensor.expand_shape %extracted_slice_1164 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1725 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1167 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1168 = tensor.expand_shape %extracted_slice_1165 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1726 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1168 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1169 = tensor.expand_shape %extracted_slice_1166 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1727 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1169 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1728 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1726 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %1729 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1725 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1730 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1728 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_1170 = tensor.collapse_shape %1729 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_1171 = tensor.collapse_shape %1730 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %1731 = linalg.batch_matmul ins(%collapsed_1170, %collapsed_1171 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_1172 = tensor.expand_shape %1731 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %1732 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1172, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1733 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %1732, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1734:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1733 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_1173 = tensor.expand_shape %1734#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %1735 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1733, %expanded_1173 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1736 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1735 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1737 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1736 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %1738 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1736, %1737 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1739 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1738 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1740 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1727 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_1174 = tensor.collapse_shape %1739 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_1175 = tensor.collapse_shape %1740 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %1741 = linalg.batch_matmul ins(%collapsed_1174, %collapsed_1175 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_1176 = tensor.expand_shape %1741 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %1742 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1176 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_1177 = tensor.collapse_shape %1742 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %1743 = linalg.matmul ins(%collapsed_1177, %cst_253 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1744 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1743, %cst_252 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1178 = tensor.expand_shape %1744 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1745 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1178, %1709 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1746 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1745 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1747 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1746 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1748 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1747 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1749 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1745, %1748 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1750 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1749, %1749 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1751 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1750 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1752 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1751 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1753 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1752 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1754 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1753 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1755 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1754 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1756 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1749, %1755 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1757 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1756, %cst_251 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1758 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1757, %cst_250 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1179 = tensor.collapse_shape %1758 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1759 = linalg.matmul ins(%collapsed_1179, %cst_249 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %1760 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1759, %cst_248 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_1180 = tensor.expand_shape %1760 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %1761 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1180, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1762 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1180, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1763 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1762, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1764 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1180, %1763 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1765 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1764, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1766 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1765 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1767 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1766, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1768 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1761, %1767 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_1181 = tensor.collapse_shape %1768 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %1769 = linalg.matmul ins(%collapsed_1181, %cst_247 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1770 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1769, %cst_246 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1182 = tensor.expand_shape %1770 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1771 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1745, %expanded_1182 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1772 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1771 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1773 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1772 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1774 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1773 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1775 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1771, %1774 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1776 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1775, %1775 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1777 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1776 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1778 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1777 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1779 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1778 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1780 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1779 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1781 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1780 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1782 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1775, %1781 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1783 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1782, %cst_245 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1784 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1783, %cst_244 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1183 = tensor.collapse_shape %1784 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1785 = linalg.matmul ins(%collapsed_1183, %cst_243 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %1786 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1785, %cst_242 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_1184 = tensor.expand_shape %1786 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_1185 = tensor.extract_slice %expanded_1184[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1186 = tensor.extract_slice %expanded_1184[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1187 = tensor.extract_slice %expanded_1184[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_1188 = tensor.expand_shape %extracted_slice_1185 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1787 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1188 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1189 = tensor.expand_shape %extracted_slice_1186 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1788 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1189 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1190 = tensor.expand_shape %extracted_slice_1187 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1789 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1190 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1790 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1788 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %1791 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1787 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1792 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1790 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_1191 = tensor.collapse_shape %1791 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_1192 = tensor.collapse_shape %1792 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %1793 = linalg.batch_matmul ins(%collapsed_1191, %collapsed_1192 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_1193 = tensor.expand_shape %1793 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %1794 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1193, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1795 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %1794, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1796:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1795 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_1194 = tensor.expand_shape %1796#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %1797 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1795, %expanded_1194 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1798 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1797 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1799 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1798 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %1800 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1798, %1799 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1801 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1800 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1802 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1789 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_1195 = tensor.collapse_shape %1801 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_1196 = tensor.collapse_shape %1802 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %1803 = linalg.batch_matmul ins(%collapsed_1195, %collapsed_1196 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_1197 = tensor.expand_shape %1803 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %1804 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1197 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_1198 = tensor.collapse_shape %1804 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %1805 = linalg.matmul ins(%collapsed_1198, %cst_241 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1806 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1805, %cst_240 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1199 = tensor.expand_shape %1806 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1807 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1199, %1771 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1808 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1807 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1809 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1808 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1810 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1809 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1811 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1807, %1810 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1812 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1811, %1811 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1813 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1812 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1814 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1813 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1815 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1814 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1816 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1815 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1817 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1816 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1818 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1811, %1817 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1819 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1818, %cst_239 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1820 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1819, %cst_238 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1200 = tensor.collapse_shape %1820 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1821 = linalg.matmul ins(%collapsed_1200, %cst_237 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %1822 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1821, %cst_236 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_1201 = tensor.expand_shape %1822 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %1823 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1201, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1824 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1201, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1825 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1824, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1826 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1201, %1825 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1827 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1826, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1828 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1827 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1829 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1828, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1830 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1823, %1829 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_1202 = tensor.collapse_shape %1830 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %1831 = linalg.matmul ins(%collapsed_1202, %cst_235 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1832 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1831, %cst_234 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1203 = tensor.expand_shape %1832 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1833 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1807, %expanded_1203 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1834 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1833 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1835 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1834 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1836 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1835 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1837 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1833, %1836 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1838 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1837, %1837 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1839 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1838 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1840 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1839 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1841 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1840 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1842 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1841 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1843 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1842 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1844 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1837, %1843 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1845 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1844, %cst_233 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1846 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1845, %cst_232 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1204 = tensor.collapse_shape %1846 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1847 = linalg.matmul ins(%collapsed_1204, %cst_231 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %1848 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1847, %cst_230 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_1205 = tensor.expand_shape %1848 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_1206 = tensor.extract_slice %expanded_1205[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1207 = tensor.extract_slice %expanded_1205[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1208 = tensor.extract_slice %expanded_1205[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_1209 = tensor.expand_shape %extracted_slice_1206 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1849 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1209 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1210 = tensor.expand_shape %extracted_slice_1207 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1850 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1210 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1211 = tensor.expand_shape %extracted_slice_1208 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1851 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1211 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1852 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1850 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %1853 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1849 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1854 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1852 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_1212 = tensor.collapse_shape %1853 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_1213 = tensor.collapse_shape %1854 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %1855 = linalg.batch_matmul ins(%collapsed_1212, %collapsed_1213 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_1214 = tensor.expand_shape %1855 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %1856 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1214, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1857 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %1856, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1858:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1857 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_1215 = tensor.expand_shape %1858#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %1859 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1857, %expanded_1215 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1860 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1859 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1861 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1860 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %1862 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1860, %1861 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1863 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1862 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1864 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1851 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_1216 = tensor.collapse_shape %1863 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_1217 = tensor.collapse_shape %1864 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %1865 = linalg.batch_matmul ins(%collapsed_1216, %collapsed_1217 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_1218 = tensor.expand_shape %1865 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %1866 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1218 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_1219 = tensor.collapse_shape %1866 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %1867 = linalg.matmul ins(%collapsed_1219, %cst_229 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1868 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1867, %cst_228 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1220 = tensor.expand_shape %1868 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1869 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1220, %1833 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1870 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1869 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1871 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1870 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1872 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1871 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1873 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1869, %1872 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1874 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1873, %1873 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1875 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1874 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1876 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1875 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1877 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1876 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1878 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1877 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1879 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1878 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1880 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1873, %1879 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1881 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1880, %cst_227 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1882 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1881, %cst_226 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1221 = tensor.collapse_shape %1882 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1883 = linalg.matmul ins(%collapsed_1221, %cst_225 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %1884 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1883, %cst_224 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_1222 = tensor.expand_shape %1884 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %1885 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1222, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1886 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1222, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1887 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1886, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1888 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1222, %1887 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1889 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1888, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1890 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1889 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1891 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1890, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1892 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1885, %1891 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_1223 = tensor.collapse_shape %1892 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %1893 = linalg.matmul ins(%collapsed_1223, %cst_223 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1894 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1893, %cst_222 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1224 = tensor.expand_shape %1894 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1895 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1869, %expanded_1224 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1896 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1895 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1897 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1896 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1898 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1897 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1899 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1895, %1898 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1900 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1899, %1899 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1901 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1900 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1902 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1901 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1903 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1902 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1904 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1903 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1905 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1904 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1906 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1899, %1905 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1907 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1906, %cst_221 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1908 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1907, %cst_220 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1225 = tensor.collapse_shape %1908 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1909 = linalg.matmul ins(%collapsed_1225, %cst_219 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %1910 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1909, %cst_218 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_1226 = tensor.expand_shape %1910 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_1227 = tensor.extract_slice %expanded_1226[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1228 = tensor.extract_slice %expanded_1226[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1229 = tensor.extract_slice %expanded_1226[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_1230 = tensor.expand_shape %extracted_slice_1227 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1911 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1230 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1231 = tensor.expand_shape %extracted_slice_1228 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1912 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1231 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1232 = tensor.expand_shape %extracted_slice_1229 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1913 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1232 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1914 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1912 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %1915 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1911 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1916 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1914 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_1233 = tensor.collapse_shape %1915 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_1234 = tensor.collapse_shape %1916 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %1917 = linalg.batch_matmul ins(%collapsed_1233, %collapsed_1234 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_1235 = tensor.expand_shape %1917 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %1918 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1235, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1919 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %1918, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1920:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1919 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_1236 = tensor.expand_shape %1920#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %1921 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1919, %expanded_1236 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1922 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1921 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1923 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1922 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %1924 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1922, %1923 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1925 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1924 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1926 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1913 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_1237 = tensor.collapse_shape %1925 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_1238 = tensor.collapse_shape %1926 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %1927 = linalg.batch_matmul ins(%collapsed_1237, %collapsed_1238 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_1239 = tensor.expand_shape %1927 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %1928 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1239 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_1240 = tensor.collapse_shape %1928 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %1929 = linalg.matmul ins(%collapsed_1240, %cst_217 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1930 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1929, %cst_216 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1241 = tensor.expand_shape %1930 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1931 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1241, %1895 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1932 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1931 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1933 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1932 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1934 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1933 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1935 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1931, %1934 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1936 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1935, %1935 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1937 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1936 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1938 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1937 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1939 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1938 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1940 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1939 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1941 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1940 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1942 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1935, %1941 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1943 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1942, %cst_215 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1944 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1943, %cst_214 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1242 = tensor.collapse_shape %1944 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1945 = linalg.matmul ins(%collapsed_1242, %cst_213 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %1946 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1945, %cst_212 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_1243 = tensor.expand_shape %1946 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %1947 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1243, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1948 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1243, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1949 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1948, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1950 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1243, %1949 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1951 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1950, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1952 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1951 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1953 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1952, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %1954 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1947, %1953 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_1244 = tensor.collapse_shape %1954 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %1955 = linalg.matmul ins(%collapsed_1244, %cst_211 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1956 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1955, %cst_210 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1245 = tensor.expand_shape %1956 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1957 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1931, %expanded_1245 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1958 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1957 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1959 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1958 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1960 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1959 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1961 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1957, %1960 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1962 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1961, %1961 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1963 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1962 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1964 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1963 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1965 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1964 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1966 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1965 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1967 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1966 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1968 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1961, %1967 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1969 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1968, %cst_209 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1970 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1969, %cst_208 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1246 = tensor.collapse_shape %1970 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %1971 = linalg.matmul ins(%collapsed_1246, %cst_207 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %1972 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1971, %cst_206 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_1247 = tensor.expand_shape %1972 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_1248 = tensor.extract_slice %expanded_1247[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1249 = tensor.extract_slice %expanded_1247[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1250 = tensor.extract_slice %expanded_1247[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_1251 = tensor.expand_shape %extracted_slice_1248 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1973 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1251 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1252 = tensor.expand_shape %extracted_slice_1249 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1974 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1252 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1253 = tensor.expand_shape %extracted_slice_1250 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %1975 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1253 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1976 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1974 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %1977 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1973 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %1978 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1976 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_1254 = tensor.collapse_shape %1977 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_1255 = tensor.collapse_shape %1978 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %1979 = linalg.batch_matmul ins(%collapsed_1254, %collapsed_1255 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_1256 = tensor.expand_shape %1979 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %1980 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1256, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1981 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %1980, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1982:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1981 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_1257 = tensor.expand_shape %1982#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %1983 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1981, %expanded_1257 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1984 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1983 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1985 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%1984 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %1986 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1984, %1985 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1987 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1986 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %1988 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%1975 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_1258 = tensor.collapse_shape %1987 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_1259 = tensor.collapse_shape %1988 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %1989 = linalg.batch_matmul ins(%collapsed_1258, %collapsed_1259 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_1260 = tensor.expand_shape %1989 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %1990 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1260 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_1261 = tensor.collapse_shape %1990 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %1991 = linalg.matmul ins(%collapsed_1261, %cst_205 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %1992 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%1991, %cst_204 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1262 = tensor.expand_shape %1992 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %1993 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1262, %1957 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1994 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1993 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1995 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1994 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %1996 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1995 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1997 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1993, %1996 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1998 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1997, %1997 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %1999 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%1998 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2000 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1999 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2001 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2000 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2002 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2001 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2003 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2002 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2004 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1997, %2003 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2005 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2004, %cst_203 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2006 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2005, %cst_202 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1263 = tensor.collapse_shape %2006 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %2007 = linalg.matmul ins(%collapsed_1263, %cst_201 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %2008 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2007, %cst_200 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_1264 = tensor.expand_shape %2008 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %2009 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1264, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2010 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1264, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2011 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2010, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2012 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1264, %2011 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2013 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2012, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2014 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2013 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2015 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2014, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2016 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2009, %2015 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_1265 = tensor.collapse_shape %2016 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %2017 = linalg.matmul ins(%collapsed_1265, %cst_199 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %2018 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2017, %cst_198 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1266 = tensor.expand_shape %2018 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %2019 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%1993, %expanded_1266 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2020 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2019 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2021 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2020 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2022 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2021 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2023 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2019, %2022 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2024 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2023, %2023 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2025 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2024 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2026 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2025 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2027 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2026 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2028 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2027 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2029 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2028 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2030 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2023, %2029 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2031 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2030, %cst_197 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2032 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2031, %cst_196 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1267 = tensor.collapse_shape %2032 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %2033 = linalg.matmul ins(%collapsed_1267, %cst_195 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %2034 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2033, %cst_194 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_1268 = tensor.expand_shape %2034 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_1269 = tensor.extract_slice %expanded_1268[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1270 = tensor.extract_slice %expanded_1268[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1271 = tensor.extract_slice %expanded_1268[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_1272 = tensor.expand_shape %extracted_slice_1269 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %2035 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1272 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1273 = tensor.expand_shape %extracted_slice_1270 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %2036 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1273 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1274 = tensor.expand_shape %extracted_slice_1271 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %2037 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1274 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %2038 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2036 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %2039 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2035 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %2040 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2038 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_1275 = tensor.collapse_shape %2039 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_1276 = tensor.collapse_shape %2040 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %2041 = linalg.batch_matmul ins(%collapsed_1275, %collapsed_1276 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_1277 = tensor.expand_shape %2041 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %2042 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1277, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2043 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %2042, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2044:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2043 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_1278 = tensor.expand_shape %2044#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %2045 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2043, %expanded_1278 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2046 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2045 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2047 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2046 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %2048 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2046, %2047 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2049 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2048 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2050 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2037 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_1279 = tensor.collapse_shape %2049 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_1280 = tensor.collapse_shape %2050 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %2051 = linalg.batch_matmul ins(%collapsed_1279, %collapsed_1280 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_1281 = tensor.expand_shape %2051 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %2052 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1281 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_1282 = tensor.collapse_shape %2052 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %2053 = linalg.matmul ins(%collapsed_1282, %cst_193 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %2054 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2053, %cst_192 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1283 = tensor.expand_shape %2054 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %2055 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1283, %2019 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2056 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2055 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2057 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2056 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2058 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2057 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2059 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2055, %2058 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2060 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2059, %2059 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2061 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2060 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2062 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2061 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2063 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2062 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2064 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2063 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2065 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2064 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2066 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2059, %2065 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2067 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2066, %cst_191 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2068 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2067, %cst_190 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1284 = tensor.collapse_shape %2068 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %2069 = linalg.matmul ins(%collapsed_1284, %cst_189 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %2070 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2069, %cst_188 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_1285 = tensor.expand_shape %2070 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %2071 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1285, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2072 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1285, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2073 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2072, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2074 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1285, %2073 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2075 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2074, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2076 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2075 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2077 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2076, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2078 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2071, %2077 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_1286 = tensor.collapse_shape %2078 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %2079 = linalg.matmul ins(%collapsed_1286, %cst_187 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %2080 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2079, %cst_186 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1287 = tensor.expand_shape %2080 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %2081 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2055, %expanded_1287 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2082 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2081 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2083 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2082 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2084 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2083 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2085 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2081, %2084 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2086 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2085, %2085 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2087 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2086 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2088 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2087 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2089 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2088 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2090 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2089 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2091 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2090 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2092 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2085, %2091 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2093 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2092, %cst_185 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2094 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2093, %cst_184 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1288 = tensor.collapse_shape %2094 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %2095 = linalg.matmul ins(%collapsed_1288, %cst_183 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %2096 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2095, %cst_182 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_1289 = tensor.expand_shape %2096 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_1290 = tensor.extract_slice %expanded_1289[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1291 = tensor.extract_slice %expanded_1289[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1292 = tensor.extract_slice %expanded_1289[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_1293 = tensor.expand_shape %extracted_slice_1290 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %2097 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1293 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1294 = tensor.expand_shape %extracted_slice_1291 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %2098 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1294 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1295 = tensor.expand_shape %extracted_slice_1292 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %2099 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1295 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %2100 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2098 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %2101 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2097 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %2102 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2100 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_1296 = tensor.collapse_shape %2101 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_1297 = tensor.collapse_shape %2102 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %2103 = linalg.batch_matmul ins(%collapsed_1296, %collapsed_1297 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_1298 = tensor.expand_shape %2103 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %2104 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1298, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2105 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %2104, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2106:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2105 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_1299 = tensor.expand_shape %2106#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %2107 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2105, %expanded_1299 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2108 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2107 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2109 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2108 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %2110 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2108, %2109 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2111 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2110 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2112 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2099 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_1300 = tensor.collapse_shape %2111 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_1301 = tensor.collapse_shape %2112 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %2113 = linalg.batch_matmul ins(%collapsed_1300, %collapsed_1301 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_1302 = tensor.expand_shape %2113 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %2114 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1302 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_1303 = tensor.collapse_shape %2114 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %2115 = linalg.matmul ins(%collapsed_1303, %cst_181 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %2116 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2115, %cst_180 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1304 = tensor.expand_shape %2116 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %2117 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1304, %2081 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2118 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2117 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2119 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2118 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2120 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2119 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2121 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2117, %2120 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2122 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2121, %2121 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2123 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2122 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2124 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2123 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2125 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2124 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2126 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2125 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2127 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2126 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2128 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2121, %2127 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2129 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2128, %cst_179 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2130 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2129, %cst_178 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1305 = tensor.collapse_shape %2130 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %2131 = linalg.matmul ins(%collapsed_1305, %cst_177 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %2132 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2131, %cst_176 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_1306 = tensor.expand_shape %2132 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %2133 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1306, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2134 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1306, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2135 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2134, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2136 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1306, %2135 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2137 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2136, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2138 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2137 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2139 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2138, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2140 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2133, %2139 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_1307 = tensor.collapse_shape %2140 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %2141 = linalg.matmul ins(%collapsed_1307, %cst_175 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %2142 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2141, %cst_174 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1308 = tensor.expand_shape %2142 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %2143 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2117, %expanded_1308 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2144 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2143 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2145 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2144 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2146 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2145 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2147 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2143, %2146 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2148 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2147, %2147 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2149 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2148 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2150 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2149 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2151 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2150 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2152 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2151 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2153 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2152 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2154 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2147, %2153 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2155 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2154, %cst_173 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2156 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2155, %cst_172 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1309 = tensor.collapse_shape %2156 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %2157 = linalg.matmul ins(%collapsed_1309, %cst_171 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %2158 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2157, %cst_170 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_1310 = tensor.expand_shape %2158 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_1311 = tensor.extract_slice %expanded_1310[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1312 = tensor.extract_slice %expanded_1310[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1313 = tensor.extract_slice %expanded_1310[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_1314 = tensor.expand_shape %extracted_slice_1311 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %2159 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1314 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1315 = tensor.expand_shape %extracted_slice_1312 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %2160 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1315 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1316 = tensor.expand_shape %extracted_slice_1313 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %2161 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1316 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %2162 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2160 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %2163 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2159 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %2164 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2162 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_1317 = tensor.collapse_shape %2163 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_1318 = tensor.collapse_shape %2164 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %2165 = linalg.batch_matmul ins(%collapsed_1317, %collapsed_1318 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_1319 = tensor.expand_shape %2165 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %2166 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1319, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2167 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %2166, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2168:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2167 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_1320 = tensor.expand_shape %2168#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %2169 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2167, %expanded_1320 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2170 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2169 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2171 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2170 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %2172 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2170, %2171 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2173 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2172 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2174 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2161 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_1321 = tensor.collapse_shape %2173 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_1322 = tensor.collapse_shape %2174 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %2175 = linalg.batch_matmul ins(%collapsed_1321, %collapsed_1322 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_1323 = tensor.expand_shape %2175 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %2176 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1323 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_1324 = tensor.collapse_shape %2176 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %2177 = linalg.matmul ins(%collapsed_1324, %cst_169 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %2178 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2177, %cst_168 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1325 = tensor.expand_shape %2178 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %2179 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1325, %2143 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2180 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2179 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2181 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2180 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2182 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2181 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2183 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2179, %2182 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2184 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2183, %2183 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2185 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2184 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2186 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2185 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2187 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2186 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2188 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2187 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2189 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2188 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2190 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2183, %2189 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2191 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2190, %cst_167 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2192 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2191, %cst_166 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1326 = tensor.collapse_shape %2192 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %2193 = linalg.matmul ins(%collapsed_1326, %cst_165 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %2194 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2193, %cst_164 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_1327 = tensor.expand_shape %2194 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %2195 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1327, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2196 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1327, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2197 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2196, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2198 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1327, %2197 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2199 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2198, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2200 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2199 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2201 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2200, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2202 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2195, %2201 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_1328 = tensor.collapse_shape %2202 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %2203 = linalg.matmul ins(%collapsed_1328, %cst_163 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %2204 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2203, %cst_162 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1329 = tensor.expand_shape %2204 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %2205 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2179, %expanded_1329 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2206 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2205 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2207 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2206 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2208 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2207 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2209 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2205, %2208 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2210 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2209, %2209 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2211 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2210 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2212 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2211 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2213 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2212 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2214 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2213 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2215 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2214 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2216 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2209, %2215 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2217 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2216, %cst_161 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2218 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2217, %cst_160 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1330 = tensor.collapse_shape %2218 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %2219 = linalg.matmul ins(%collapsed_1330, %cst_159 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %2220 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2219, %cst_158 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_1331 = tensor.expand_shape %2220 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_1332 = tensor.extract_slice %expanded_1331[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1333 = tensor.extract_slice %expanded_1331[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1334 = tensor.extract_slice %expanded_1331[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_1335 = tensor.expand_shape %extracted_slice_1332 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %2221 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1335 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1336 = tensor.expand_shape %extracted_slice_1333 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %2222 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1336 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1337 = tensor.expand_shape %extracted_slice_1334 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %2223 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1337 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %2224 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2222 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %2225 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2221 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %2226 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2224 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_1338 = tensor.collapse_shape %2225 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_1339 = tensor.collapse_shape %2226 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %2227 = linalg.batch_matmul ins(%collapsed_1338, %collapsed_1339 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_1340 = tensor.expand_shape %2227 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %2228 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1340, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2229 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %2228, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2230:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2229 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_1341 = tensor.expand_shape %2230#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %2231 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2229, %expanded_1341 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2232 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2231 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2233 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2232 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %2234 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2232, %2233 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2235 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2234 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2236 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2223 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_1342 = tensor.collapse_shape %2235 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_1343 = tensor.collapse_shape %2236 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %2237 = linalg.batch_matmul ins(%collapsed_1342, %collapsed_1343 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_1344 = tensor.expand_shape %2237 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %2238 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1344 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_1345 = tensor.collapse_shape %2238 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %2239 = linalg.matmul ins(%collapsed_1345, %cst_157 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %2240 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2239, %cst_156 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1346 = tensor.expand_shape %2240 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %2241 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1346, %2205 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2242 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2241 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2243 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2242 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2244 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2243 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2245 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2241, %2244 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2246 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2245, %2245 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2247 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2246 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2248 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2247 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2249 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2248 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2250 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2249 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2251 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2250 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2252 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2245, %2251 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2253 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2252, %cst_155 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2254 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2253, %cst_154 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1347 = tensor.collapse_shape %2254 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %2255 = linalg.matmul ins(%collapsed_1347, %cst_153 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %2256 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2255, %cst_152 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_1348 = tensor.expand_shape %2256 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %2257 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1348, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2258 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1348, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2259 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2258, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2260 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1348, %2259 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2261 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2260, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2262 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2261 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2263 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2262, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2264 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2257, %2263 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_1349 = tensor.collapse_shape %2264 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %2265 = linalg.matmul ins(%collapsed_1349, %cst_151 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %2266 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2265, %cst_150 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1350 = tensor.expand_shape %2266 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %2267 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2241, %expanded_1350 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2268 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2267 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2269 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2268 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2270 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2269 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2271 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2267, %2270 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2272 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2271, %2271 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2273 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2272 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2274 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2273 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2275 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2274 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2276 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2275 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2277 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2276 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2278 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2271, %2277 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2279 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2278, %cst_149 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2280 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2279, %cst_148 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1351 = tensor.collapse_shape %2280 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %2281 = linalg.matmul ins(%collapsed_1351, %cst_147 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %2282 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2281, %cst_146 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_1352 = tensor.expand_shape %2282 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_1353 = tensor.extract_slice %expanded_1352[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1354 = tensor.extract_slice %expanded_1352[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1355 = tensor.extract_slice %expanded_1352[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_1356 = tensor.expand_shape %extracted_slice_1353 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %2283 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1356 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1357 = tensor.expand_shape %extracted_slice_1354 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %2284 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1357 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1358 = tensor.expand_shape %extracted_slice_1355 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %2285 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1358 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %2286 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2284 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %2287 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2283 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %2288 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2286 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_1359 = tensor.collapse_shape %2287 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_1360 = tensor.collapse_shape %2288 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %2289 = linalg.batch_matmul ins(%collapsed_1359, %collapsed_1360 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_1361 = tensor.expand_shape %2289 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %2290 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1361, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2291 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %2290, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2292:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2291 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_1362 = tensor.expand_shape %2292#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %2293 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2291, %expanded_1362 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2294 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2293 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2295 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2294 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %2296 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2294, %2295 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2297 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2296 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2298 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2285 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_1363 = tensor.collapse_shape %2297 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_1364 = tensor.collapse_shape %2298 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %2299 = linalg.batch_matmul ins(%collapsed_1363, %collapsed_1364 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_1365 = tensor.expand_shape %2299 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %2300 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1365 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_1366 = tensor.collapse_shape %2300 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %2301 = linalg.matmul ins(%collapsed_1366, %cst_145 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %2302 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2301, %cst_144 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1367 = tensor.expand_shape %2302 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %2303 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1367, %2267 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2304 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2303 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2305 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2304 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2306 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2305 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2307 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2303, %2306 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2308 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2307, %2307 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2309 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2308 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2310 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2309 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2311 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2310 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2312 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2311 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2313 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2312 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2314 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2307, %2313 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2315 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2314, %cst_143 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2316 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2315, %cst_142 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1368 = tensor.collapse_shape %2316 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %2317 = linalg.matmul ins(%collapsed_1368, %cst_141 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %2318 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2317, %cst_140 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_1369 = tensor.expand_shape %2318 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %2319 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1369, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2320 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1369, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2321 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2320, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2322 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1369, %2321 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2323 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2322, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2324 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2323 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2325 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2324, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2326 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2319, %2325 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_1370 = tensor.collapse_shape %2326 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %2327 = linalg.matmul ins(%collapsed_1370, %cst_139 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %2328 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2327, %cst_138 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1371 = tensor.expand_shape %2328 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %2329 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2303, %expanded_1371 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2330 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2329 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2331 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2330 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2332 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2331 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2333 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2329, %2332 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2334 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2333, %2333 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2335 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2334 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2336 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2335 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2337 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2336 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2338 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2337 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2339 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2338 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2340 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2333, %2339 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2341 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2340, %cst_137 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2342 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2341, %cst_136 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1372 = tensor.collapse_shape %2342 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %2343 = linalg.matmul ins(%collapsed_1372, %cst_135 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %2344 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2343, %cst_134 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_1373 = tensor.expand_shape %2344 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_1374 = tensor.extract_slice %expanded_1373[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1375 = tensor.extract_slice %expanded_1373[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1376 = tensor.extract_slice %expanded_1373[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_1377 = tensor.expand_shape %extracted_slice_1374 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %2345 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1377 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1378 = tensor.expand_shape %extracted_slice_1375 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %2346 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1378 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1379 = tensor.expand_shape %extracted_slice_1376 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %2347 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1379 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %2348 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2346 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %2349 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2345 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %2350 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2348 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_1380 = tensor.collapse_shape %2349 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_1381 = tensor.collapse_shape %2350 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %2351 = linalg.batch_matmul ins(%collapsed_1380, %collapsed_1381 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_1382 = tensor.expand_shape %2351 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %2352 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1382, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2353 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %2352, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2354:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2353 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_1383 = tensor.expand_shape %2354#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %2355 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2353, %expanded_1383 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2356 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2355 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2357 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2356 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %2358 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2356, %2357 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2359 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2358 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2360 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2347 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_1384 = tensor.collapse_shape %2359 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_1385 = tensor.collapse_shape %2360 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %2361 = linalg.batch_matmul ins(%collapsed_1384, %collapsed_1385 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_1386 = tensor.expand_shape %2361 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %2362 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1386 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_1387 = tensor.collapse_shape %2362 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %2363 = linalg.matmul ins(%collapsed_1387, %cst_133 : tensor<7x1600xf32>, tensor<1600x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %2364 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2363, %cst_132 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1388 = tensor.expand_shape %2364 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %2365 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1388, %2329 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2366 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2365 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2367 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2366 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2368 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2367 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2369 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2365, %2368 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2370 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2369, %2369 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2371 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2370 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2372 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2371 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2373 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2372 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2374 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2373 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2375 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2374 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2376 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2369, %2375 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2377 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2376, %cst_131 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2378 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2377, %cst_130 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1389 = tensor.collapse_shape %2378 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %2379 = linalg.matmul ins(%collapsed_1389, %cst_129 : tensor<7x1600xf32>, tensor<1600x6400xf32>) outs(%83 : tensor<7x6400xf32>) -> tensor<7x6400xf32> | |
| %2380 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2379, %cst_128 : tensor<7x6400xf32>, tensor<6400xf32>) outs(%82 : tensor<7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x6400xf32> | |
| %expanded_1390 = tensor.expand_shape %2380 [[0, 1], [2]] : tensor<7x6400xf32> into tensor<1x7x6400xf32> | |
| %2381 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1390, %cst_586 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2382 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1390, %cst_589 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = math.powf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2383 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2382, %cst_590 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2384 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%expanded_1390, %2383 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2385 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2384, %cst_591 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2386 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2385 : tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.tanh %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2387 = linalg.generic {indexing_maps = [#map3, #map19, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2386, %cst_592 : tensor<1x7x6400xf32>, tensor<f32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %2388 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2381, %2387 : tensor<1x7x6400xf32>, tensor<1x7x6400xf32>) outs(%86 : tensor<1x7x6400xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x6400xf32> | |
| %collapsed_1391 = tensor.collapse_shape %2388 [[0, 1], [2]] : tensor<1x7x6400xf32> into tensor<7x6400xf32> | |
| %2389 = linalg.matmul ins(%collapsed_1391, %cst_127 : tensor<7x6400xf32>, tensor<6400x1600xf32>) outs(%65 : tensor<7x1600xf32>) -> tensor<7x1600xf32> | |
| %2390 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2389, %cst_126 : tensor<7x1600xf32>, tensor<1600xf32>) outs(%5 : tensor<7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x1600xf32> | |
| %expanded_1392 = tensor.expand_shape %2390 [[0, 1], [2]] : tensor<7x1600xf32> into tensor<1x7x1600xf32> | |
| %2391 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2365, %expanded_1392 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2392 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2391 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2393 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2392 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2394 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2393 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2395 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2391, %2394 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2396 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2395, %2395 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2397 = linalg.generic {indexing_maps = [#map4, #map5], iterator_types = ["parallel", "parallel", "reduction"]} ins(%2396 : tensor<1x7x1600xf32>) outs(%11 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2398 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2397 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.divf %in, %cst_2 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2399 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2398 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %cst_3 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2400 = linalg.generic {indexing_maps = [#map6, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2399 : tensor<1x7x1xf32>) outs(%10 : tensor<1x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.rsqrt %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1xf32> | |
| %2401 = linalg.generic {indexing_maps = [#map5, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2400 : tensor<1x7x1xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2402 = linalg.generic {indexing_maps = [#map3, #map3, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2395, %2401 : tensor<1x7x1600xf32>, tensor<1x7x1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2403 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2402, %cst_125 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.mulf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %2404 = linalg.generic {indexing_maps = [#map3, #map7, #map4], iterator_types = ["parallel", "parallel", "parallel"]} ins(%2403, %cst_124 : tensor<1x7x1600xf32>, tensor<1600xf32>) outs(%8 : tensor<1x7x1600xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x7x1600xf32> | |
| %collapsed_1393 = tensor.collapse_shape %2404 [[0, 1], [2]] : tensor<1x7x1600xf32> into tensor<7x1600xf32> | |
| %2405 = linalg.matmul ins(%collapsed_1393, %cst_123 : tensor<7x1600xf32>, tensor<1600x4800xf32>) outs(%26 : tensor<7x4800xf32>) -> tensor<7x4800xf32> | |
| %2406 = linalg.generic {indexing_maps = [#map1, #map8, #map1], iterator_types = ["parallel", "parallel"]} ins(%2405, %cst_122 : tensor<7x4800xf32>, tensor<4800xf32>) outs(%25 : tensor<7x4800xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.addf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<7x4800xf32> | |
| %expanded_1394 = tensor.expand_shape %2406 [[0, 1], [2]] : tensor<7x4800xf32> into tensor<1x7x4800xf32> | |
| %extracted_slice_1395 = tensor.extract_slice %expanded_1394[0, 0, 0] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1396 = tensor.extract_slice %expanded_1394[0, 0, 1600] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %extracted_slice_1397 = tensor.extract_slice %expanded_1394[0, 0, 3200] [1, 7, 1600] [1, 1, 1] : tensor<1x7x4800xf32> to tensor<1x7x1600xf32> | |
| %expanded_1398 = tensor.expand_shape %extracted_slice_1395 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %2407 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1398 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1399 = tensor.expand_shape %extracted_slice_1396 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %2408 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1399 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %expanded_1400 = tensor.expand_shape %extracted_slice_1397 [[0], [1], [2, 3]] : tensor<1x7x1600xf32> into tensor<1x7x25x64xf32> | |
| %2409 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1400 : tensor<1x7x25x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %2410 = linalg.generic {indexing_maps = [#map9, #map11], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2408 : tensor<1x25x7x64xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %2411 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2407 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %2412 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2410 : tensor<1x25x64x7xf32>) outs(%33 : tensor<1x25x64x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x64x7xf32> | |
| %collapsed_1401 = tensor.collapse_shape %2411 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %collapsed_1402 = tensor.collapse_shape %2412 [[0, 1], [2], [3]] : tensor<1x25x64x7xf32> into tensor<25x64x7xf32> | |
| %2413 = linalg.batch_matmul ins(%collapsed_1401, %collapsed_1402 : tensor<25x7x64xf32>, tensor<25x64x7xf32>) outs(%38 : tensor<25x7x7xf32>) -> tensor<25x7x7xf32> | |
| %expanded_1403 = tensor.expand_shape %2413 [[0, 1], [2], [3]] : tensor<25x7x7xf32> into tensor<1x25x7x7xf32> | |
| %2414 = linalg.generic {indexing_maps = [#map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1403, %43 : tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2415 = linalg.generic {indexing_maps = [#map15, #map12, #map14, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%cst_587, %2414, %cst_588 : tensor<1x1x7x7xi1>, tensor<1x25x7x7xf32>, tensor<f32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: i1, %in_1603: f32, %in_1604: f32, %out: f32): | |
| %3031 = arith.select %in, %in_1603, %in_1604 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2416:2 = linalg.generic {indexing_maps = [#map9, #map16, #map16], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2415 : tensor<1x25x7x7xf32>) outs(%50, %48 : tensor<1x25x7xf32>, tensor<1x25x7xi64>) { | |
| ^bb0(%in: f32, %out: f32, %out_1603: i64): | |
| %3031 = linalg.index 3 : index | |
| %3032 = arith.index_cast %3031 : index to i64 | |
| %3033 = arith.maximumf %in, %out : f32 | |
| %3034 = arith.cmpf ogt, %in, %out : f32 | |
| %3035 = arith.select %3034, %3032, %out_1603 : i64 | |
| linalg.yield %3033, %3035 : f32, i64 | |
| } -> (tensor<1x25x7xf32>, tensor<1x25x7xi64>) | |
| %expanded_1404 = tensor.expand_shape %2416#0 [[0], [1], [2, 3]] : tensor<1x25x7xf32> into tensor<1x25x7x1xf32> | |
| %2417 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2415, %expanded_1404 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.subf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2418 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2417 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = math.exp %in : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2419 = linalg.generic {indexing_maps = [#map9, #map18], iterator_types = ["parallel", "parallel", "parallel", "reduction"]} ins(%2418 : tensor<1x25x7x7xf32>) outs(%55 : tensor<1x25x7x1xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| %3031 = arith.addf %in, %out : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x1xf32> | |
| %2420 = linalg.generic {indexing_maps = [#map12, #map17, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2418, %2419 : tensor<1x25x7x7xf32>, tensor<1x25x7x1xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %in_1603: f32, %out: f32): | |
| %3031 = arith.divf %in, %in_1603 : f32 | |
| linalg.yield %3031 : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2421 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2420 : tensor<1x25x7x7xf32>) outs(%44 : tensor<1x25x7x7xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x7xf32> | |
| %2422 = linalg.generic {indexing_maps = [#map12, #map9], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%2409 : tensor<1x25x7x64xf32>) outs(%29 : tensor<1x25x7x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x25x7x64xf32> | |
| %collapsed_1405 = tensor.collapse_shape %2421 [[0, 1], [2], [3]] : tensor<1x25x7x7xf32> into tensor<25x7x7xf32> | |
| %collapsed_1406 = tensor.collapse_shape %2422 [[0, 1], [2], [3]] : tensor<1x25x7x64xf32> into tensor<25x7x64xf32> | |
| %2423 = linalg.batch_matmul ins(%collapsed_1405, %collapsed_1406 : tensor<25x7x7xf32>, tensor<25x7x64xf32>) outs(%61 : tensor<25x7x64xf32>) -> tensor<25x7x64xf32> | |
| %expanded_1407 = tensor.expand_shape %2423 [[0, 1], [2], [3]] : tensor<25x7x64xf32> into tensor<1x25x7x64xf32> | |
| %2424 = linalg.generic {indexing_maps = [#map9, #map10], iterator_types = ["parallel", "parallel", "parallel", "parallel"]} ins(%expanded_1407 : tensor<1x25x7x64xf32>) outs(%63 : tensor<1x7x25x64xf32>) { | |
| ^bb0(%in: f32, %out: f32): | |
| linalg.yield %in : f32 | |
| } -> tensor<1x7x25x64xf32> | |
| %collapsed_1408 = tensor.collapse_shape %2424 [[0, 1], [2, 3]] : tensor<1x7x25x64xf32> into tensor<7x1600xf32> | |
| %2425 = linalg.matmul ins(%collapsed_1408, %c |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment